diff options
author | Rodger Combs <rodger.combs@gmail.com> | 2014-10-20 18:50:12 -0500 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-10-21 03:31:33 +0200 |
commit | 315f9e929dc00d6df65b1b2bc278191832f63b96 (patch) | |
tree | 462e7e88c89c5322ef49a8f427650d15e2b35c49 | |
parent | 832b4c0a86bc1c48ed4c49792032778ccf7580c1 (diff) | |
download | ffmpeg-315f9e929dc00d6df65b1b2bc278191832f63b96.tar.gz |
ffmpeg_opt: Add -start_at_zero option.
This automatically shifts input timestamps to start at 0 instead of the file's
starting timestamp when using -copyts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | ffmpeg_opt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index c518ae11b0..13152d0970 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -91,6 +91,7 @@ int do_benchmark_all = 0; int do_hex_dump = 0; int do_pkt_dump = 0; int copy_ts = 0; +int start_at_zero = 0; int copy_tb = -1; int debug_ts = 0; int exit_on_error = 0; @@ -921,7 +922,7 @@ static int open_input_file(OptionsContext *o, const char *filename) f->start_time = o->start_time; f->recording_time = o->recording_time; f->input_ts_offset = o->input_ts_offset; - f->ts_offset = o->input_ts_offset - (copy_ts ? 0 : timestamp); + f->ts_offset = o->input_ts_offset - (copy_ts ? (start_at_zero && ic->start_time != AV_NOPTS_VALUE ? ic->start_time : 0) : timestamp); f->nb_streams = ic->nb_streams; f->rate_emu = o->rate_emu; f->accurate_seek = o->accurate_seek; @@ -2840,6 +2841,8 @@ const OptionDef options[] = { "audio drift threshold", "threshold" }, { "copyts", OPT_BOOL | OPT_EXPERT, { ©_ts }, "copy timestamps" }, + { "start_at_zero", OPT_BOOL | OPT_EXPERT, { &start_at_zero }, + "shift input timestamps to start at 0 when using copyts" }, { "copytb", HAS_ARG | OPT_INT | OPT_EXPERT, { ©_tb }, "copy input stream time base when stream copying", "mode" }, { "shortest", OPT_BOOL | OPT_EXPERT | OPT_OFFSET | |