aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFei Wang <fei.w.wang@intel.com>2024-04-18 16:15:09 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2024-04-29 11:08:41 +0800
commit67fc9b84272a88b5edace5ca25f493c21b02955d (patch)
tree2f798c619a0ad04186be996bea0c29cb9210debf
parent651f3aa7f911d897270ee687128d464bddb7883a (diff)
downloadffmpeg-67fc9b84272a88b5edace5ca25f493c21b02955d.tar.gz
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@intel.com>
-rw-r--r--libavcodec/qsvdec.c5
1 files changed, 5 insertions, 0 deletions
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;