mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
qsvdec: Pass field order information to libmfx
The VC-1 decoder fails to initialise if this is not set.
This commit is contained in:
parent
cd1047f391
commit
030d84fa2e
@ -155,6 +155,21 @@ static int qsv_decode_init(AVCodecContext *avctx, QSVContext *q)
|
|||||||
param.mfx.FrameInfo.Height = frame_height;
|
param.mfx.FrameInfo.Height = frame_height;
|
||||||
param.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420;
|
param.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420;
|
||||||
|
|
||||||
|
switch (avctx->field_order) {
|
||||||
|
case AV_FIELD_PROGRESSIVE:
|
||||||
|
param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE;
|
||||||
|
break;
|
||||||
|
case AV_FIELD_TT:
|
||||||
|
param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF;
|
||||||
|
break;
|
||||||
|
case AV_FIELD_BB:
|
||||||
|
param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_BFF;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_UNKNOWN;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
param.IOPattern = q->iopattern;
|
param.IOPattern = q->iopattern;
|
||||||
param.AsyncDepth = q->async_depth;
|
param.AsyncDepth = q->async_depth;
|
||||||
param.ExtParam = q->ext_buffers;
|
param.ExtParam = q->ext_buffers;
|
||||||
@ -485,6 +500,7 @@ int ff_qsv_process_data(AVCodecContext *avctx, QSVContext *q,
|
|||||||
avctx->height = q->parser->height;
|
avctx->height = q->parser->height;
|
||||||
avctx->coded_width = q->parser->coded_width;
|
avctx->coded_width = q->parser->coded_width;
|
||||||
avctx->coded_height = q->parser->coded_height;
|
avctx->coded_height = q->parser->coded_height;
|
||||||
|
avctx->field_order = q->parser->field_order;
|
||||||
avctx->level = q->avctx_internal->level;
|
avctx->level = q->avctx_internal->level;
|
||||||
avctx->profile = q->avctx_internal->profile;
|
avctx->profile = q->avctx_internal->profile;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user