[FFmpeg-cvslog] lavc/libx264: pass through frame durations to encoded packets
Anton Khirnov
git at videolan.org
Sun Jan 29 10:40:35 EET 2023
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Jul 12 14:37:15 2022 +0200| [a172b33ebf19f91fcb9daf854af56af2e5fbbada] | committer: Anton Khirnov
lavc/libx264: pass through frame durations to encoded packets
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a172b33ebf19f91fcb9daf854af56af2e5fbbada
---
libavcodec/libx264.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 6d22a1726e..2742fb11a0 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -52,6 +52,7 @@
typedef struct X264Opaque {
int64_t reordered_opaque;
int64_t wallclock;
+ int64_t duration;
void *frame_opaque;
AVBufferRef *frame_opaque_ref;
@@ -459,6 +460,7 @@ static int setup_frame(AVCodecContext *ctx, const AVFrame *frame,
}
opaque->reordered_opaque = frame->reordered_opaque;
+ opaque->duration = frame->duration;
opaque->wallclock = wallclock;
if (ctx->export_side_data & AV_CODEC_EXPORT_DATA_PRFT)
opaque->wallclock = av_gettime();
@@ -612,6 +614,7 @@ static int X264_frame(AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame,
out_opaque < &x4->reordered_opaque[x4->nb_reordered_opaque]) {
ctx->reordered_opaque = out_opaque->reordered_opaque;
wallclock = out_opaque->wallclock;
+ pkt->duration = out_opaque->duration;
if (ctx->flags & AV_CODEC_FLAG_COPY_OPAQUE) {
pkt->opaque = out_opaque->frame_opaque;
More information about the ffmpeg-cvslog
mailing list