lavc/pnm: Support decoding ya16.

pull/105/head
Carl Eugen Hoyos 10 years ago
parent 196dd72bcf
commit 6c559a0a9d
  1. 5
      libavcodec/pnm.c
  2. 7
      libavcodec/pnmdec.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;

@ -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;

Loading…
Cancel
Save