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; avctx->pix_fmt = AV_PIX_FMT_GRAY16;
} }
} else if (depth == 2) { } else if (depth == 2) {
if (maxval == 255) if (maxval < 256) {
avctx->pix_fmt = AV_PIX_FMT_GRAY8A; avctx->pix_fmt = AV_PIX_FMT_GRAY8A;
} else {
avctx->pix_fmt = AV_PIX_FMT_YA16;
}
} else if (depth == 3) { } else if (depth == 3) {
if (maxval < 256) { if (maxval < 256) {
avctx->pix_fmt = AV_PIX_FMT_RGB24; avctx->pix_fmt = AV_PIX_FMT_RGB24;

@ -108,6 +108,13 @@ static int pnm_decode_frame(AVCodecContext *avctx, void *data,
if (s->maxval < 65535) if (s->maxval < 65535)
upgrade = 2; upgrade = 2;
goto do_read; 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_MONOWHITE:
case AV_PIX_FMT_MONOBLACK: case AV_PIX_FMT_MONOBLACK:
n = (avctx->width + 7) >> 3; n = (avctx->width + 7) >> 3;

Loading…
Cancel
Save