OSDN Git Service

pnmenc: use bits_per_raw_sample
authorChristophe Gisquet <christophe.gisquet@gmail.com>
Wed, 20 Aug 2014 08:10:45 +0000 (08:10 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 24 Aug 2014 09:23:34 +0000 (11:23 +0200)
This allows writing actual bitdepth in RGB48 when it isn't actually 16.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/pnmenc.c

index e6c3635..9198ddb 100644 (file)
@@ -84,6 +84,8 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     bytestream += strlen(bytestream);
     if (avctx->pix_fmt != AV_PIX_FMT_MONOWHITE) {
         int maxdepth = (1 << (av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1)) - 1;
+        if( avctx->bits_per_raw_sample )
+            maxdepth = (1 << avctx->bits_per_raw_sample) - 1;
         snprintf(bytestream, bytestream_end - bytestream,
                  "%d\n", maxdepth);
         bytestream += strlen(bytestream);