summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Uskov <ivan.uskov@nablet.com>2015-08-06 09:14:59 -0400
committerMichael Niedermayer <michael@niedermayer.cc>2015-08-19 14:20:24 +0200
commitfffae8e605c8a665eac0ae63c3c84f60efbec73e (patch)
tree701f516168f3e85a4d3439ec518ec6f3600b467c
parent9d1d7b367eeb74dbfb8501580e6c3568f3fe5973 (diff)
libavcodec/qsvdec.c: the ff_get_format() missed at refactoring has been restored
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/qsvdec.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index e3c076da30..1062ef096a 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -54,6 +54,9 @@ int ff_qsv_decode_init(AVCodecContext *avctx, QSVContext *q, AVPacket *avpkt)
mfxVideoParam param = { { 0 } };
mfxBitstream bs = { { { 0 } } };
int ret;
+ enum AVPixelFormat pix_fmts[3] = { AV_PIX_FMT_QSV,
+ AV_PIX_FMT_NV12,
+ AV_PIX_FMT_NONE };
q->iopattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY;
if (!q->session) {
@@ -120,7 +123,11 @@ int ff_qsv_decode_init(AVCodecContext *avctx, QSVContext *q, AVPacket *avpkt)
return ff_qsv_error(ret);
}
- avctx->pix_fmt = AV_PIX_FMT_NV12;
+ ret = ff_get_format(avctx, pix_fmts);
+ if (ret < 0)
+ return ret;
+
+ avctx->pix_fmt = ret;
avctx->profile = param.mfx.CodecProfile;
avctx->level = param.mfx.CodecLevel;
avctx->coded_width = param.mfx.FrameInfo.Width;