[FFmpeg-devel] [PATCH 1/2] lavf/avienc: Simplify palette handling

Mats Peterson matsp888 at yahoo.com
Sat Feb 27 16:07:13 CET 2016


On 02/27/2016 04:00 PM, Reimar Döffinger wrote:
> On Sat, Feb 27, 2016 at 03:57:06PM +0100, Mats Peterson wrote:
>> On 02/27/2016 03:37 PM, Mats Peterson wrote:
>>>
>>>
>>>
>>> _______________________________________________
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel at ffmpeg.org
>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>
>>
>> I suppose this is what you mean, Reimar. Treating the palette, if a packet
>> contains one at the end of the video data, as being AVPALETTE_SIZE bytes
>> exclusively.
>
> Well, actually not really.
> If the palette is part of input frame it should be sent as side
> data.
> I am not sure where this variant comes from.
> It might be that it should just be written as is.
> Or even if the palette needs to be split it might be
> necessary to auto-detect the palette size via
> packet size - (width*height*bits per pixel)/8.
> But as said, I am fairly unclear on what case that
> code is supposed to handle.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

I agree that it should be stored in a side data packet myself normally, 
and that this is a somewhat weird construction. It probably has to do 
with the nut format originally, which stores raw palettized data after 
the video data in the packets. Anyway, I have accepted the facts. For 
the record, the new ff_reshuffle_raw_rgb() function written by Michael 
in lavf/rawutils.c that aligns strides properly for AVI and QuickTime, 
will set a CONTAINS_PAL flag if the packet size is larger than the 
actual video data. He has hardcoded the palette size to 1024 bytes in 
that file.

Mats

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


More information about the ffmpeg-devel mailing list