aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2024-03-11 12:37:57 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2024-03-18 12:00:14 +0800
commit697251bb0c9ea4b66276cf89e1e526535a86d117 (patch)
tree526271c0737aea718f5f572dda7944e504519b45
parent6e63295d4135c759afeda506f9ede182c0263aee (diff)
downloadffmpeg-697251bb0c9ea4b66276cf89e1e526535a86d117.tar.gz
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@intel.com>
-rw-r--r--libavcodec/qsvdec.c4
1 files changed, 3 insertions, 1 deletions
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;