YLC
Jump to navigation
Jump to search
- Website: http://spring-fragrance.mints.ne.jp/aviutl/ (Japanese)
- FourCC: YLC0
- Sample: http://samples.libav.org/V-codecs/ylc0.avi
The website names it as "YUY2 Lossless Codec".
Format
bytes 0- 3 'YLC0' bytes 4- 7 zero bytes 8-11 offset to luma plane (should be 16) bytes 12-15 offset to chroma plane
Bitstream is read as 32-bit little-endian words MSB.
Luma plane contains residues stored as exp-Golomb codes (unary-coded exponent + N bits of mantiss).
Chroma plane contains chroma values coded in groups and uses static Huffman trees:
if (get_bit()) { val = decode_sym(tree1); if (val < 0xE1) { output chroma_table[val]; } else { for (i = 0; i < (val - 0xDF); i++) output {0, 0, 0, 0} } } else { u0 = decode_sym(tree2); v0 = decode_sym(tree3); u1 = decode_sym(tree2); v1 = decode_sym(tree4); output { u0, v0, u0 + u1, v1 } }
Looks like for luma plane median prediction is used and for chroma only left prediction is used.