diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-11-14 15:20:09 +0100 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-11-14 15:20:09 +0100 |
commit | 68b0d7e0be66bfa8141f8bd3eaa004b8104b8c34 (patch) | |
tree | fe6e16cac1315ec24d8e2e3a0beb095df4e6b2fb /libavcodec/qsvdec.c | |
parent | 3c81fa9a9c5f56078e09b564a27821031876ad61 (diff) | |
parent | 924e2ecd2b7d51cca60c79351ef16b04dd4245c3 (diff) | |
download | ffmpeg-68b0d7e0be66bfa8141f8bd3eaa004b8104b8c34.tar.gz |
Merge commit '924e2ecd2b7d51cca60c79351ef16b04dd4245c3'
* commit '924e2ecd2b7d51cca60c79351ef16b04dd4245c3':
qsvdec: when a frames ctx is supplied, use its frame dimensions
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
Diffstat (limited to 'libavcodec/qsvdec.c')
-rw-r--r-- | libavcodec/qsvdec.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index e71af599b1..ea4abfa5f0 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -91,6 +91,8 @@ static int qsv_decode_init(AVCodecContext *avctx, QSVContext *q) mfxSession session = NULL; int iopattern = 0; mfxVideoParam param = { { 0 } }; + int frame_width = avctx->coded_width; + int frame_height = avctx->coded_height; int ret; desc = av_pix_fmt_desc_get(avctx->sw_pix_fmt); @@ -122,6 +124,9 @@ static int qsv_decode_init(AVCodecContext *avctx, QSVContext *q) else if (frames_hwctx->frame_type & MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET) iopattern = MFX_IOPATTERN_OUT_VIDEO_MEMORY; } + + frame_width = frames_hwctx->surfaces[0].Info.Width; + frame_height = frames_hwctx->surfaces[0].Info.Height; } if (!iopattern) @@ -146,8 +151,8 @@ static int qsv_decode_init(AVCodecContext *avctx, QSVContext *q) param.mfx.FrameInfo.BitDepthChroma = desc->comp[0].depth; param.mfx.FrameInfo.Shift = desc->comp[0].depth > 8; param.mfx.FrameInfo.FourCC = q->fourcc; - param.mfx.FrameInfo.Width = avctx->coded_width; - param.mfx.FrameInfo.Height = avctx->coded_height; + param.mfx.FrameInfo.Width = frame_width; + param.mfx.FrameInfo.Height = frame_height; param.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420; switch (avctx->field_order) { |