[FFmpeg-devel] PATCH: Make -copyts a tri-state

Rodger Combs rodger.combs at gmail.com
Tue Oct 21 08:23:55 CEST 2014


> On Oct 20, 2014, at 20:42, Michael Niedermayer <michaelni at gmx.at> wrote:
> 
> On Mon, Oct 20, 2014 at 06:50:12PM -0500, Rodger Combs wrote:
>> 
>>> On Oct 17, 2014, at 03:19, Rodger Combs <rodger.combs at gmail.com> wrote:
>>> 
>>>> 
>>>> On Oct 15, 2014, at 06:00, Rodger Combs <rodger.combs at gmail.com <mailto:rodger.combs at gmail.com>> wrote:
>>>> 
>>>> 
>>>>> On Oct 15, 2014, at 05:37, Nicolas George <george at nsup.org> wrote:
>>>>> 
>>>>> Le quartidi 24 vendémiaire, an CCXXIII, Rodger Combs a écrit :
>>>>>> Discussed this briefly on IRC; decided this was a good idea. I'm not sure
>>>>>> if the commit message explains it well enough; please poke me here or on
>>>>>> IRC if it doesn't.
>>>>> 
>>>>>> From 617b532c8a403c1cf06e60c99e9f36c787553b43 Mon Sep 17 00:00:00 2001
>>>>>> From: Rodger Combs <rodger.combs at gmail.com>
>>>>>> Date: Wed, 15 Oct 2014 05:00:02 -0500
>>>>>> Subject: [PATCH] Make copyts a tri-state, with `no` normalizing input
>>>>>> timestamps.
>>>>>> 
>>>>>> This doesn't change the default or `-copyts` behavior, but allows
>>>>>> `-nocopyts` to make e.g. `-ss 50` have timestamps starting at 50 seconds,
>>>>>> even if the input file's timestamps start at a value other than zero.
>>>>>> ---
>>>>>> ffmpeg.c     | 6 +++---
>>>>>> ffmpeg_opt.c | 4 ++--
>>>>>> 2 files changed, 5 insertions(+), 5 deletions(-)
>>>>> 
>>>>> It looks like you forgot to update the documentation too.
>>>>> 
>>>>> Regards,
>>>>> 
>>>>> -- 
>>>>> Nicolas George
>>>>> _______________________________________________
>>>>> ffmpeg-devel mailing list
>>>>> ffmpeg-devel at ffmpeg.org
>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>> 
>>>> Indeed I did. Here you go:
>>>> <0001-Make-copyts-a-tri-state-with-no-normalizing-input-ti.patch>
>>>> 
>>>> It occurs to me that it might be more useful in some cases to have one master input file (the first one?) be shifted so its timestamps start at zero, and the rest be shifted by the same amount as the master. That might be a good argument for making this its own option, instead of making copyts a tri-state.
>>>> 
>>>> I'm not particularly attached to the naming or implementation here, so suggestions are plenty welcome :)
>>>> 
>>>> 
>>> Upon some further testing, this seems to create some unusual and undesired behavior in some cases, and I'm not sure exactly why. The patch is definitely not ready, but I'd appreciate it if anyone could help work out a better design for the feature.
>> 
>> My previous patch was awkward and had some unintended side-effects; this version just adds a separate option instead of hacking -copyts.
>> 
>> From 88eb820b701c7eea11d60dd75faa2cefe57bbfe0 Mon Sep 17 00:00:00 2001
>> From: Rodger Combs <rodger.combs at gmail.com>
>> Date: Mon, 20 Oct 2014 18:31:18 -0500
>> Subject: [PATCH] Add -start_at_zero option.
>> 
>> This automatically shifts input timestamps to start at 0 instead of the file's
>> starting timestamp when using -copyts.
> 
> applied
> 
> please add some documentation for this
> 
> thanks
> 
> -- 
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> 
> Awnsering whenever a program halts or runs forever is
> On a turing machine, in general impossible (turings halting problem).
> On any real computer, always possible as a real computer has a finite number
> of states N, and will either halt in less than N cycles or never halt.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Documentation patch:

From 4fa599b322e5b5c172854eaf32de1ef25e9ec7f5 Mon Sep 17 00:00:00 2001
From: Rodger Combs <rodger.combs at gmail.com>
Date: Tue, 21 Oct 2014 01:22:16 -0500
Subject: [PATCH] doc/ffmpeg.texi: document the new -start_at_zero option

---
 doc/ffmpeg.texi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index 4fc7682..38dca86 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -1016,6 +1016,12 @@ processing (e.g. in case the format option @option{avoid_negative_ts}
 is enabled) the output timestamps may mismatch with the input
 timestamps even when this option is selected.
 
+ at item -start_at_zero
+When used with @option{copyts}, shift input timestamps so they start at zero.
+
+This means that using e.g. @code{-ss 50} will make output timestamps start at
+50 seconds, regardless of what timestamp the input file started at.
+
 @item -copytb @var{mode}
 Specify how to set the encoder timebase when stream copying.  @var{mode} is an
 integer numeric value, and can assume one of the following values:
-- 
1.9.1



More information about the ffmpeg-devel mailing list