mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-10-07 02:16:19 +02:00
lavf/deinterlace_qsv: set specific field for repeat
Set specific field for repeat in PicStruct if the frame has repeat flag. Match the CheckInputPicStruct in MSDK. Fix #7701. Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Zhong Li <zhong.li@intel.com>
This commit is contained in:
parent
f95aee2b72
commit
147ef1d947
@ -419,9 +419,11 @@ static int submit_frame(AVFilterContext *ctx, AVFrame *frame,
|
|||||||
qf->surface.Info.PicStruct = !qf->frame->interlaced_frame ? MFX_PICSTRUCT_PROGRESSIVE :
|
qf->surface.Info.PicStruct = !qf->frame->interlaced_frame ? MFX_PICSTRUCT_PROGRESSIVE :
|
||||||
(qf->frame->top_field_first ? MFX_PICSTRUCT_FIELD_TFF :
|
(qf->frame->top_field_first ? MFX_PICSTRUCT_FIELD_TFF :
|
||||||
MFX_PICSTRUCT_FIELD_BFF);
|
MFX_PICSTRUCT_FIELD_BFF);
|
||||||
if (qf->frame->repeat_pict == 1)
|
if (qf->frame->repeat_pict == 1) {
|
||||||
qf->surface.Info.PicStruct |= MFX_PICSTRUCT_FIELD_REPEATED;
|
qf->surface.Info.PicStruct |= MFX_PICSTRUCT_FIELD_REPEATED;
|
||||||
else if (qf->frame->repeat_pict == 2)
|
qf->surface.Info.PicStruct |= qf->frame->top_field_first ? MFX_PICSTRUCT_FIELD_TFF :
|
||||||
|
MFX_PICSTRUCT_FIELD_BFF;
|
||||||
|
} else if (qf->frame->repeat_pict == 2)
|
||||||
qf->surface.Info.PicStruct |= MFX_PICSTRUCT_FRAME_DOUBLING;
|
qf->surface.Info.PicStruct |= MFX_PICSTRUCT_FRAME_DOUBLING;
|
||||||
else if (qf->frame->repeat_pict == 4)
|
else if (qf->frame->repeat_pict == 4)
|
||||||
qf->surface.Info.PicStruct |= MFX_PICSTRUCT_FRAME_TRIPLING;
|
qf->surface.Info.PicStruct |= MFX_PICSTRUCT_FRAME_TRIPLING;
|
||||||
|
Loading…
Reference in New Issue
Block a user