On 03/11/2016 01:28 PM, 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 ?
[...]
biSize should only be the size of the very BITMAPINFOHEADER, not
including the palette or extra data. HuffYUV has its own
BITMAPINFOHEADER, once again.
Mats
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.
Mats
For the record, I submitted a patch for MKVToolnix regarding this issue
in the past. It incorrectly included the palette size in biSize as well.
Mats
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel