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 BD4BA46D2B for ; Wed, 9 Aug 2023 13:55:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4186268C805; Wed, 9 Aug 2023 16:55:14 +0300 (EEST) Received: from mail-qv1-f52.google.com (mail-qv1-f52.google.com [209.85.219.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E63EB68C6C4 for ; Wed, 9 Aug 2023 16:55:07 +0300 (EEST) Received: by mail-qv1-f52.google.com with SMTP id 6a1803df08f44-63d2b7d77bfso45670486d6.3 for ; Wed, 09 Aug 2023 06:55:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=obe-tv.20221208.gappssmtp.com; s=20221208; t=1691589306; x=1692194106; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=mC2urr323GyJ8+fTkUtJep//MXZYyIdq5Ck5zG68bf0=; b=nmP3aJ0oa8Q9lCo3lUS7wR7P24yvoL/IrTCdcT0Z54jqXfDGH/v4ywJrTVX3jRoydF CHDZfoIS8NUseDcdWsBMJLk4DLCDm+to9wlg7+L1lVPLd6x/UPSuC7Lubbd1/3mxADuo /1GFeYT8IvzLHLXhGSF/yOzT3k19J8jjcBUxZauNxjdpqb5tUkqSUOw65rziIQXh/S0I tiNGdpsLGVBTnd8u/IuuhwLhystDTSdJlhqMjciUao5j5agR8d+hFlnYFdHf4rQb+GHp PBGrJEEjZrmN/fsdyGj0iM1jM5ovZ010PJpLXWy1T+i3d4nD110fbeDp6fYN+fH+Nj1n KG9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691589306; x=1692194106; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mC2urr323GyJ8+fTkUtJep//MXZYyIdq5Ck5zG68bf0=; b=f9zwMaIPOX7hLGd5QAMInOD99M3/ja5XNPdm3tcGC6xbjcF4v6y9sGtK/YWJFJJCvu vsx4pwWJ3DtOJlNlA8bHK18vjOCB8H7n+TbdcCZc11dBBbazBNVr2XlYQLdqArFrt7I7 EQpwz67ZlTMJw3Nf/Z3B/c5qc9pk0hQo3iqa8I6Mi4ecYU4HJq0Ptf6ujOs3gregrl6D r1bZRPFwsUH0vB+l3CNjOh6rWOXxdevsea2gO7DMylh9GU0qLCtBRVw8eg7wY9BLIqNn kW9NHZoSvUsAs1zi/Yq/drQ204ejQxsWjZ6oSwguHa6EGY5dUiBhPB5i5H49Umof3z7m b+Jw== X-Gm-Message-State: AOJu0YzzENb9gJ1mFXgTkqnmg/g/A/2l5hekD0abhDmzEyrHHgbvHqmI mEAxVJePR3rsRceo0L/8JzxiMtuO02231JqVeoqqFKKuFKDbZjbNqsg= X-Google-Smtp-Source: AGHT+IFSJhX9E7zi0IRQArM8KHp+tdm5YNP3GQ4KL9dui8V8FK1qera1WCDg4v4E8fVmtZVfHS9WW/UJZz8RuGstGlA= X-Received: by 2002:a05:6214:8e4:b0:635:d5c5:15d2 with SMTP id dr4-20020a05621408e400b00635d5c515d2mr2471249qvb.18.1691589306190; Wed, 09 Aug 2023 06:55:06 -0700 (PDT) MIME-Version: 1.0 References: <1690810686-4723-1-git-send-email-dheitmueller@ltnglobal.com> <1690810686-4723-3-git-send-email-dheitmueller@ltnglobal.com> In-Reply-To: <1690810686-4723-3-git-send-email-dheitmueller@ltnglobal.com> From: Kieran Kunhya Date: Wed, 9 Aug 2023 09:54:55 -0400 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v4 2/4] mpegts: Stash original PTS for SCTE-35 sections for processing later 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 Cc: Devin Heitmueller Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Mon, 31 Jul 2023 at 09:38, Devin Heitmueller < devin.heitmueller@ltnglobal.com> wrote: > We need the original PTS value in order to do subsequent processing, > so set it as packet side data. > > Signed-off-by: Devin Heitmueller > --- > libavformat/mpegts.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c > index 0b3edda..a1b2420 100644 > --- a/libavformat/mpegts.c > +++ b/libavformat/mpegts.c > @@ -1783,8 +1783,17 @@ static void scte_data_cb(MpegTSFilter *filter, > const uint8_t *section, > prg = av_find_program_from_stream(ts->stream, NULL, idx); > if (prg && prg->pcr_pid != -1 && prg->discard != AVDISCARD_ALL) { > MpegTSFilter *f = ts->pids[prg->pcr_pid]; > - if (f && f->last_pcr != -1) > + if (f && f->last_pcr != -1) { > + AVTransportTimestamp *transport_ts; > ts->pkt->pts = ts->pkt->dts = f->last_pcr/300; > + transport_ts = (AVTransportTimestamp *) > av_packet_new_side_data(ts->pkt, > + > AV_PKT_DATA_TRANSPORT_TIMESTAMP, > + > sizeof(AVTransportTimestamp)); > + if (transport_ts) { > + transport_ts->pts = ts->pkt->pts; > + transport_ts->time_base = av_make_q(1, 90000); > + } > + } > } > ts->stop_parse = 1; > How is this frame accurate? Surely "last_pcr" can be up to 100ms out. You need to actually be interpolating the true value in order to be frame accurate (not saying this is easy/doable in FFmpeg). But at the same time inaccurate splices aren't great either. Kieran _______________________________________________ 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".