Revert "pnm: remove nonsense code"
authorPaul B Mahol <onemda@gmail.com>
Sun, 28 Jul 2013 21:42:47 +0000 (21:42 +0000)
committerPaul B Mahol <onemda@gmail.com>
Sun, 28 Jul 2013 21:45:37 +0000 (21:45 +0000)
Breaks decoding pgms with 256 < maxval < 65535.

Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>.
This reverts commit a0348d0966a81a66f3a1bf061576b24d5296b933.

libavcodec/pnm.c

index 6e2e96c..5a24bef 100644 (file)
@@ -163,6 +163,8 @@ int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s)
         if (s->maxval >= 256) {
             if (avctx->pix_fmt == AV_PIX_FMT_GRAY8) {
                 avctx->pix_fmt = AV_PIX_FMT_GRAY16BE;
+                if (s->maxval != 65535)
+                    avctx->pix_fmt = AV_PIX_FMT_GRAY16;
             } else if (avctx->pix_fmt == AV_PIX_FMT_RGB24) {
                 avctx->pix_fmt = AV_PIX_FMT_RGB48BE;
             } else if (avctx->pix_fmt == AV_PIX_FMT_YUV420P && s->maxval < 65536) {