Now I've made sure two things(fairly new GPU card):
1) my computer supports nonpower textures
2) my computer supports UYVY textures
3) the data and width/height is correct(frame). I've verified it with many different ways. For example, doing the conversion manually into RGB32 and using that as texture, it works.
Bottom line is;
my GPU can't handle UYVY textures sometimes.
For example, some video resolutions work fine, such as:
720x528 or something..
On other video resolutions, the texture output is completely gibberish. It's just a bunch of messy stuff and reminds me zigzag lines.
Are there some limitations I am not aware of? Or has anyone dealt with this?
On another note, I am using Direct3D9, can anyone suggest me some keywords to google around so I could upload YUV data into shader and then take over the "sampling" process & converting it into RGB process?
As far I've searched;
you can have only one texture active at shader stage, with DX9, so it means I have to upload all the YUV data into texture at once.
So, for example UYVY frame will take width*height + width*height/2 + width*height/2 pixels, and I am not sure if GPUS even support so big textures ?! when talking about fullHD movies.
I am also not sure how should I do the sampling myself.
Edited by Chr1sen, 31 December 2012 - 05:13 PM.