diff options
author | Timo Rothenpieler <timo@rothenpieler.org> | 2023-06-15 00:45:44 +0200 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2023-06-15 00:59:02 +0200 |
commit | ac7c265b33b52f914ebe05e581bbe9343eca1186 (patch) | |
tree | 78f07e4b3ab34655ef0e91fe3bfa119d2a62d7e5 /libavcodec/nvenc.c | |
parent | cfcd6e2108a7c43394840ca857ba1b6e8f6351c2 (diff) | |
download | ffmpeg-ac7c265b33b52f914ebe05e581bbe9343eca1186.tar.gz |
Revert "avcodec/nvenc: fix b-frame DTS behavior with fractional framerates"
This reverts commit 9a245bdf5d7860b8bc5e5c21a105a075925b719a.
This commit basically broke all samples with fractional framerates,
rather than fixing them.
I at this point do not understand the original issue anymore, and I'm
not sure how this slipped my initial testing.
All my test samples must have happened to have a simple timebase.
The actual dts values pretty much always are just a simple chain of
1,2,3,4,5,... Or maybe slightly bigger steps. Each increase by one means
an advance in time by one unit of the timebase.
So a fractional framerate/timebase is already not an issue.
So with this patch applied, the calculation might end up substracting
huge values (1001 is a common one) from the dts, which would be an
offset of that many frames, not of that many fractions of a second.
This broke at least muxing into mp4, if the sample happened to have a
fractional framerate.
I do not thing the original issue this patch tried to fix existed in the
first place, so it can be reverted without further consequences.
Diffstat (limited to 'libavcodec/nvenc.c')
-rw-r--r-- | libavcodec/nvenc.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 50371d6336..7874cb887b 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -2285,11 +2285,10 @@ static int nvenc_set_timestamp(AVCodecContext *avctx, if (avctx->codec_descriptor->props & AV_CODEC_PROP_REORDER) { FF_DISABLE_DEPRECATION_WARNINGS pkt->dts = dts - - FFMAX(ctx->encode_config.frameIntervalP - 1, 0) #if FF_API_TICKS_PER_FRAME - * FFMAX(avctx->ticks_per_frame, 1) + FFMAX(avctx->ticks_per_frame, 1) * #endif - * FFMAX(avctx->time_base.num, 1); + FFMAX(ctx->encode_config.frameIntervalP - 1, 0); FF_ENABLE_DEPRECATION_WARNINGS } else { pkt->dts = pkt->pts; |