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>
This commit is contained in:
Fei Wang 2024-04-18 16:15:09 +08:00 committed by Haihao Xiang
parent 651f3aa7f9
commit 67fc9b8427
1 changed files with 5 additions and 0 deletions

View File

@ -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;