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

Mats Peterson matsp888 at yahoo.com
Sat Mar 12 12:14:03 CET 2016


On 03/12/2016 12:08 PM, Mats Peterson wrote:
> 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.
>

If the authors of future specs should happen to think that biSize should 
be anything else than 40, we'd better tell them the facts.

Mats



More information about the ffmpeg-devel mailing list