提交 ed5680f3 编写于 作者: P Paul B Mahol

avcodec/dpx: add support for 10bit gray

上级 ea68e02c
......@@ -310,6 +310,9 @@ static int decode_frame(AVCodecContext *avctx,
case 51121:
avctx->pix_fmt = AV_PIX_FMT_GBRAP12;
break;
case 6101:
avctx->pix_fmt = AV_PIX_FMT_GRAY10;
break;
case 6161:
avctx->pix_fmt = AV_PIX_FMT_GRAY16BE;
break;
......@@ -362,12 +365,14 @@ static int decode_frame(AVCodecContext *avctx,
(uint16_t*)ptr[3]};
int shift = packing == 1 ? 22 : 20;
for (y = 0; y < avctx->width; y++) {
*dst[2]++ = read10in32(&buf, &rgbBuffer,
&n_datum, endian, shift);
if (elements >= 3)
*dst[2]++ = read10in32(&buf, &rgbBuffer,
&n_datum, endian, shift);
*dst[0]++ = read10in32(&buf, &rgbBuffer,
&n_datum, endian, shift);
*dst[1]++ = read10in32(&buf, &rgbBuffer,
&n_datum, endian, shift);
if (elements >= 2)
*dst[1]++ = read10in32(&buf, &rgbBuffer,
&n_datum, endian, shift);
if (elements == 4)
*dst[3]++ =
read10in32(&buf, &rgbBuffer,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册