From 46dee21a3238a5d9dfeeb1108dbad0beaa677035 Mon Sep 17 00:00:00 2001 From: Ian Taylor Date: Mon, 12 Aug 2013 22:02:55 -0400 Subject: [PATCH] png: allow encoding 16-bit grayscale Signed-off-by: Luca Barbato --- libavcodec/pngenc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c index 7f601ca551..37910a15a3 100644 --- a/libavcodec/pngenc.c +++ b/libavcodec/pngenc.c @@ -255,6 +255,10 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, bit_depth = 8; color_type = PNG_COLOR_TYPE_RGB; break; + case AV_PIX_FMT_GRAY16BE: + bit_depth = 16; + color_type = PNG_COLOR_TYPE_GRAY; + break; case AV_PIX_FMT_GRAY8: bit_depth = 8; color_type = PNG_COLOR_TYPE_GRAY; @@ -460,6 +464,7 @@ AVCodec ff_png_encoder = { .encode2 = encode_frame, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB32, AV_PIX_FMT_PAL8, AV_PIX_FMT_GRAY8, + AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_MONOBLACK, AV_PIX_FMT_NONE }, .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),