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

Mats Peterson matsp888 at yahoo.com
Sat Mar 12 12:34:00 CET 2016


Mats Peterson <matsp888-at-yahoo.com at ffmpeg.org> skrev: (12 mars 2016 12:30:28 CET)
>Mats Peterson <matsp888-at-yahoo.com at ffmpeg.org> skrev: (12 mars 2016
>12:25:30 CET)
>>Mats Peterson <matsp888-at-yahoo.com at ffmpeg.org> skrev: (12 mars 2016
>>12:14:03 CET)
>>>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
>>>
>>>_______________________________________________
>>>ffmpeg-devel mailing list
>>>ffmpeg-devel at ffmpeg.org
>>>http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>>Perhaps you can use my latest 2-part patch set that includes asv1 and
>>asv2 in the "exception list", but thaf's it. No more entries should
>>ever need to be added to this list.
>>
>>Mats
>>-- 
>>Mats Peterson
>>http://matsp888.no-ip.org/~mats/
>>_______________________________________________
>>ffmpeg-devel mailing list
>>ffmpeg-devel at ffmpeg.org
>>http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>In fact, it's wrong to include asv1 and asv2, since there are no specs
>available. You decide. I'll stop now.
>-- 
>Mats Peterson
>http://matsp888.no-ip.org/~mats/
>_______________________________________________
>ffmpeg-devel mailing list
>ffmpeg-devel at ffmpeg.org
>http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Well, the only specs I can find are the ones written by you, and they mention the global header, but no custom BITMAPINFOHEADER. Hence, biSize should be 40.

Mats
-- 
Mats Peterson
http://matsp888.no-ip.org/~mats/


More information about the ffmpeg-devel mailing list