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

Michael Niedermayer michael at niedermayer.cc
Sat Mar 12 13:36:09 CET 2016


On Sat, Mar 12, 2016 at 12:34:00PM +0100, Mats Peterson wrote:
> 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.

updated my "specs" but these are just based on observation/reverse
engeneering so not really true specs

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

No great genius has ever existed without some touch of madness. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160312/d32126fc/attachment.sig>


More information about the ffmpeg-devel mailing list