From fffae8e605c8a665eac0ae63c3c84f60efbec73e Mon Sep 17 00:00:00 2001 From: Ivan Uskov Date: Thu, 6 Aug 2015 09:14:59 -0400 Subject: [PATCH] libavcodec/qsvdec.c: the ff_get_format() missed at refactoring has been restored Reviewed-by: Hendrik Leppkes Signed-off-by: Michael Niedermayer --- libavcodec/qsvdec.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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;