V210: Difference between revisions
No edit summary |
mNo edit summary |
||
Line 23: | Line 23: | ||
Unused parts of a partial (i.e. last) block do not seem to contain any specific value. | Unused parts of a partial (i.e. last) block do not seem to contain any specific value. | ||
FFmpeg does not support this format since there is no support for any 10-bit per component pixel formats. | |||
Patches that simply discard the two least significant bits are referenced [http://wiki.multimedia.cx/index.php?title=Interesting_Patches#v210_decoder_patches here] |
Revision as of 11:34, 17 February 2009
The v210 format is a packed YUV 4:2:2 (UYVY) format with 10 bits per component.
Data is stored in blocks of 32 bit values in little-endian.
Each such block contains 3 components, one each in bits 0 - 9, 10 - 20 and 20 - 30, the remaining two bits are unused.
Since UYVY consists of 4 components that represent two pixels, which of those bits correspond to which component makes a pattern that repeats every 4 32-bit blocks:
block 1, bits 0 - 9: U block 1, bits 10 - 20: Y block 1, bits 20 - 30: V block 2, bits 0 - 9: Y block 2, bits 10 - 20: U block 2, bits 20 - 30: Y block 3, bits 0 - 9: V block 3, bits 10 - 20: Y block 3, bits 20 - 30: U block 4, bits 0 - 9: Y block 4, bits 10 - 20: V block 4, bits 20 - 30: Y
In addition the start of each line is aligned to a multiple of 64 (or possible 128) bytes, where unused blocks are padded with 0.
Unused parts of a partial (i.e. last) block do not seem to contain any specific value.
FFmpeg does not support this format since there is no support for any 10-bit per component pixel formats. Patches that simply discard the two least significant bits are referenced here