On 03/11/2016 03:13 PM, Mats Peterson wrote:
Michael Niedermayer <mich...@niedermayer.cc> skrev: (11 mars 2016 15:05:49 CET)
On Fri, Mar 11, 2016 at 02:12:56PM +0100, Mats Peterson wrote:
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.

we didnt invent ASUS video 1 and 2 nor huffyuv

which codec with a non-palette global header puts 40 there ?

the ms specs just says the color table & mask isnt part of biSize
it doesnt say the global header isnt, or iam looking at the wrong text
or location in the text/spec

[...]

Again, only one I know of is HuffYUV, and the specs define a custom BITMAPINFOHEADER that 
includes the Huffman tables. The "global data" in ASUS is only 8 bytes. Do they 
regard the BITMAPINFOHEADER as being part of this global data as well? And should we? A 
BITMAPINFOHEADER is a BITMAPINFOHEADER is a BITMAPINFOHEADER...

Mats


Do you have a sample file with asv1/asv2 *created by ASUS* where biSize isn't 40?

Mts

--
Mats Peterson
http://matsp888.no-ip.org/~mats/
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to