mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +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.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.AsyncDepth = q->async_depth;
|
||||
param.ExtParam = q->ext_buffers;
|
||||
@ -485,6 +500,7 @@ int ff_qsv_process_data(AVCodecContext *avctx, QSVContext *q,
|
||||
avctx->height = q->parser->height;
|
||||
avctx->coded_width = q->parser->coded_width;
|
||||
avctx->coded_height = q->parser->coded_height;
|
||||
avctx->field_order = q->parser->field_order;
|
||||
avctx->level = q->avctx_internal->level;
|
||||
avctx->profile = q->avctx_internal->profile;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user