This is a pretty old question, however, I just finished some work on decoding YUV, and I would like to share some information. There are 3 main aspects of the YUV scheme: 1 - if the source YUV buffer is a packed or flat buffer. Packed means that the YUV bits are grouped horizontally, flat - the buffers Y, U and V are divided in 3 different memory areas. 2 - channel size YUV; one channel Y, U, V can be 8-bit, 10-bit, 12-bit, etc. 3 - sampling ratio; A: B: C. 4: 2: 2 means that you have a horizontal value of 1 Y for each pixel, and only one value of U and V, shared between two pixels at the bottom of the screen.
I just worked on decoding YUV 4: 2: 2 v210, following this link , there is GLSL source code for decoding, and the resources I talked about. Any advice is appreciated, this is my first decoder.
Mouze
source share