summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2013-07-29 00:00:42 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2013-07-29 00:05:01 +0200
commit0047a310905cb6816d75059f507f5ae083c8750f (patch)
tree72f1b08fa25251b1a1bb4a54e6930959578a9d10
parentd73ce6cb5609512a595577578e0804f3587f64f1 (diff)
downloadffmpeg-0047a310905cb6816d75059f507f5ae083c8750f.tar.gz
Revert "pnm: remove nonsense code"
Breaks decoding pgms with 255 < maxval < 65535. Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>. This reverts commit a0348d0966a81a66f3a1bf061576b24d5296b933. (cherry picked from commit 768e40b451a459fefaceed6b1b3d6e70c93596ac)
-rw-r--r--libavcodec/pnm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/pnm.c b/libavcodec/pnm.c
index 308457bbe9..578bb8913f 100644
--- a/libavcodec/pnm.c
+++ b/libavcodec/pnm.c
@@ -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) {