mirror of https://git.ffmpeg.org/ffmpeg.git
Merge commit '54307b35311e9a871b3d8ecb2b2eecfc16de0163'
* commit '54307b35311e9a871b3d8ecb2b2eecfc16de0163': lavc/qsvdec: set complete_frame flags for progressive picture Merged-by: James Almer <jamrial@gmail.com>
This commit is contained in:
commit
bbe95ebdad
|
@ -323,6 +323,8 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q,
|
||||||
bs.DataLength = avpkt->size;
|
bs.DataLength = avpkt->size;
|
||||||
bs.MaxLength = bs.DataLength;
|
bs.MaxLength = bs.DataLength;
|
||||||
bs.TimeStamp = avpkt->pts;
|
bs.TimeStamp = avpkt->pts;
|
||||||
|
if (avctx->field_order == AV_FIELD_PROGRESSIVE)
|
||||||
|
bs.DataFlag |= MFX_BITSTREAM_COMPLETE_FRAME;
|
||||||
}
|
}
|
||||||
|
|
||||||
sync = av_mallocz(sizeof(*sync));
|
sync = av_mallocz(sizeof(*sync));
|
||||||
|
@ -506,6 +508,7 @@ int ff_qsv_process_data(AVCodecContext *avctx, QSVContext *q,
|
||||||
pkt->data, pkt->size, pkt->pts, pkt->dts,
|
pkt->data, pkt->size, pkt->pts, pkt->dts,
|
||||||
pkt->pos);
|
pkt->pos);
|
||||||
|
|
||||||
|
avctx->field_order = q->parser->field_order;
|
||||||
/* TODO: flush delayed frames on reinit */
|
/* TODO: flush delayed frames on reinit */
|
||||||
if (q->parser->format != q->orig_pix_fmt ||
|
if (q->parser->format != q->orig_pix_fmt ||
|
||||||
FFALIGN(q->parser->coded_width, 16) != FFALIGN(avctx->coded_width, 16) ||
|
FFALIGN(q->parser->coded_width, 16) != FFALIGN(avctx->coded_width, 16) ||
|
||||||
|
@ -530,7 +533,6 @@ int ff_qsv_process_data(AVCodecContext *avctx, QSVContext *q,
|
||||||
avctx->height = q->parser->height;
|
avctx->height = q->parser->height;
|
||||||
avctx->coded_width = FFALIGN(q->parser->coded_width, 16);
|
avctx->coded_width = FFALIGN(q->parser->coded_width, 16);
|
||||||
avctx->coded_height = FFALIGN(q->parser->coded_height, 16);
|
avctx->coded_height = FFALIGN(q->parser->coded_height, 16);
|
||||||
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