Message ID | 20240311043757.3085005-1-haihao.xiang@intel.com |
---|---|
State | Accepted |
Commit | 697251bb0c9ea4b66276cf89e1e526535a86d117 |
Headers | show |
Series | [FFmpeg-devel] lavc/qsvdec: Do not print warning when draining cached frames | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Ma, 2024-03-11 at 12:37 +0800, Xiang, Haihao wrote: > From: Haihao Xiang <haihao.xiang@intel.com> > > When all cached frames are drained, the output mfxSyncPoint pointer is > NULL and MFX_ERR_MORE_DATA is returned, hence needn't print warning for > this expected behavior, otherwise the user might think the output from > qsv decoders are wrong. > > Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> > --- > libavcodec/qsvdec.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c > index 4f39f6942a..fd9267c6f4 100644 > --- a/libavcodec/qsvdec.c > +++ b/libavcodec/qsvdec.c > @@ -762,7 +762,9 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext > *q, > if (!*sync && !bs.DataOffset) { > bs.DataOffset = avpkt->size; > ++q->zero_consume_run; > - if (q->zero_consume_run > 1) > + if (q->zero_consume_run > 1 && > + (avpkt->size || > + ret != MFX_ERR_MORE_DATA)) > ff_qsv_print_warning(avctx, ret, "A decode call did not consume > any data"); > } else { > q->zero_consume_run = 0; Will apply, - Haihao
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index 4f39f6942a..fd9267c6f4 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -762,7 +762,9 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q, if (!*sync && !bs.DataOffset) { bs.DataOffset = avpkt->size; ++q->zero_consume_run; - if (q->zero_consume_run > 1) + if (q->zero_consume_run > 1 && + (avpkt->size || + ret != MFX_ERR_MORE_DATA)) ff_qsv_print_warning(avctx, ret, "A decode call did not consume any data"); } else { q->zero_consume_run = 0;