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

Mats Peterson matsp888 at yahoo.com
Fri Mar 11 10:44:24 CET 2016


On 03/11/2016 10:07 AM, Mats Peterson wrote:
> Hendrik Leppkes <h.leppkes at gmail.com> skrev: (11 mars 2016 09:18:43 CET)
>> On Fri, Mar 11, 2016 at 5:10 AM, Mats Peterson
>> <matsp888-at-yahoo.com at ffmpeg.org> wrote:
>>>
>>> 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.
>>>
>>
>> This is not "spec compliance" then, because the spec specifically says
>> that when its 0, it should be assumed equal to 2^biBitCount, which is
>> the same value you are explicitly writing now.
>> Its a redundant value to work around the inability of some players,
>> not spec compliance - the existing value is perfectly compliant.
>> Please clarify as much in any potential commit message.
>>
>> - Hendrik
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> I know all that, Hendrik, but the fact is Windows Media Player will not interpret 0 as 256 either for Microsoft Video 1 (CRAM) or RLE4/8. And the way I interpret the specs is that using 0 is only relevant to raw, uncompressed video.
>
> Mats
>

Correction: Windows Media Player *does* interpret 0 as 1 << bits per 
sample, but using 0 will fail when there are 'xxpc' palette change 
chunks in the file, for some reason. We might as well use 1 << bits per 
sample in that field for palettized video to make it fool-proof.

Mats

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


More information about the ffmpeg-devel mailing list