You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-06 06:27:36 +02:00
avcodec/nvenc: fix b-frame DTS behavior with fractional framerates
When using fractional framerates (or any fraction with a numerator != 1), DTS values for packets would be calculated incorrectly. Signed-off-by: Kyle Manning <tt2468@irltoolkit.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
This commit is contained in:
committed by
Timo Rothenpieler
parent
6941788d24
commit
9a245bdf5d
@ -2266,7 +2266,8 @@ static int nvenc_set_timestamp(AVCodecContext *avctx,
|
|||||||
dts = reorder_queue_dequeue(ctx->reorder_queue, avctx, pkt);
|
dts = reorder_queue_dequeue(ctx->reorder_queue, avctx, pkt);
|
||||||
|
|
||||||
if (avctx->codec_descriptor->props & AV_CODEC_PROP_REORDER) {
|
if (avctx->codec_descriptor->props & AV_CODEC_PROP_REORDER) {
|
||||||
pkt->dts = dts - FFMAX(ctx->encode_config.frameIntervalP - 1, 0) * FFMAX(avctx->ticks_per_frame, 1);
|
pkt->dts = dts -
|
||||||
|
FFMAX(ctx->encode_config.frameIntervalP - 1, 0) * FFMAX(avctx->ticks_per_frame, 1) * FFMAX(avctx->time_base.num, 1);
|
||||||
} else {
|
} else {
|
||||||
pkt->dts = pkt->pts;
|
pkt->dts = pkt->pts;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user