[FFmpeg-cvslog] Revert "pnm: remove nonsense code"
Paul B Mahol
git at videolan.org
Mon Jul 29 00:07:32 CEST 2013
ffmpeg | branch: release/2.0 | Paul B Mahol <onemda at gmail.com> | Mon Jul 29 00:00:42 2013 +0200| [0047a310905cb6816d75059f507f5ae083c8750f] | committer: Carl Eugen Hoyos
Revert "pnm: remove nonsense code"
Breaks decoding pgms with 255 < maxval < 65535.
Found-by: Carl Eugen Hoyos <cehoyos at ag.or.at>.
This reverts commit a0348d0966a81a66f3a1bf061576b24d5296b933.
(cherry picked from commit 768e40b451a459fefaceed6b1b3d6e70c93596ac)
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0047a310905cb6816d75059f507f5ae083c8750f
---
libavcodec/pnm.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavcodec/pnm.c b/libavcodec/pnm.c
index 308457b..578bb89 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) {
More information about the ffmpeg-cvslog
mailing list