[FFmpeg-devel] [PATCH 1/3] lavf/riffenc: Improve spec compliance

Mats Peterson matsp888 at yahoo.com
Sat Mar 12 12:08:27 CET 2016


On 03/12/2016 11:53 AM, Mats Peterson wrote:
> On 03/12/2016 11:48 AM, Mats Peterson wrote:
>> On 03/12/2016 11:43 AM, Mats Peterson wrote:
>>>>>>> why do you think they are written by libavformat ?
>>>>>>>
>>>>>>> i see:
>>>>>>> "C:\PROGRAM FILES\ASUS\ASUS LIVE\ASUSLIVE.EXE -AVICAP32- ASUS Video
>>>>>>> Capture Driver, Version:  3.8.2.2"
>>>>>>>
>>>>>>> in asv2_320x240_3.avi
>>>>>>>
>>>>>>>
>>>
>>> Regarding asv1/asv2, they do use 48 in biSize, but since there is no
>>> official documentation for these codecs that explicitly mentions that
>>> biSize should be 48 (which breaks the specs), it's plain wrong to use
>>> anything else than 40.
>>>
>>
>> Furthermore, any "global headers" in *any* codec have nothing to do with
>> the BITMAPINFOHEADER. They aren't connected in any way. The size of the
>> BITMAPINFOHEADER is 40, so biSize should always be 40, since it defines
>> the size of the BITMAPINFOHEADER, not the size of the BITMAPINFOHEADER +
>> extra data.
>>
>> Mats
>>
>
> If it wasn't for the braindead specification of HuffYUV with its own
> BITMAPINFOHEADER variant, this would be a piece of cake. Always use 40
> in biSize.
>
> Mats
>
> _______________________________________________

I vote for using huffyuv and ffvhuff (since it's a variant of huffyuv) 
as the only exceptions to using 40 bytes in biSize, regardless of any 
non-conformant existing or future stuff.

Mats



More information about the ffmpeg-devel mailing list