[FFmpeg-cvslog] lavc/qsvdec: Do not print warning when draining cached frames

Haihao Xiang git at videolan.org
Mon Mar 18 08:04:41 EET 2024


ffmpeg | branch: master | Haihao Xiang <haihao.xiang at intel.com> | Mon Mar 11 12:37:57 2024 +0800| [697251bb0c9ea4b66276cf89e1e526535a86d117] | committer: Haihao Xiang

lavc/qsvdec: Do not print warning when draining cached frames

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 at intel.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=697251bb0c9ea4b66276cf89e1e526535a86d117
---

 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;



More information about the ffmpeg-cvslog mailing list