Mats Peterson <matsp888-at-yahoo....@ffmpeg.org> skrev: (11 mars 2016 14:06:19 CET) >Mats Peterson <matsp888-at-yahoo....@ffmpeg.org> skrev: (11 mars 2016 >13:55:20 CET) >>Michael Niedermayer <mich...@niedermayer.cc> skrev: (11 mars 2016 >>13:49:32 CET) >>>On Fri, Mar 11, 2016 at 01:28:47PM +0100, Mats Peterson wrote: >>>> On 03/11/2016 01:25 PM, Mats Peterson wrote: >>>> >On 03/11/2016 01:14 PM, Michael Niedermayer wrote: >>>> >>On Fri, Mar 11, 2016 at 05:17:18AM +0100, Mats Peterson wrote: >>>> >>>On 03/11/2016 05:10 AM, Mats Peterson wrote: >>>> >>>>Forget patch 2/3 and 3/3 from the old patch set. >>>> >>>> >>>> >>>> From the Microsoft documentation for BITMAPINFOHEADER at >>>> >>>>>>>https://msdn.microsoft.com/en-us/library/windows/desktop/dd318229%28v=vs.85%29.aspx: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>"biSize: Specifies the number of bytes required by the >>structure. >>>This >>>> >>>>value does not include the size of the color table or the size >>of >>>the >>>> >>>>color masks, if they are appended to the end of structure." >>>> >>>> >>>> >>>>So, biSize is always 40. Also, Windows Media Player won't >detect >>>video >>>> >>>>encoded with Microsoft Video 1 in 8 bpp mode if this value is >>>anything >>>> >>>>else than 40. I don't know about other codecs, they probably >>>work. >>>> >>>>Anyway, we should stick with the specs, and not include the >>>palette >>>> >>>>size >>>> >>>>in that field. >>>> >>>> >>>> >>>>Regarding the biClrUsed field, I'm setting it to 1 << >>>> >>>>bits_per_coded_sample if palettized video, since setting it to >0 >>>is >>>> >>>>another case where it won't work with Windows Media Player and >>>> >>>>Microsoft >>>> >>>>Video 1 in 8 bpp mode. >>>> >>>> >>>> >>>>Mats >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>>> >>>Once, again, HuffYUV has its own variant of BITMAPINFOHEADER >that >>>> >>>*does* include the size of the Huffman tables in biSize. That's >>>the >>>> >>>only exception as far as I know. >>>> >> >>>> >>is huffyuv really the exception ? and not raw rgb or palettes ? >>>> >> >>>> >>asv1 and asv2 do not have 40 there >>> >>>> >>which codec with a non-palette global header puts 40 there ? >>> >>>[...] >>> >>>> As I said before, Microsoft Video 1 in 8-bit mode and RLE4/RLE8 >>>> won't even display in Windows Media Player if this value is >anything >>>> else than 40. >>> >>>msv1 / RLE4/8 doesnt have a "Non palette global header" >>> >>> >>>[...] >> >>That's correct. Sorry. Anyway, the only case I know of is HuffYUV with >>its special variant of BITMAPINFOHEADER that includes the Huffman >>tables. Is there stated anywhere in the ASUS specs that the size of >the >>extra data following the BITMAPINFOHEADER should be included in >biSize? >>If not, it should be 40. >> >>Mats >>-- >>Mats Peterson >>http://matsp888.no-ip.org/~mats/ >>_______________________________________________ >>ffmpeg-devel mailing list >>ffmpeg-devel@ffmpeg.org >>http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >Those asv1/asv2 files play just fine with a biSize of 40, at that. > >Mats >-- >Mats Peterson >http://matsp888.no-ip.org/~mats/ >_______________________________________________ >ffmpeg-devel mailing list >ffmpeg-devel@ffmpeg.org >http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Should we perhaps "tighten" the "specs" (I saw that you have written some documentation on asv1/asv2 in FFmpeg), and include those extra bytes in biSize? I suppose this is somewhat of a proprietary FFmpeg invention. Mats -- Mats Peterson http://matsp888.no-ip.org/~mats/ _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel