From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id CED03451A6 for ; Wed, 12 Apr 2023 02:49:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1A388689257; Wed, 12 Apr 2023 05:49:12 +0300 (EEST) Received: from mail-oo1-f41.google.com (mail-oo1-f41.google.com [209.85.161.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3A2E868A70C for ; Wed, 12 Apr 2023 05:49:05 +0300 (EEST) Received: by mail-oo1-f41.google.com with SMTP id bm19-20020a056820189300b0053b78077c9dso1522571oob.12 for ; Tue, 11 Apr 2023 19:49:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681267742; x=1683859742; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Zo7WfRyExxLwdVDD222K2ji6amTHBSMAuNk9ky6Rzbg=; b=AQ9bM2ZHp/JASQoykxwzgORCrCjIw9q2IBue4puehgGtx9Oji4EMzQOZsB18/8jTRa pwrco+IYGyfthbqLCNlIZPbsysssmDYjgO+b9I+aea/vJnuCF2/9CDLGqGUomArKURzl /Kqc1GHUOyo17Yzfb+/UQmgRQrH6f2Jp4HQs6xuf+C0OV+MVknWq+eY+W09cVZYsYkZ2 h087fW2wFf+EzD7sARUAOSlTDG9XHNpR8jHtED3bx8b1ue0WRz+THD1Z4+HqgSYd7AB6 MSdTJAxc8mBRs7S+gJ14gEZNq7w0Ma/u4mZW/LqSC+GG34juX13moejdrey+Bm/I3W09 QGeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681267742; x=1683859742; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Zo7WfRyExxLwdVDD222K2ji6amTHBSMAuNk9ky6Rzbg=; b=2NcHBIdb2Z6La97eG++AZfoDerYCZoig0MER1i66VyKMhPw9OyxgqbeQMmjTRZ0gq2 PJWElJCJnRSsW2lBGNoLD01O1npkRnHfwlek1YMpiB9K6k76vhhNMiA9+dsTGE0x8Up4 QXyevSgmWyUjI8rz1vJmvElsue0/1FGQPbK+InaKuC0kHWxnxf2qWwrlzNV46g0eHwZ8 cS9yOJBUSJkKcNId4jTZ26jJFOFjvgSxqN9KFi1Mw/rorGn90sFNfd32X6bOmLQArGYV aXEB8E12KYKPkxcyOegZsEK2UvhbJ6icpxDnLqwc+yY3DZZe26sgTOIW1jgPWp4KKOBp dfgw== X-Gm-Message-State: AAQBX9ceIaPYnibSno1oS0OSfVcqGB2OOiG0J9UoxGkaA843v5LSp3Bu c2s3AwGi9KY54PjwE9qMUXLKkv86VJg= X-Google-Smtp-Source: AKy350ZFScsODjNvuK++c8SWJFdWhR6xErYeD71mJJxjl7hatZwbTdAsm0R06BH5WVYxeUxMiK3zwQ== X-Received: by 2002:a4a:5287:0:b0:525:5c24:fa55 with SMTP id d129-20020a4a5287000000b005255c24fa55mr711432oob.2.1681267742300; Tue, 11 Apr 2023 19:49:02 -0700 (PDT) Received: from [192.168.0.15] (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id r17-20020a05687080d100b001726cfeea97sm5753758oab.29.2023.04.11.19.49.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Apr 2023 19:49:01 -0700 (PDT) Message-ID: <3170a159-16ac-9f0a-8fca-cf2ce26e0ace@gmail.com> Date: Tue, 11 Apr 2023 23:49:00 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230409140853.28858-1-anton@khirnov.net> <20230409140853.28858-25-anton@khirnov.net> From: James Almer In-Reply-To: <20230409140853.28858-25-anton@khirnov.net> Subject: Re: [FFmpeg-devel] [PATCH 25/29] fftools/ffmpeg_demux: set the timebase on demuxed packets X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 4/9/2023 11:08 AM, Anton Khirnov wrote: > Simplifies tracking what timebase are the timestamps in. Will be useful > in following commits. > --- > fftools/ffmpeg_demux.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c > index f2da0826ad..7ff57273c9 100644 > --- a/fftools/ffmpeg_demux.c > +++ b/fftools/ffmpeg_demux.c > @@ -194,15 +194,17 @@ static void ts_fixup(Demuxer *d, AVPacket *pkt, int *repeat_pict) > const int64_t start_time = ifile->start_time_effective; > int64_t duration; > > + pkt->time_base = ist->st->time_base; Might be a good future-proof idea to check first if pkt->time_base is already set or not. The doxy says demuxers themselves may start doing so at some point. > + > #define SHOW_TS_DEBUG(tag_) \ > if (debug_ts) { \ > av_log(ist, AV_LOG_INFO, "%s -> ist_index:%d:%d type:%s " \ > "pkt_pts:%s pkt_pts_time:%s pkt_dts:%s pkt_dts_time:%s duration:%s duration_time:%s\n", \ > tag_, ifile->index, pkt->stream_index, \ > av_get_media_type_string(ist->st->codecpar->codec_type), \ > - av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &ist->st->time_base), \ > - av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &ist->st->time_base), \ > - av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, &ist->st->time_base)); \ > + av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &pkt->time_base), \ > + av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &pkt->time_base), \ > + av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, &pkt->time_base)); \ > } > > SHOW_TS_DEBUG("demuxer"); > @@ -211,7 +213,7 @@ static void ts_fixup(Demuxer *d, AVPacket *pkt, int *repeat_pict) > ist->st->pts_wrap_bits < 64) { > int64_t stime, stime2; > > - stime = av_rescale_q(start_time, AV_TIME_BASE_Q, ist->st->time_base); > + stime = av_rescale_q(start_time, AV_TIME_BASE_Q, pkt->time_base); > stime2= stime + (1ULL<st->pts_wrap_bits); > ist->wrap_correction_done = 1; > > @@ -226,16 +228,16 @@ static void ts_fixup(Demuxer *d, AVPacket *pkt, int *repeat_pict) > } > > if (pkt->dts != AV_NOPTS_VALUE) > - pkt->dts += av_rescale_q(ifile->ts_offset, AV_TIME_BASE_Q, ist->st->time_base); > + pkt->dts += av_rescale_q(ifile->ts_offset, AV_TIME_BASE_Q, pkt->time_base); > if (pkt->pts != AV_NOPTS_VALUE) > - pkt->pts += av_rescale_q(ifile->ts_offset, AV_TIME_BASE_Q, ist->st->time_base); > + pkt->pts += av_rescale_q(ifile->ts_offset, AV_TIME_BASE_Q, pkt->time_base); > > if (pkt->pts != AV_NOPTS_VALUE) > pkt->pts *= ds->ts_scale; > if (pkt->dts != AV_NOPTS_VALUE) > pkt->dts *= ds->ts_scale; > > - duration = av_rescale_q(d->duration, d->time_base, ist->st->time_base); > + duration = av_rescale_q(d->duration, d->time_base, pkt->time_base); > if (pkt->pts != AV_NOPTS_VALUE) { > pkt->pts += duration; > ds->max_pts = FFMAX(pkt->pts, ds->max_pts); _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".