mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Support rgb48 and rgba64 png encoding.
This commit is contained in:
parent
107f55cb01
commit
f94ce3bcab
@ -234,6 +234,14 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
|
||||
|
||||
is_progressive = !!(avctx->flags & CODEC_FLAG_INTERLACED_DCT);
|
||||
switch(avctx->pix_fmt) {
|
||||
case PIX_FMT_RGBA64BE:
|
||||
bit_depth = 16;
|
||||
color_type = PNG_COLOR_TYPE_RGB_ALPHA;
|
||||
break;
|
||||
case PIX_FMT_RGB48BE:
|
||||
bit_depth = 16;
|
||||
color_type = PNG_COLOR_TYPE_RGB;
|
||||
break;
|
||||
case PIX_FMT_RGBA:
|
||||
bit_depth = 8;
|
||||
color_type = PNG_COLOR_TYPE_RGB_ALPHA;
|
||||
@ -418,6 +426,11 @@ AVCodec ff_png_encoder = {
|
||||
.priv_data_size = sizeof(PNGEncContext),
|
||||
.init = png_enc_init,
|
||||
.encode = encode_frame,
|
||||
.pix_fmts= (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGBA, PIX_FMT_PAL8, PIX_FMT_GRAY8, PIX_FMT_GRAY8A, PIX_FMT_GRAY16BE, PIX_FMT_MONOBLACK, PIX_FMT_NONE},
|
||||
.pix_fmts= (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGBA,
|
||||
PIX_FMT_RGB48BE, PIX_FMT_RGBA64BE,
|
||||
PIX_FMT_PAL8,
|
||||
PIX_FMT_GRAY8, PIX_FMT_GRAY8A,
|
||||
PIX_FMT_GRAY16BE,
|
||||
PIX_FMT_MONOBLACK, PIX_FMT_NONE},
|
||||
.long_name= NULL_IF_CONFIG_SMALL("PNG image"),
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user