Browse Source

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>
tags/n4.2
Linjie Fu Zhong Li 7 years ago
parent
commit
147ef1d947
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      libavfilter/vf_deinterlace_qsv.c

+ 4
- 2
libavfilter/vf_deinterlace_qsv.c View File

@@ -419,9 +419,11 @@ static int submit_frame(AVFilterContext *ctx, AVFrame *frame,
qf->surface.Info.PicStruct = !qf->frame->interlaced_frame ? MFX_PICSTRUCT_PROGRESSIVE :
(qf->frame->top_field_first ? MFX_PICSTRUCT_FIELD_TFF :
MFX_PICSTRUCT_FIELD_BFF);
if (qf->frame->repeat_pict == 1)
if (qf->frame->repeat_pict == 1) {
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;
else if (qf->frame->repeat_pict == 4)
qf->surface.Info.PicStruct |= MFX_PICSTRUCT_FRAME_TRIPLING;


Loading…
Cancel
Save