[FFmpeg-devel] [PATCH] libavcodec/zmbvenc: Add support for RGB formats

Carl Eugen Hoyos ceffmpeg at gmail.com
Fri Mar 8 20:07:29 EET 2019


2019-03-08 15:04 GMT+01:00, Tomas Härdin <tjoppen at acc.umu.se>:
> tor 2019-03-07 klockan 14:42 +0000 skrev Matthew Fearnley:
>> This consists mostly of the following changes:
>> - add newly supported pixel formats (RGB555LE, RGB565LE, BGR0)
>> - select the ZMBV format (c->fmt) and bytes per pixel (c->bypp) based on
>>   avctx->pix_fmt
>> - multiply widths/x-values by c->bypp, in places where bytes, not pixels,
>> are
>>   expected
>> - disable palette-writing code for non-palette pix_fmts
>> - make a note about histogram[]'s datatype (it could need increasing if
>>   ZMBV_BLOCK is increased)
>> - adjust the c->score_tab length to take up to (and including) 4 times the
>>   number of pixels in a block
>> - initialise c->score_tab up to c->bypp * the number of pixels
>>
>> Note: the ZmbvFormat enum allows for additional bit depths:
>> - 1,2,4-bit (palette)
>> - 24-bit (RGB)
>>
>> At time of writing the specifics of these (e.g. channel order, bit
>> alignment)
>> are not currently defined, and DOSBox only implements support for
>> 8/15/16/32
>> bpp.
>> One might expect the 24-bit format - if implemented - to be BGR24, to have
>> the
>> same channel order as BGR0.
>> However, the decoder in zmbv.c has been guessed to use RGB24, so I have
>> chosen
>> to not contradict this, and omitted specific support for this format.
>
> Sounds good.

Yes.

> Maybe we could coordinate 1/2/4/24-bit support with the

I believe FFmpeg cannot support 1/2/4 bit for encoding.
(It should be possible to implement decoding to pal8 if
that doesn't work yet and if samples exist.)

> dosbox devs? And maybe we should do something about
> the RGB24 thing in the decoder..

Do I understand correctly that no existing implementation
supports 24bit rgb? If that is correct, I believe FFmpeg
shouldn't add it (but this may only be me).

Carl Eugen


More information about the ffmpeg-devel mailing list