[FFmpeg-cvslog] lavc/qsvdec: Use FFmpeg default 1/25 framerate if can't derive it from bitstream

Fei Wang git at videolan.org
Mon Apr 29 06:53:49 EEST 2024


ffmpeg | branch: master | Fei Wang <fei.w.wang at intel.com> | Thu Apr 18 16:15:09 2024 +0800| [67fc9b84272a88b5edace5ca25f493c21b02955d] | committer: Haihao Xiang

lavc/qsvdec: Use FFmpeg default 1/25 framerate if can't derive it from bitstream

Fix error:
$ ffmpeg -hwaccel qsv -i input.h265 -f null -
...
[null @ 0x55da1a629200] Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 3 >= 3

Signed-off-by: Fei Wang <fei.w.wang at intel.com>

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

 libavcodec/qsvdec.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index 5528bcdc8c..ed0bfe4c8b 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -441,6 +441,11 @@ static int qsv_decode_header(AVCodecContext *avctx, QSVContext *q,
     param->ExtParam    = q->ext_buffers;
     param->NumExtParam = q->nb_ext_buffers;
 
+    if (param->mfx.FrameInfo.FrameRateExtN == 0 || param->mfx.FrameInfo.FrameRateExtD == 0) {
+        param->mfx.FrameInfo.FrameRateExtN = 25;
+        param->mfx.FrameInfo.FrameRateExtD = 1;
+    }
+
 #if QSV_VERSION_ATLEAST(1, 34)
     if (QSV_RUNTIME_VERSION_ATLEAST(q->ver, 1, 34) && avctx->codec_id == AV_CODEC_ID_AV1)
         param->mfx.FilmGrain = (avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN) ? 0 : param->mfx.FilmGrain;



More information about the ffmpeg-cvslog mailing list