[FFmpeg-devel] [PATCH]v308 and yuv4 encoders and decoders

Derek Buitenhuis derek.buitenhuis at gmail.com
Fri Dec 30 18:59:11 CET 2011


On 29/12/2011 8:31 PM, Carl Eugen Hoyos wrote:
>> This should be added as:
>>
>> CODEC_ID_V308,
>> CODEC_ID_YUV4,
>>
>> directly above:
>>
>> CODEC_ID_UTVIDEO = 0x800,
> I may be completely misunderstanding this, but I believe this is impossible.

It's entirely possible. In fact, I was specifically told to do this
when i submitted my VBLE and v410 files. :)



>> Given that 4:2:0 must always have an even width, I'm not sure what the
>> + 1 accomplishes?
> With the correct "6*", it makes sure no overreads happen below.

[...]

> Afaict, this is needed to correctly decode samples with odd width.

>>> +            u[j] = *src++ ^ 0x80;
>>> +            v[j] = *src++ ^ 0x80;
>> Where does the xor with 0x80 come from?
> Copied from raw_decode() in libavcodec/rawdec.c
>
>> Something to do with signed-ness?
> No idea.

The 0x80 in rawdec.c is to do with signed chroma. I don't see any
evidence anywhere that yuv4 has anything but unsigned chroma values...

I'm not sure it's needed.

- Derek



More information about the ffmpeg-devel mailing list