diff mbox series

[FFmpeg-devel,2/3] doc/examples/transcode: stop using decoder's AVCodecContext.time_base

Message ID 20230531153205.24424-2-anton@khirnov.net
State Accepted
Commit 811b0e02be44277211c3aea49f601330e2e52dcc
Headers show
Series [FFmpeg-devel,1/3] doc/examples/transcode: set packet timebase for decoding | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Anton Khirnov May 31, 2023, 3:32 p.m. UTC
The contents of this field are not defined for decoding. Use
pkt_timebase, which is the timebase of demuxed packets.

Drop a tautological av_packet_rescale_ts() call, as the stream and
decoder timebases are the same.
---
 doc/examples/transcode.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Paul B Mahol May 31, 2023, 4:04 p.m. UTC | #1
LGTM
diff mbox series

Patch

diff --git a/doc/examples/transcode.c b/doc/examples/transcode.c
index 7110816fe6..2e1491f432 100644
--- a/doc/examples/transcode.c
+++ b/doc/examples/transcode.c
@@ -269,7 +269,7 @@  static int init_filter(FilteringContext* fctx, AVCodecContext *dec_ctx,
         snprintf(args, sizeof(args),
                 "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
                 dec_ctx->width, dec_ctx->height, dec_ctx->pix_fmt,
-                dec_ctx->time_base.num, dec_ctx->time_base.den,
+                dec_ctx->pkt_timebase.num, dec_ctx->pkt_timebase.den,
                 dec_ctx->sample_aspect_ratio.num,
                 dec_ctx->sample_aspect_ratio.den);
 
@@ -309,7 +309,7 @@  static int init_filter(FilteringContext* fctx, AVCodecContext *dec_ctx,
         av_channel_layout_describe(&dec_ctx->ch_layout, buf, sizeof(buf));
         snprintf(args, sizeof(args),
                 "time_base=%d/%d:sample_rate=%d:sample_fmt=%s:channel_layout=%s",
-                dec_ctx->time_base.num, dec_ctx->time_base.den, dec_ctx->sample_rate,
+                dec_ctx->pkt_timebase.num, dec_ctx->pkt_timebase.den, dec_ctx->sample_rate,
                 av_get_sample_fmt_name(dec_ctx->sample_fmt),
                 buf);
         ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in",
@@ -547,9 +547,6 @@  int main(int argc, char **argv)
 
             av_log(NULL, AV_LOG_DEBUG, "Going to reencode&filter the frame\n");
 
-            av_packet_rescale_ts(packet,
-                                 ifmt_ctx->streams[stream_index]->time_base,
-                                 stream->dec_ctx->time_base);
             ret = avcodec_send_packet(stream->dec_ctx, packet);
             if (ret < 0) {
                 av_log(NULL, AV_LOG_ERROR, "Decoding failed\n");