Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/4] fftools/ffmpeg: add ability to set a input burst time before readrate is enforced
@ 2023-05-02 13:43 Anton Khirnov
  2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 2/4] fftools/ffmpeg: use a non-zero default for -readrate_initial_burst Anton Khirnov
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Anton Khirnov @ 2023-05-02 13:43 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: ddurham

From: Davy Durham <ddurham@davyandbeth.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
---
Picking up this patch because it interacts with my ongoing work on
ffmpeg CLI. Applied my review comments, including renaming the option to
-readrate_initial_burst.

CCing the original author, please let me know if you'd prefer to handle
this patch yourself.
---
 Changelog              |  1 +
 doc/ffmpeg.texi        |  3 +++
 fftools/ffmpeg.h       |  1 +
 fftools/ffmpeg_demux.c | 18 +++++++++++++++++-
 fftools/ffmpeg_opt.c   |  3 +++
 5 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/Changelog b/Changelog
index 4901ef6ad7..2061aaf462 100644
--- a/Changelog
+++ b/Changelog
@@ -7,6 +7,7 @@ version <next>:
 - Extend VAAPI support for libva-win32 on Windows
 - afireqsrc audio source filter
 - arls filter
+- ffmpeg CLI new option: -readrate_initial_burst
 
 version 6.0:
 - Radiance HDR image support
diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index 0fea0bacb1..a12700e2f3 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -1708,6 +1708,9 @@ it may cause packet loss.
 It is useful for when flow speed of output packets is important, such as live streaming.
 @item -re (@emph{input})
 Read input at native frame rate. This is equivalent to setting @code{-readrate 1}.
+@item -readrate_initial_burst @var{seconds}
+Set an initial read burst time, in seconds, after which @option{-re/-readrate}
+will be enforced.
 @item -vsync @var{parameter} (@emph{global})
 @itemx -fps_mode[:@var{stream_specifier}] @var{parameter} (@emph{output,per-stream})
 Set video sync method / framerate mode. vsync is applied to all output video streams
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index b6389d7f99..a03a6b0302 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -126,6 +126,7 @@ typedef struct OptionsContext {
     int loop;
     int rate_emu;
     float readrate;
+    double readrate_initial_burst;
     int accurate_seek;
     int thread_queue_size;
     int input_sync_ref;
diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index 26426c7ac1..37d7649da9 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -81,6 +81,8 @@ typedef struct Demuxer {
     /* number of streams that the user was warned of */
     int nb_streams_warn;
 
+    double readrate_initial_burst;
+
     AVThreadMessageQueue *in_thread_queue;
     int                   thread_queue_size;
     pthread_t             thread;
@@ -455,6 +457,7 @@ int ifile_get_packet(InputFile *f, AVPacket **pkt)
                               (f->start_time != AV_NOPTS_VALUE ? f->start_time : 0)
                              );
         float scale = f->rate_emu ? 1.0 : f->readrate;
+        int64_t burst_until = AV_TIME_BASE * d->readrate_initial_burst;
         for (i = 0; i < f->nb_streams; i++) {
             InputStream *ist = f->streams[i];
             int64_t stream_ts_offset, pts, now;
@@ -462,7 +465,7 @@ int ifile_get_packet(InputFile *f, AVPacket **pkt)
             stream_ts_offset = FFMAX(ist->first_dts != AV_NOPTS_VALUE ? ist->first_dts : 0, file_start);
             pts = av_rescale(ist->dts, 1000000, AV_TIME_BASE);
             now = (av_gettime_relative() - ist->start) * scale + stream_ts_offset;
-            if (pts > now)
+            if (pts - burst_until > now)
                 return AVERROR(EAGAIN);
         }
     }
@@ -1236,6 +1239,19 @@ int ifile_open(const OptionsContext *o, const char *filename)
         f->rate_emu = 0;
     }
 
+    if (f->readrate || f->rate_emu) {
+        d->readrate_initial_burst = o->readrate_initial_burst ? o->readrate_initial_burst : 0.0;
+        if (d->readrate_initial_burst < 0.0) {
+            av_log(d, AV_LOG_ERROR,
+                   "Option -readrate_initial_burst is %0.3f; it must be non-negative.\n",
+                   d->readrate_initial_burst);
+            exit_program(1);
+        }
+    } else if (o->readrate_initial_burst) {
+        av_log(d, AV_LOG_WARNING, "Option -readrate_initial_burst ignored "
+               "since neither -readrate nor -re were given\n");
+    }
+
     d->thread_queue_size = o->thread_queue_size;
 
     /* update the current parameters so that they match the one of the input stream */
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index cf385c388e..7f22b22604 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -1454,6 +1454,9 @@ const OptionDef options[] = {
     { "readrate",       HAS_ARG | OPT_FLOAT | OPT_OFFSET |
                         OPT_EXPERT | OPT_INPUT,                      { .off = OFFSET(readrate) },
         "read input at specified rate", "speed" },
+    { "readrate_initial_burst", HAS_ARG | OPT_DOUBLE | OPT_OFFSET |
+                                OPT_EXPERT | OPT_INPUT,              { .off = OFFSET(readrate_initial_burst) },
+        "The initial amount of input to burst read before imposing any readrate", "seconds" },
     { "target",         HAS_ARG | OPT_PERFILE | OPT_OUTPUT,          { .func_arg = opt_target },
         "specify target file type (\"vcd\", \"svcd\", \"dvd\", \"dv\" or \"dv50\" "
         "with optional prefixes \"pal-\", \"ntsc-\" or \"film-\")", "type" },
-- 
2.39.2

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH 2/4] fftools/ffmpeg: use a non-zero default for -readrate_initial_burst
  2023-05-02 13:43 [FFmpeg-devel] [PATCH 1/4] fftools/ffmpeg: add ability to set a input burst time before readrate is enforced Anton Khirnov
@ 2023-05-02 13:43 ` Anton Khirnov
  2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 3/4] fftools/ffmpeg: reduce -re to -readrate 1 Anton Khirnov
  2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 4/4] fftools/ffmpeg: deprecate -re Anton Khirnov
  2 siblings, 0 replies; 6+ messages in thread
From: Anton Khirnov @ 2023-05-02 13:43 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: ddurham

Use it to replace a hack added in 6f206852289.
---
 fftools/ffmpeg_demux.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index 37d7649da9..e6f700f6c3 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -461,7 +461,7 @@ int ifile_get_packet(InputFile *f, AVPacket **pkt)
         for (i = 0; i < f->nb_streams; i++) {
             InputStream *ist = f->streams[i];
             int64_t stream_ts_offset, pts, now;
-            if (!ist->nb_packets || (ist->decoding_needed && !ist->got_output)) continue;
+            if (!ist->nb_packets) continue;
             stream_ts_offset = FFMAX(ist->first_dts != AV_NOPTS_VALUE ? ist->first_dts : 0, file_start);
             pts = av_rescale(ist->dts, 1000000, AV_TIME_BASE);
             now = (av_gettime_relative() - ist->start) * scale + stream_ts_offset;
@@ -1240,7 +1240,7 @@ int ifile_open(const OptionsContext *o, const char *filename)
     }
 
     if (f->readrate || f->rate_emu) {
-        d->readrate_initial_burst = o->readrate_initial_burst ? o->readrate_initial_burst : 0.0;
+        d->readrate_initial_burst = o->readrate_initial_burst ? o->readrate_initial_burst : 0.5;
         if (d->readrate_initial_burst < 0.0) {
             av_log(d, AV_LOG_ERROR,
                    "Option -readrate_initial_burst is %0.3f; it must be non-negative.\n",
-- 
2.39.2

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH 3/4] fftools/ffmpeg: reduce -re to -readrate 1
  2023-05-02 13:43 [FFmpeg-devel] [PATCH 1/4] fftools/ffmpeg: add ability to set a input burst time before readrate is enforced Anton Khirnov
  2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 2/4] fftools/ffmpeg: use a non-zero default for -readrate_initial_burst Anton Khirnov
@ 2023-05-02 13:43 ` Anton Khirnov
  2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 4/4] fftools/ffmpeg: deprecate -re Anton Khirnov
  2 siblings, 0 replies; 6+ messages in thread
From: Anton Khirnov @ 2023-05-02 13:43 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: ddurham

They are exactly equivalent, so there is no point in maintaining a
separate flag for -re.
---
 fftools/ffmpeg.c       |  2 +-
 fftools/ffmpeg.h       |  1 -
 fftools/ffmpeg_demux.c | 16 ++++++++--------
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index be9a3b2e34..27bfc28798 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -1564,7 +1564,7 @@ static int transcode_init(void)
     /* init framerate emulation */
     for (int i = 0; i < nb_input_files; i++) {
         InputFile *ifile = input_files[i];
-        if (ifile->readrate || ifile->rate_emu)
+        if (ifile->readrate)
             for (int j = 0; j < ifile->nb_streams; j++)
                 ifile->streams[j]->start = av_gettime_relative();
     }
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index a03a6b0302..b30f0758ec 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -484,7 +484,6 @@ typedef struct InputFile {
     InputStream **streams;
     int        nb_streams;
 
-    int rate_emu;
     float readrate;
     int accurate_seek;
 
diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index e6f700f6c3..9eea5a4eec 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -450,13 +450,12 @@ int ifile_get_packet(InputFile *f, AVPacket **pkt)
             return ret;
     }
 
-    if (f->readrate || f->rate_emu) {
+    if (f->readrate) {
         int i;
         int64_t file_start = copy_ts * (
                               (f->start_time_effective != AV_NOPTS_VALUE ? f->start_time_effective * !start_at_zero : 0) +
                               (f->start_time != AV_NOPTS_VALUE ? f->start_time : 0)
                              );
-        float scale = f->rate_emu ? 1.0 : f->readrate;
         int64_t burst_until = AV_TIME_BASE * d->readrate_initial_burst;
         for (i = 0; i < f->nb_streams; i++) {
             InputStream *ist = f->streams[i];
@@ -464,7 +463,7 @@ int ifile_get_packet(InputFile *f, AVPacket **pkt)
             if (!ist->nb_packets) continue;
             stream_ts_offset = FFMAX(ist->first_dts != AV_NOPTS_VALUE ? ist->first_dts : 0, file_start);
             pts = av_rescale(ist->dts, 1000000, AV_TIME_BASE);
-            now = (av_gettime_relative() - ist->start) * scale + stream_ts_offset;
+            now = (av_gettime_relative() - ist->start) * f->readrate + stream_ts_offset;
             if (pts - burst_until > now)
                 return AVERROR(EAGAIN);
         }
@@ -1223,7 +1222,6 @@ int ifile_open(const OptionsContext *o, const char *filename)
     f->input_sync_ref = o->input_sync_ref;
     f->input_ts_offset = o->input_ts_offset;
     f->ts_offset  = o->input_ts_offset - (copy_ts ? (start_at_zero && ic->start_time != AV_NOPTS_VALUE ? ic->start_time : 0) : timestamp);
-    f->rate_emu   = o->rate_emu;
     f->accurate_seek = o->accurate_seek;
     d->loop = o->loop;
     d->duration = 0;
@@ -1234,12 +1232,14 @@ int ifile_open(const OptionsContext *o, const char *filename)
         av_log(d, AV_LOG_ERROR, "Option -readrate is %0.3f; it must be non-negative.\n", f->readrate);
         exit_program(1);
     }
-    if (f->readrate && f->rate_emu) {
-        av_log(d, AV_LOG_WARNING, "Both -readrate and -re set. Using -readrate %0.3f.\n", f->readrate);
-        f->rate_emu = 0;
+    if (o->rate_emu) {
+        if (f->readrate) {
+            av_log(d, AV_LOG_WARNING, "Both -readrate and -re set. Using -readrate %0.3f.\n", f->readrate);
+        } else
+            f->readrate = 1.0f;
     }
 
-    if (f->readrate || f->rate_emu) {
+    if (f->readrate) {
         d->readrate_initial_burst = o->readrate_initial_burst ? o->readrate_initial_burst : 0.5;
         if (d->readrate_initial_burst < 0.0) {
             av_log(d, AV_LOG_ERROR,
-- 
2.39.2

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH 4/4] fftools/ffmpeg: deprecate -re
  2023-05-02 13:43 [FFmpeg-devel] [PATCH 1/4] fftools/ffmpeg: add ability to set a input burst time before readrate is enforced Anton Khirnov
  2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 2/4] fftools/ffmpeg: use a non-zero default for -readrate_initial_burst Anton Khirnov
  2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 3/4] fftools/ffmpeg: reduce -re to -readrate 1 Anton Khirnov
@ 2023-05-02 13:43 ` Anton Khirnov
  2023-05-02 15:36   ` Timo Rothenpieler
  2 siblings, 1 reply; 6+ messages in thread
From: Anton Khirnov @ 2023-05-02 13:43 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: ddurham

It is exactly equivalent to -readrate 1.0
---
 Changelog              | 1 +
 doc/ffmpeg.texi        | 2 +-
 fftools/ffmpeg.h       | 3 +++
 fftools/ffmpeg_demux.c | 5 +++++
 fftools/ffmpeg_opt.c   | 4 +++-
 5 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/Changelog b/Changelog
index 2061aaf462..5feb4fd24e 100644
--- a/Changelog
+++ b/Changelog
@@ -8,6 +8,7 @@ version <next>:
 - afireqsrc audio source filter
 - arls filter
 - ffmpeg CLI new option: -readrate_initial_burst
+- ffmpeg CLI option -re deprecated in favor of -readrate 1.0
 
 version 6.0:
 - Radiance HDR image support
diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index a12700e2f3..01fd2ae0fe 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -1707,7 +1707,7 @@ it may cause packet loss.
 
 It is useful for when flow speed of output packets is important, such as live streaming.
 @item -re (@emph{input})
-Read input at native frame rate. This is equivalent to setting @code{-readrate 1}.
+This option is deprecated and equivalent to setting @code{-readrate 1}.
 @item -readrate_initial_burst @var{seconds}
 Set an initial read burst time, in seconds, after which @option{-re/-readrate}
 will be enforced.
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index b30f0758ec..ec4c580b91 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -56,6 +56,7 @@
 #define FFMPEG_ROTATION_METADATA 1
 #define FFMPEG_OPT_QPHIST 1
 #define FFMPEG_OPT_ADRIFT_THRESHOLD 1
+#define FFMPEG_OPT_RE 1
 
 enum VideoSyncMethod {
     VSYNC_AUTO = -1,
@@ -124,7 +125,9 @@ typedef struct OptionsContext {
     /* input options */
     int64_t input_ts_offset;
     int loop;
+#if FFMPEG_OPT_RE
     int rate_emu;
+#endif
     float readrate;
     double readrate_initial_burst;
     int accurate_seek;
diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index 9eea5a4eec..6727193697 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -1232,12 +1232,17 @@ int ifile_open(const OptionsContext *o, const char *filename)
         av_log(d, AV_LOG_ERROR, "Option -readrate is %0.3f; it must be non-negative.\n", f->readrate);
         exit_program(1);
     }
+#if FFMPEG_OPT_RE
     if (o->rate_emu) {
+        av_log(d, AV_LOG_WARNING, "Option -re is deprecated and will be removed. "
+               "Use -readrate 1.0 instead\n");
+
         if (f->readrate) {
             av_log(d, AV_LOG_WARNING, "Both -readrate and -re set. Using -readrate %0.3f.\n", f->readrate);
         } else
             f->readrate = 1.0f;
     }
+#endif
 
     if (f->readrate) {
         d->readrate_initial_burst = o->readrate_initial_burst ? o->readrate_initial_burst : 0.5;
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index 7f22b22604..9670b65a96 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -1448,9 +1448,11 @@ const OptionDef options[] = {
         "dump each input packet" },
     { "hex",            OPT_BOOL | OPT_EXPERT,                       { &do_hex_dump },
         "when dumping packets, also dump the payload" },
+#if FFMPEG_OPT_RE
     { "re",             OPT_BOOL | OPT_EXPERT | OPT_OFFSET |
                         OPT_INPUT,                                   { .off = OFFSET(rate_emu) },
-        "read input at native frame rate; equivalent to -readrate 1", "" },
+        "deprecated, equivalent to -readrate 1.0", "" },
+#endif
     { "readrate",       HAS_ARG | OPT_FLOAT | OPT_OFFSET |
                         OPT_EXPERT | OPT_INPUT,                      { .off = OFFSET(readrate) },
         "read input at specified rate", "speed" },
-- 
2.39.2

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH 4/4] fftools/ffmpeg: deprecate -re
  2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 4/4] fftools/ffmpeg: deprecate -re Anton Khirnov
@ 2023-05-02 15:36   ` Timo Rothenpieler
  2023-05-02 15:40     ` Devin Heitmueller
  0 siblings, 1 reply; 6+ messages in thread
From: Timo Rothenpieler @ 2023-05-02 15:36 UTC (permalink / raw)
  To: ffmpeg-devel

On 02.05.2023 15:43, Anton Khirnov wrote:
> It is exactly equivalent to -readrate 1.0
> ---
>   Changelog              | 1 +
>   doc/ffmpeg.texi        | 2 +-
>   fftools/ffmpeg.h       | 3 +++
>   fftools/ffmpeg_demux.c | 5 +++++
>   fftools/ffmpeg_opt.c   | 4 +++-
>   5 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/Changelog b/Changelog
> index 2061aaf462..5feb4fd24e 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -8,6 +8,7 @@ version <next>:
>   - afireqsrc audio source filter
>   - arls filter
>   - ffmpeg CLI new option: -readrate_initial_burst
> +- ffmpeg CLI option -re deprecated in favor of -readrate 1.0


Not sure if deprecating that option is a good idea.
It's in A LOT of guides, and in a lot of peoples scripts.

I see no harm in keeping it around as a shorthand for a common use of 
-readrate.
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH 4/4] fftools/ffmpeg: deprecate -re
  2023-05-02 15:36   ` Timo Rothenpieler
@ 2023-05-02 15:40     ` Devin Heitmueller
  0 siblings, 0 replies; 6+ messages in thread
From: Devin Heitmueller @ 2023-05-02 15:40 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Tue, May 2, 2023 at 11:36 AM Timo Rothenpieler <timo@rothenpieler.org> wrote:
> Not sure if deprecating that option is a good idea.
> It's in A LOT of guides, and in a lot of peoples scripts.
>
> I see no harm in keeping it around as a shorthand for a common use of
> -readrate.

I actually thought about making a similar comment.  Lots of existing
users out there just know to add "-re" (and have it in scripts), and
the cost of keeping it as a simple alias to "readrate 1.0" is very
low.

Devin

-- 
Devin Heitmueller, Senior Software Engineer
LTN Global Communications
o: +1 (301) 363-1001
w: https://ltnglobal.com  e: devin.heitmueller@ltnglobal.com
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-05-02 15:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-02 13:43 [FFmpeg-devel] [PATCH 1/4] fftools/ffmpeg: add ability to set a input burst time before readrate is enforced Anton Khirnov
2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 2/4] fftools/ffmpeg: use a non-zero default for -readrate_initial_burst Anton Khirnov
2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 3/4] fftools/ffmpeg: reduce -re to -readrate 1 Anton Khirnov
2023-05-02 13:43 ` [FFmpeg-devel] [PATCH 4/4] fftools/ffmpeg: deprecate -re Anton Khirnov
2023-05-02 15:36   ` Timo Rothenpieler
2023-05-02 15:40     ` Devin Heitmueller

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git