diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-01-22 01:49:04 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-01-22 01:49:04 +0100 |
commit | 6c559a0a9d3e8eb10e2b92b6793e11038ab86fcf (patch) | |
tree | 02da8b08d7cac832f1d8f9194ea3e1fb6bee47f3 | |
parent | 196dd72bcfe073a77be5fd55a69de61d54a3a2dc (diff) | |
download | ffmpeg-6c559a0a9d3e8eb10e2b92b6793e11038ab86fcf.tar.gz |
lavc/pnm: Support decoding ya16.
-rw-r--r-- | libavcodec/pnm.c | 5 | ||||
-rw-r--r-- | libavcodec/pnmdec.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/libavcodec/pnm.c b/libavcodec/pnm.c index 502e550097..1675959fbf 100644 --- a/libavcodec/pnm.c +++ b/libavcodec/pnm.c @@ -122,8 +122,11 @@ int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s) avctx->pix_fmt = AV_PIX_FMT_GRAY16; } } else if (depth == 2) { - if (maxval == 255) + if (maxval < 256) { avctx->pix_fmt = AV_PIX_FMT_GRAY8A; + } else { + avctx->pix_fmt = AV_PIX_FMT_YA16; + } } else if (depth == 3) { if (maxval < 256) { avctx->pix_fmt = AV_PIX_FMT_RGB24; diff --git a/libavcodec/pnmdec.c b/libavcodec/pnmdec.c index c84b6eb080..e634500674 100644 --- a/libavcodec/pnmdec.c +++ b/libavcodec/pnmdec.c @@ -108,6 +108,13 @@ static int pnm_decode_frame(AVCodecContext *avctx, void *data, if (s->maxval < 65535) upgrade = 2; goto do_read; + case AV_PIX_FMT_YA16: + n = avctx->width * 4; + components=2; + sample_len=16; + if (s->maxval < 65535) + upgrade = 2; + goto do_read; case AV_PIX_FMT_MONOWHITE: case AV_PIX_FMT_MONOBLACK: n = (avctx->width + 7) >> 3; |