[FFmpeg-cvslog] png: allow encoding 16-bit grayscale

Ian Taylor git at videolan.org
Tue Aug 13 10:47:39 CEST 2013


ffmpeg | branch: master | Ian Taylor <ibtaylor at gmail.com> | Mon Aug 12 22:02:55 2013 -0400| [46dee21a3238a5d9dfeeb1108dbad0beaa677035] | committer: Luca Barbato

png: allow encoding 16-bit grayscale

Signed-off-by: Luca Barbato <lu_zero at gentoo.org>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=46dee21a3238a5d9dfeeb1108dbad0beaa677035
---

 libavcodec/pngenc.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c
index 7f601ca..37910a1 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"),



More information about the ffmpeg-cvslog mailing list