[FFmpeg-devel] [PATCH] avfilter/alimiter: Remove the delay introduced by lookahead buffer
Wang Cao
wangcao at google.com
Thu Mar 31 00:03:15 EEST 2022
The change essentially removes the delay introduces by lookahead buffer.
The valid audio data in the internal buffer is also flushed to ensure
the integrity of output.
Signed-off-by: Wang Cao <wangcao at google.com>
---
doc/filters.texi | 2 -
libavfilter/af_alimiter.c | 97 +++++-
tests/ref/fate/filter-alimiter | 518 ++++++++++++++++-----------------
3 files changed, 344 insertions(+), 273 deletions(-)
Thanks a lot for your time to review my patch. I have made "zero_delay"
option to default. Now the output samples will only be written after the
lookahead buffer is full. We also uses "request_frame" to flush the
internal buffers so that all valid input audio samples are written.
diff --git a/doc/filters.texi b/doc/filters.texi
index d70ac3e237..5d1adf88e1 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -1943,8 +1943,6 @@ aiir=z=1.3057 0 0 0:p=1.3057 2.3892 2.1860 1:f=sf:r=d
The limiter prevents an input signal from rising over a desired threshold.
This limiter uses lookahead technology to prevent your signal from distorting.
-It means that there is a small delay after the signal is processed. Keep in mind
-that the delay it produces is the attack time you set.
The filter accepts the following options:
diff --git a/libavfilter/af_alimiter.c b/libavfilter/af_alimiter.c
index 133f98f165..e1fcf98574 100644
--- a/libavfilter/af_alimiter.c
+++ b/libavfilter/af_alimiter.c
@@ -30,6 +30,7 @@
#include "audio.h"
#include "avfilter.h"
+#include "bufferqueue.h"
#include "formats.h"
#include "internal.h"
@@ -55,6 +56,13 @@ typedef struct AudioLimiterContext {
int *nextpos;
double *nextdelta;
+ int total_samples_to_flush;
+ int lookahead_buffer_full;
+
+ struct FFBufQueue output_frame_queue;
+ int output_sample_pos;
+ int output_frame_pos;
+
double delta;
int nextiter;
int nextlen;
@@ -129,6 +137,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
AVFrame *out;
double *buf;
int n, c, i;
+ int can_free_input_frame = 0;
+ double peak = 0;
if (av_frame_is_writable(in)) {
out = in;
@@ -138,12 +148,23 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
av_frame_free(&in);
return AVERROR(ENOMEM);
}
+ can_free_input_frame = 1;
av_frame_copy_props(out, in);
}
- dst = (double *)out->data[0];
+
+ if (ff_bufqueue_is_full(&s->output_frame_queue)) {
+ // In the runtime, the total number of frames in the queue is bounded by
+ // attack_time, sample rate and frame size.
+ return AVERROR_BUG;
+ }
+
+ ff_bufqueue_add(ctx, &s->output_frame_queue, out);
for (n = 0; n < in->nb_samples; n++) {
- double peak = 0;
+ out = ff_bufqueue_peek(&s->output_frame_queue, s->output_frame_pos);
+ dst = (double *)out->data[0];
+ dst += s->output_sample_pos * channels;
+ peak = 0;
for (c = 0; c < channels; c++) {
double sample = src[c] * level_in;
@@ -213,8 +234,21 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
s->att += s->delta;
- for (c = 0; c < channels; c++)
- dst[c] = buf[c] * s->att;
+ // Checks lookahead buffer (s->buffer) has been filled
+ if (!s->lookahead_buffer_full && (s->pos + channels) % buffer_size == 0) {
+ s->lookahead_buffer_full = 1;
+ }
+ if (s->lookahead_buffer_full) {
+ for (c = 0; c < channels; c++) {
+ dst[c] = buf[c] * s->att;
+ dst[c] = av_clipd(dst[c], -limit, limit) * level * level_out;
+ }
+ s->output_sample_pos++;
+ if (s->output_sample_pos == out->nb_samples) {
+ s->output_frame_pos++;
+ s->output_sample_pos = 0;
+ }
+ }
if ((s->pos + channels) % buffer_size == nextpos[s->nextiter]) {
if (s->auto_release) {
@@ -261,18 +295,55 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
if (s->delta != 0. && fabs(s->delta) < 0.00000000000001)
s->delta = 0.;
- for (c = 0; c < channels; c++)
- dst[c] = av_clipd(dst[c], -limit, limit) * level * level_out;
-
s->pos = (s->pos + channels) % buffer_size;
src += channels;
- dst += channels;
}
-
- if (in != out)
+ if (can_free_input_frame) {
av_frame_free(&in);
+ }
- return ff_filter_frame(outlink, out);
+ if (s->output_frame_pos > 0) {
+ s->output_frame_pos--;
+ out = ff_bufqueue_get(&s->output_frame_queue);
+ return ff_filter_frame(outlink, out);
+ }
+ return 0;
+}
+
+static int request_frame(AVFilterLink* outlink)
+{
+ AVFilterContext *ctx = outlink->src;
+ AudioLimiterContext *s = (AudioLimiterContext*)ctx->priv;
+ int ret;
+ AVFilterLink *inlink;
+ AVFrame *out;
+ AVFrame *silence_frame;
+
+ ret = ff_request_frame(ctx->inputs[0]);
+
+ if (ret != AVERROR_EOF || s->total_samples_to_flush == 0) {
+ // Not necessarily an error, just not EOF.
+ return ret;
+ }
+
+ // Flush the frames in the internal buffer
+ if (s->output_frame_pos > 0) {
+ out = ff_bufqueue_get(&s->output_frame_queue);
+ s->output_frame_pos--;
+ return ff_filter_frame(outlink, out);
+ }
+
+ // We reach here when input filters have finished producing data (i.e. EOF),
+ // but because of the attack param, s->buffer still has meaningful
+ // audio content that needs flushing.
+ inlink = ctx->inputs[0];
+ // Pushes silence frame to flush valid audio in the s->buffer
+ silence_frame = ff_get_audio_buffer(inlink, s->total_samples_to_flush);
+ ret = filter_frame(inlink, silence_frame);
+ if (ret < 0) {
+ return ret;
+ }
+ return AVERROR_EOF;
}
static int config_input(AVFilterLink *inlink)
@@ -292,7 +363,8 @@ static int config_input(AVFilterLink *inlink)
return AVERROR(ENOMEM);
memset(s->nextpos, -1, obuffer_size * sizeof(*s->nextpos));
- s->buffer_size = inlink->sample_rate * s->attack * inlink->ch_layout.nb_channels;
+ s->total_samples_to_flush = inlink->sample_rate * s->attack;
+ s->buffer_size = s->total_samples_to_flush * inlink->ch_layout.nb_channels;
s->buffer_size -= s->buffer_size % inlink->ch_layout.nb_channels;
if (s->buffer_size <= 0) {
@@ -325,6 +397,7 @@ static const AVFilterPad alimiter_outputs[] = {
{
.name = "default",
.type = AVMEDIA_TYPE_AUDIO,
+ .request_frame = request_frame,
},
};
diff --git a/tests/ref/fate/filter-alimiter b/tests/ref/fate/filter-alimiter
index 56cfb614da..93daba92c6 100644
--- a/tests/ref/fate/filter-alimiter
+++ b/tests/ref/fate/filter-alimiter
@@ -3,262 +3,262 @@
#codec_id 0: pcm_s16le
#sample_rate 0: 44100
#channel_layout_name 0: stereo
-0, 0, 0, 1024, 4096, 0xd4194af4
-0, 1024, 1024, 1024, 4096, 0x686af4ab
-0, 2048, 2048, 1024, 4096, 0xe80cee61
-0, 3072, 3072, 1024, 4096, 0xa686fbad
-0, 4096, 4096, 1024, 4096, 0x191e062c
-0, 5120, 5120, 1024, 4096, 0x1a13edb1
-0, 6144, 6144, 1024, 4096, 0xab21f8ef
-0, 7168, 7168, 1024, 4096, 0xaa30e757
-0, 8192, 8192, 1024, 4096, 0x5afdf69f
-0, 9216, 9216, 1024, 4096, 0x765e05ec
-0, 10240, 10240, 1024, 4096, 0x6484f551
-0, 11264, 11264, 1024, 4096, 0x61b9e9f7
-0, 12288, 12288, 1024, 4096, 0xa735feb3
-0, 13312, 13312, 1024, 4096, 0xb47203aa
-0, 14336, 14336, 1024, 4096, 0xb6b5fbf5
-0, 15360, 15360, 1024, 4096, 0xbc66f14f
-0, 16384, 16384, 1024, 4096, 0x2003ff5b
-0, 17408, 17408, 1024, 4096, 0x1160f17d
-0, 18432, 18432, 1024, 4096, 0x308001a4
-0, 19456, 19456, 1024, 4096, 0x9df9f429
-0, 20480, 20480, 1024, 4096, 0x3e6eec0f
-0, 21504, 21504, 1024, 4096, 0xca3301f2
-0, 22528, 22528, 1024, 4096, 0x9eb1f961
-0, 23552, 23552, 1024, 4096, 0xd0a50c8c
-0, 24576, 24576, 1024, 4096, 0x071ee96b
-0, 25600, 25600, 1024, 4096, 0x7a46f05b
-0, 26624, 26624, 1024, 4096, 0x2cb2f475
-0, 27648, 27648, 1024, 4096, 0x5bda0a52
-0, 28672, 28672, 1024, 4096, 0x33c0f727
-0, 29696, 29696, 1024, 4096, 0x53cfee59
-0, 30720, 30720, 1024, 4096, 0x1588f221
-0, 31744, 31744, 1024, 4096, 0x95d400d6
-0, 32768, 32768, 1024, 4096, 0x0078009a
-0, 33792, 33792, 1024, 4096, 0x686af4ab
-0, 34816, 34816, 1024, 4096, 0xe80cee61
-0, 35840, 35840, 1024, 4096, 0xa686fbad
-0, 36864, 36864, 1024, 4096, 0x191e062c
-0, 37888, 37888, 1024, 4096, 0x1a13edb1
-0, 38912, 38912, 1024, 4096, 0xab21f8ef
-0, 39936, 39936, 1024, 4096, 0xaa30e757
-0, 40960, 40960, 1024, 4096, 0x5afdf69f
-0, 41984, 41984, 1024, 4096, 0x765e05ec
-0, 43008, 43008, 1024, 4096, 0x6484f551
-0, 44032, 44032, 1024, 4096, 0x755e0600
-0, 45056, 45056, 1024, 4096, 0x5056ecb9
-0, 46080, 46080, 1024, 4096, 0xdcb609a8
-0, 47104, 47104, 1024, 4096, 0xc87bf4a1
-0, 48128, 48128, 1024, 4096, 0xecdfef95
-0, 49152, 49152, 1024, 4096, 0x905ff13f
-0, 50176, 50176, 1024, 4096, 0x4e69eeb3
-0, 51200, 51200, 1024, 4096, 0x16e1082c
-0, 52224, 52224, 1024, 4096, 0x606c0a22
-0, 53248, 53248, 1024, 4096, 0x9f94f351
-0, 54272, 54272, 1024, 4096, 0x2c47f63f
-0, 55296, 55296, 1024, 4096, 0x9e14ebf9
-0, 56320, 56320, 1024, 4096, 0x7804fbcb
-0, 57344, 57344, 1024, 4096, 0xc7c6ffb7
-0, 58368, 58368, 1024, 4096, 0xa547f68d
-0, 59392, 59392, 1024, 4096, 0x0c87fed7
-0, 60416, 60416, 1024, 4096, 0x88b5fef1
-0, 61440, 61440, 1024, 4096, 0x325af00d
-0, 62464, 62464, 1024, 4096, 0xd826edd9
-0, 63488, 63488, 1024, 4096, 0x1fbe1138
-0, 64512, 64512, 1024, 4096, 0xdf85da7b
-0, 65536, 65536, 1024, 4096, 0xf987f9b3
-0, 66560, 66560, 1024, 4096, 0x5df5e12f
-0, 67584, 67584, 1024, 4096, 0x259cf8ef
-0, 68608, 68608, 1024, 4096, 0xa191eb4f
-0, 69632, 69632, 1024, 4096, 0xfe5bf1fd
-0, 70656, 70656, 1024, 4096, 0x7675e2cb
-0, 71680, 71680, 1024, 4096, 0x796a2f90
-0, 72704, 72704, 1024, 4096, 0xaa52e7a5
-0, 73728, 73728, 1024, 4096, 0x2b56fd81
-0, 74752, 74752, 1024, 4096, 0xbf7c02ee
-0, 75776, 75776, 1024, 4096, 0xfe4cebb1
-0, 76800, 76800, 1024, 4096, 0xe5b7fdf7
-0, 77824, 77824, 1024, 4096, 0xd271ece7
-0, 78848, 78848, 1024, 4096, 0x96e0f69f
-0, 79872, 79872, 1024, 4096, 0x6e5eef33
-0, 80896, 80896, 1024, 4096, 0x78b70b6e
-0, 81920, 81920, 1024, 4096, 0x61f2f075
-0, 82944, 82944, 1024, 4096, 0xf1dc47dc
-0, 83968, 83968, 1024, 4096, 0xf4b406d2
-0, 84992, 84992, 1024, 4096, 0xe33806fe
-0, 86016, 86016, 1024, 4096, 0x5b5ef087
-0, 87040, 87040, 1024, 4096, 0x3fa207da
-0, 88064, 88064, 1024, 4096, 0x4719f201
-0, 89088, 89088, 1024, 4096, 0x641feaad
-0, 90112, 90112, 1024, 4096, 0x905402ec
-0, 91136, 91136, 1024, 4096, 0xf529e11f
-0, 92160, 92160, 1024, 4096, 0x65a41838
-0, 93184, 93184, 1024, 4096, 0x651efb6f
-0, 94208, 94208, 1024, 4096, 0x251b1390
-0, 95232, 95232, 1024, 4096, 0x45ea05a8
-0, 96256, 96256, 1024, 4096, 0xe65be141
-0, 97280, 97280, 1024, 4096, 0xd452d3dd
-0, 98304, 98304, 1024, 4096, 0x3bdff821
-0, 99328, 99328, 1024, 4096, 0x74da00e6
-0, 100352, 100352, 1024, 4096, 0x4474fa19
-0, 101376, 101376, 1024, 4096, 0x11ddedef
-0, 102400, 102400, 1024, 4096, 0xf027d72b
-0, 103424, 103424, 1024, 4096, 0xaa0a1ce6
-0, 104448, 104448, 1024, 4096, 0x7168145e
-0, 105472, 105472, 1024, 4096, 0x94a710a4
-0, 106496, 106496, 1024, 4096, 0x6f55ecf1
-0, 107520, 107520, 1024, 4096, 0xc12de6d7
-0, 108544, 108544, 1024, 4096, 0x8ff7db15
-0, 109568, 109568, 1024, 4096, 0x366d0cc6
-0, 110592, 110592, 1024, 4096, 0xb04afa4f
-0, 111616, 111616, 1024, 4096, 0xf6abbee7
-0, 112640, 112640, 1024, 4096, 0xbe9910dc
-0, 113664, 113664, 1024, 4096, 0x96c3047e
-0, 114688, 114688, 1024, 4096, 0x9dc1e8e1
-0, 115712, 115712, 1024, 4096, 0x4b2c1092
-0, 116736, 116736, 1024, 4096, 0x592d212c
-0, 117760, 117760, 1024, 4096, 0x5c3bda15
-0, 118784, 118784, 1024, 4096, 0x43c8e90f
-0, 119808, 119808, 1024, 4096, 0x3bfa074e
-0, 120832, 120832, 1024, 4096, 0xa2d7d443
-0, 121856, 121856, 1024, 4096, 0xd4b02844
-0, 122880, 122880, 1024, 4096, 0x9f5d2a92
-0, 123904, 123904, 1024, 4096, 0xc19bf69d
-0, 124928, 124928, 1024, 4096, 0x47b8fe75
-0, 125952, 125952, 1024, 4096, 0x337334b0
-0, 126976, 126976, 1024, 4096, 0x96ed14f0
-0, 128000, 128000, 1024, 4096, 0x9af0f67b
-0, 129024, 129024, 1024, 4096, 0xdf541a60
-0, 130048, 130048, 1024, 4096, 0x684f0c06
-0, 131072, 131072, 1024, 4096, 0xe3d0015e
-0, 132096, 132096, 1024, 4096, 0xf648d73c
-0, 133120, 133120, 1024, 4096, 0x4041f3ee
-0, 134144, 134144, 1024, 4096, 0x1421025f
-0, 135168, 135168, 1024, 4096, 0x4eb5fc97
-0, 136192, 136192, 1024, 4096, 0x510f02fe
-0, 137216, 137216, 1024, 4096, 0x85e9e95e
-0, 138240, 138240, 1024, 4096, 0xb1d0fe10
-0, 139264, 139264, 1024, 4096, 0xda66f5f8
-0, 140288, 140288, 1024, 4096, 0x3826eaa8
-0, 141312, 141312, 1024, 4096, 0xa7cc0176
-0, 142336, 142336, 1024, 4096, 0x71e8fe5a
-0, 143360, 143360, 1024, 4096, 0x0149fcfa
-0, 144384, 144384, 1024, 4096, 0xbd36fd8e
-0, 145408, 145408, 1024, 4096, 0xec1afcc6
-0, 146432, 146432, 1024, 4096, 0xea80ec5e
-0, 147456, 147456, 1024, 4096, 0x8da1f0ac
-0, 148480, 148480, 1024, 4096, 0x63c3e61c
-0, 149504, 149504, 1024, 4096, 0x188cf09b
-0, 150528, 150528, 1024, 4096, 0x7eebea85
-0, 151552, 151552, 1024, 4096, 0x7ef6f718
-0, 152576, 152576, 1024, 4096, 0xcd9fecfb
-0, 153600, 153600, 1024, 4096, 0x1aa7f624
-0, 154624, 154624, 1024, 4096, 0xcab5f1e3
-0, 155648, 155648, 1024, 4096, 0x36e9f795
-0, 156672, 156672, 1024, 4096, 0x952cf54d
-0, 157696, 157696, 1024, 4096, 0x54a4ed3b
-0, 158720, 158720, 1024, 4096, 0x1e24f992
-0, 159744, 159744, 1024, 4096, 0xab6bfa09
-0, 160768, 160768, 1024, 4096, 0xa021020b
-0, 161792, 161792, 1024, 4096, 0xaa0600f5
-0, 162816, 162816, 1024, 4096, 0xadf7ec92
-0, 163840, 163840, 1024, 4096, 0x5dd5f63f
-0, 164864, 164864, 1024, 4096, 0xc01bff89
-0, 165888, 165888, 1024, 4096, 0x05dbf1e7
-0, 166912, 166912, 1024, 4096, 0x44f00038
-0, 167936, 167936, 1024, 4096, 0x6dc5f886
-0, 168960, 168960, 1024, 4096, 0xeb88e729
-0, 169984, 169984, 1024, 4096, 0xfe5cf53e
-0, 171008, 171008, 1024, 4096, 0x2692f7a0
-0, 172032, 172032, 1024, 4096, 0xe984f24b
-0, 173056, 173056, 1024, 4096, 0x1a4ef732
-0, 174080, 174080, 1024, 4096, 0x3b60010b
-0, 175104, 175104, 1024, 4096, 0x6dd0eaf2
-0, 176128, 176128, 1024, 4096, 0x313de851
-0, 177152, 177152, 1024, 4096, 0x239ef043
-0, 178176, 178176, 1024, 4096, 0x2366fe43
-0, 179200, 179200, 1024, 4096, 0xbfd6f3b9
-0, 180224, 180224, 1024, 4096, 0xb34bf67b
-0, 181248, 181248, 1024, 4096, 0x00def7c1
-0, 182272, 182272, 1024, 4096, 0xa6d0f466
-0, 183296, 183296, 1024, 4096, 0xd1a1f1c2
-0, 184320, 184320, 1024, 4096, 0x32f8923c
-0, 185344, 185344, 1024, 4096, 0x137001d2
-0, 186368, 186368, 1024, 4096, 0xb881f6cd
-0, 187392, 187392, 1024, 4096, 0xf44e034a
-0, 188416, 188416, 1024, 4096, 0xb43fecf7
-0, 189440, 189440, 1024, 4096, 0xe62ced50
-0, 190464, 190464, 1024, 4096, 0x221dfd0d
-0, 191488, 191488, 1024, 4096, 0x85400147
-0, 192512, 192512, 1024, 4096, 0x8bf8d054
-0, 193536, 193536, 1024, 4096, 0x08370170
-0, 194560, 194560, 1024, 4096, 0xec62effa
-0, 195584, 195584, 1024, 4096, 0xd58cf67c
-0, 196608, 196608, 1024, 4096, 0xf597f9a1
-0, 197632, 197632, 1024, 4096, 0x63fcf0b0
-0, 198656, 198656, 1024, 4096, 0x8cc8fd32
-0, 199680, 199680, 1024, 4096, 0xf8c2072c
-0, 200704, 200704, 1024, 4096, 0x0c7e93a5
-0, 201728, 201728, 1024, 4096, 0x1cc3f612
-0, 202752, 202752, 1024, 4096, 0x83adf8ee
-0, 203776, 203776, 1024, 4096, 0x680e0195
-0, 204800, 204800, 1024, 4096, 0x9d34fd2e
-0, 205824, 205824, 1024, 4096, 0x44cdfb34
-0, 206848, 206848, 1024, 4096, 0x193df790
-0, 207872, 207872, 1024, 4096, 0xb337ef64
-0, 208896, 208896, 1024, 4096, 0x0074ee38
-0, 209920, 209920, 1024, 4096, 0x239ef043
-0, 210944, 210944, 1024, 4096, 0x2366fe43
-0, 211968, 211968, 1024, 4096, 0xbfd6f3b9
-0, 212992, 212992, 1024, 4096, 0xb34bf67b
-0, 214016, 214016, 1024, 4096, 0x00def7c1
-0, 215040, 215040, 1024, 4096, 0xa6d0f466
-0, 216064, 216064, 1024, 4096, 0xd1a1f1c2
-0, 217088, 217088, 1024, 4096, 0x32f8923c
-0, 218112, 218112, 1024, 4096, 0x137001d2
-0, 219136, 219136, 1024, 4096, 0xb881f6cd
-0, 220160, 220160, 1024, 4096, 0xf44e034a
-0, 221184, 221184, 1024, 4096, 0xb43fecf7
-0, 222208, 222208, 1024, 4096, 0xe62ced50
-0, 223232, 223232, 1024, 4096, 0x221dfd0d
-0, 224256, 224256, 1024, 4096, 0x85400147
-0, 225280, 225280, 1024, 4096, 0x8bf8d054
-0, 226304, 226304, 1024, 4096, 0x08370170
-0, 227328, 227328, 1024, 4096, 0xec62effa
-0, 228352, 228352, 1024, 4096, 0xd58cf67c
-0, 229376, 229376, 1024, 4096, 0xf597f9a1
-0, 230400, 230400, 1024, 4096, 0x63fcf0b0
-0, 231424, 231424, 1024, 4096, 0x8cc8fd32
-0, 232448, 232448, 1024, 4096, 0xf8c2072c
-0, 233472, 233472, 1024, 4096, 0x0c7e93a5
-0, 234496, 234496, 1024, 4096, 0x1cc3f612
-0, 235520, 235520, 1024, 4096, 0x83adf8ee
-0, 236544, 236544, 1024, 4096, 0x680e0195
-0, 237568, 237568, 1024, 4096, 0x9d34fd2e
-0, 238592, 238592, 1024, 4096, 0x44cdfb34
-0, 239616, 239616, 1024, 4096, 0x193df790
-0, 240640, 240640, 1024, 4096, 0xb337ef64
-0, 241664, 241664, 1024, 4096, 0x0074ee38
-0, 242688, 242688, 1024, 4096, 0x239ef043
-0, 243712, 243712, 1024, 4096, 0x2366fe43
-0, 244736, 244736, 1024, 4096, 0xbfd6f3b9
-0, 245760, 245760, 1024, 4096, 0xb34bf67b
-0, 246784, 246784, 1024, 4096, 0x00def7c1
-0, 247808, 247808, 1024, 4096, 0xa6d0f466
-0, 248832, 248832, 1024, 4096, 0xd1a1f1c2
-0, 249856, 249856, 1024, 4096, 0x32f8923c
-0, 250880, 250880, 1024, 4096, 0x137001d2
-0, 251904, 251904, 1024, 4096, 0xb881f6cd
-0, 252928, 252928, 1024, 4096, 0xf44e034a
-0, 253952, 253952, 1024, 4096, 0xb43fecf7
-0, 254976, 254976, 1024, 4096, 0xe62ced50
-0, 256000, 256000, 1024, 4096, 0x221dfd0d
-0, 257024, 257024, 1024, 4096, 0x85400147
-0, 258048, 258048, 1024, 4096, 0x8bf8d054
-0, 259072, 259072, 1024, 4096, 0x08370170
-0, 260096, 260096, 1024, 4096, 0xec62effa
-0, 261120, 261120, 1024, 4096, 0xd58cf67c
-0, 262144, 262144, 1024, 4096, 0xf597f9a1
-0, 263168, 263168, 1024, 4096, 0x63fcf0b0
-0, 264192, 264192, 408, 1632, 0xedfa314a
+0, 0, 0, 1024, 4096, 0xd0b20048
+0, 1024, 1024, 1024, 4096, 0x8abaf0ab
+0, 2048, 2048, 1024, 4096, 0x5a00f489
+0, 3072, 3072, 1024, 4096, 0x6d87f3d3
+0, 4096, 4096, 1024, 4096, 0x27fc04bc
+0, 5120, 5120, 1024, 4096, 0x6d18f2e1
+0, 6144, 6144, 1024, 4096, 0x6a11f0c9
+0, 7168, 7168, 1024, 4096, 0xadf8ec27
+0, 8192, 8192, 1024, 4096, 0xf0e2fcf9
+0, 9216, 9216, 1024, 4096, 0x55280372
+0, 10240, 10240, 1024, 4096, 0x898ffad3
+0, 11264, 11264, 1024, 4096, 0x06a5eb6b
+0, 12288, 12288, 1024, 4096, 0x9fadfe07
+0, 13312, 13312, 1024, 4096, 0x6f32fd99
+0, 14336, 14336, 1024, 4096, 0x7856f871
+0, 15360, 15360, 1024, 4096, 0xf742f893
+0, 16384, 16384, 1024, 4096, 0x7955f7e7
+0, 17408, 17408, 1024, 4096, 0xbb32f521
+0, 18432, 18432, 1024, 4096, 0x8302fda9
+0, 19456, 19456, 1024, 4096, 0x0d3cfdeb
+0, 20480, 20480, 1024, 4096, 0xd034ed5f
+0, 21504, 21504, 1024, 4096, 0xd3c1fb11
+0, 22528, 22528, 1024, 4096, 0x80bc0734
+0, 23552, 23552, 1024, 4096, 0x82a60000
+0, 24576, 24576, 1024, 4096, 0xaf6ceb09
+0, 25600, 25600, 1024, 4096, 0x0c0dec9f
+0, 26624, 26624, 1024, 4096, 0x8ca8f335
+0, 27648, 27648, 1024, 4096, 0xc75604bc
+0, 28672, 28672, 1024, 4096, 0x0a22f7b9
+0, 29696, 29696, 1024, 4096, 0x237cf4a5
+0, 30720, 30720, 1024, 4096, 0x5276f36f
+0, 31744, 31744, 1024, 4096, 0x148a0194
+0, 32768, 32768, 1024, 4096, 0xd0b20048
+0, 33792, 33792, 1024, 4096, 0x8abaf0ab
+0, 34816, 34816, 1024, 4096, 0x5a00f489
+0, 35840, 35840, 1024, 4096, 0x6d87f3d3
+0, 36864, 36864, 1024, 4096, 0x27fc04bc
+0, 37888, 37888, 1024, 4096, 0x6d18f2e1
+0, 38912, 38912, 1024, 4096, 0x6a11f0c9
+0, 39936, 39936, 1024, 4096, 0xadf8ec27
+0, 40960, 40960, 1024, 4096, 0xf0e2fcf9
+0, 41984, 41984, 1024, 4096, 0x55280372
+0, 43008, 43008, 1024, 4096, 0x8ac5fad5
+0, 44032, 44032, 1024, 4096, 0x934007ba
+0, 45056, 45056, 1024, 4096, 0x84acf4a3
+0, 46080, 46080, 1024, 4096, 0x7c8ff49b
+0, 47104, 47104, 1024, 4096, 0x79030244
+0, 48128, 48128, 1024, 4096, 0x28d0e5f5
+0, 49152, 49152, 1024, 4096, 0xf12df059
+0, 50176, 50176, 1024, 4096, 0xd0eef7a7
+0, 51200, 51200, 1024, 4096, 0x2e2e02e4
+0, 52224, 52224, 1024, 4096, 0x7c421656
+0, 53248, 53248, 1024, 4096, 0x79fcea35
+0, 54272, 54272, 1024, 4096, 0xb566e88b
+0, 55296, 55296, 1024, 4096, 0xad66f8e9
+0, 56320, 56320, 1024, 4096, 0xe0d001dc
+0, 57344, 57344, 1024, 4096, 0xfc5df6cd
+0, 58368, 58368, 1024, 4096, 0x9dcefad5
+0, 59392, 59392, 1024, 4096, 0xbde90702
+0, 60416, 60416, 1024, 4096, 0x4feef329
+0, 61440, 61440, 1024, 4096, 0xbb30ef39
+0, 62464, 62464, 1024, 4096, 0x131ff1e3
+0, 63488, 63488, 1024, 4096, 0x994c0184
+0, 64512, 64512, 1024, 4096, 0xc981e10b
+0, 65536, 65536, 1024, 4096, 0xceff022a
+0, 66560, 66560, 1024, 4096, 0x07d1e1d3
+0, 67584, 67584, 1024, 4096, 0x7ea5f31d
+0, 68608, 68608, 1024, 4096, 0x16e1e885
+0, 69632, 69632, 1024, 4096, 0x2a92fb45
+0, 70656, 70656, 1024, 4096, 0x9f90ef6b
+0, 71680, 71680, 1024, 4096, 0xed961010
+0, 72704, 72704, 1024, 4096, 0x6169f659
+0, 73728, 73728, 1024, 4096, 0xbe830c50
+0, 74752, 74752, 1024, 4096, 0x1744ea89
+0, 75776, 75776, 1024, 4096, 0x00bcf34f
+0, 76800, 76800, 1024, 4096, 0x91f7f7f3
+0, 77824, 77824, 1024, 4096, 0xa4e1f1fb
+0, 78848, 78848, 1024, 4096, 0xf3e5f73b
+0, 79872, 79872, 1024, 4096, 0x64d0eb95
+0, 80896, 80896, 1024, 4096, 0xe0c90d40
+0, 81920, 81920, 1024, 4096, 0xe9701e32
+0, 82944, 82944, 1024, 4096, 0x760d26b0
+0, 83968, 83968, 1024, 4096, 0x3f4303e4
+0, 84992, 84992, 1024, 4096, 0x1cc502bc
+0, 86016, 86016, 1024, 4096, 0x6d7bf089
+0, 87040, 87040, 1024, 4096, 0xe03807fc
+0, 88064, 88064, 1024, 4096, 0xf12fe897
+0, 89088, 89088, 1024, 4096, 0x0123e87d
+0, 90112, 90112, 1024, 4096, 0x869808d4
+0, 91136, 91136, 1024, 4096, 0x9538def3
+0, 92160, 92160, 1024, 4096, 0x92ed2ab0
+0, 93184, 93184, 1024, 4096, 0xc80bfe9d
+0, 94208, 94208, 1024, 4096, 0x56130220
+0, 95232, 95232, 1024, 4096, 0xd3a7f0f3
+0, 96256, 96256, 1024, 4096, 0xfca0eeaf
+0, 97280, 97280, 1024, 4096, 0xd409d82b
+0, 98304, 98304, 1024, 4096, 0x29ba0424
+0, 99328, 99328, 1024, 4096, 0x4e9cdf19
+0, 100352, 100352, 1024, 4096, 0xb0511cc0
+0, 101376, 101376, 1024, 4096, 0xd499e541
+0, 102400, 102400, 1024, 4096, 0x0910f25f
+0, 103424, 103424, 1024, 4096, 0x6e5d1c08
+0, 104448, 104448, 1024, 4096, 0xa07511a8
+0, 105472, 105472, 1024, 4096, 0xddd1ee73
+0, 106496, 106496, 1024, 4096, 0x5b46fb17
+0, 107520, 107520, 1024, 4096, 0xc558e301
+0, 108544, 108544, 1024, 4096, 0x9041e627
+0, 109568, 109568, 1024, 4096, 0xeadae195
+0, 110592, 110592, 1024, 4096, 0x663d0c5a
+0, 111616, 111616, 1024, 4096, 0x1c57d55b
+0, 112640, 112640, 1024, 4096, 0x7ce90702
+0, 113664, 113664, 1024, 4096, 0xf56c15d0
+0, 114688, 114688, 1024, 4096, 0xa2edd14d
+0, 115712, 115712, 1024, 4096, 0x93f1171c
+0, 116736, 116736, 1024, 4096, 0xe02e152a
+0, 117760, 117760, 1024, 4096, 0x55aaeba7
+0, 118784, 118784, 1024, 4096, 0xacabd7a7
+0, 119808, 119808, 1024, 4096, 0xaa18150a
+0, 120832, 120832, 1024, 4096, 0x065ed6a1
+0, 121856, 121856, 1024, 4096, 0x9df9268e
+0, 122880, 122880, 1024, 4096, 0x8e0a23e6
+0, 123904, 123904, 1024, 4096, 0x872d019e
+0, 124928, 124928, 1024, 4096, 0x3aff116c
+0, 125952, 125952, 1024, 4096, 0x4a1717f8
+0, 126976, 126976, 1024, 4096, 0xa3812998
+0, 128000, 128000, 1024, 4096, 0x8f12ee4f
+0, 129024, 129024, 1024, 4096, 0x1add13c4
+0, 130048, 130048, 1024, 4096, 0x4f3825da
+0, 131072, 131072, 1024, 4096, 0xf732d42b
+0, 132096, 132096, 1024, 4096, 0xa2b3e578
+0, 133120, 133120, 1024, 4096, 0xdc18ff83
+0, 134144, 134144, 1024, 4096, 0xd13df8c5
+0, 135168, 135168, 1024, 4096, 0x24c506ff
+0, 136192, 136192, 1024, 4096, 0xb58cf9d4
+0, 137216, 137216, 1024, 4096, 0x734cecba
+0, 138240, 138240, 1024, 4096, 0x9af5fb4e
+0, 139264, 139264, 1024, 4096, 0x8510f05f
+0, 140288, 140288, 1024, 4096, 0x81e0f2c3
+0, 141312, 141312, 1024, 4096, 0x5c060641
+0, 142336, 142336, 1024, 4096, 0xb15bfc84
+0, 143360, 143360, 1024, 4096, 0xe7dafcaa
+0, 144384, 144384, 1024, 4096, 0x5419faaa
+0, 145408, 145408, 1024, 4096, 0x6f97fa6f
+0, 146432, 146432, 1024, 4096, 0x5e69e975
+0, 147456, 147456, 1024, 4096, 0xd614f89e
+0, 148480, 148480, 1024, 4096, 0x2532e193
+0, 149504, 149504, 1024, 4096, 0x0ce9f04c
+0, 150528, 150528, 1024, 4096, 0x0935ec67
+0, 151552, 151552, 1024, 4096, 0x92d6f5d9
+0, 152576, 152576, 1024, 4096, 0xccffea44
+0, 153600, 153600, 1024, 4096, 0x81e3eea0
+0, 154624, 154624, 1024, 4096, 0xc5c2fe66
+0, 155648, 155648, 1024, 4096, 0x75dbf93c
+0, 156672, 156672, 1024, 4096, 0x6294f023
+0, 157696, 157696, 1024, 4096, 0xf39eef54
+0, 158720, 158720, 1024, 4096, 0x03b1fa13
+0, 159744, 159744, 1024, 4096, 0xacc0faf2
+0, 160768, 160768, 1024, 4096, 0xcd9ffc79
+0, 161792, 161792, 1024, 4096, 0x4ffc023f
+0, 162816, 162816, 1024, 4096, 0x3126ed15
+0, 163840, 163840, 1024, 4096, 0x611ff8d6
+0, 164864, 164864, 1024, 4096, 0x6a9bfa1a
+0, 165888, 165888, 1024, 4096, 0xb06cfb10
+0, 166912, 166912, 1024, 4096, 0x1c9f00bb
+0, 167936, 167936, 1024, 4096, 0xc0bbeebf
+0, 168960, 168960, 1024, 4096, 0x383eea91
+0, 169984, 169984, 1024, 4096, 0xf927f893
+0, 171008, 171008, 1024, 4096, 0xbfc3f9b4
+0, 172032, 172032, 1024, 4096, 0x9faaef83
+0, 173056, 173056, 1024, 4096, 0x4dc6f411
+0, 174080, 174080, 1024, 4096, 0x9432ff0f
+0, 175104, 175104, 1024, 4096, 0x62d5e7d6
+0, 176128, 176128, 1024, 4096, 0x1af9ea59
+0, 177152, 177152, 1024, 4096, 0x3dcbf8d0
+0, 178176, 178176, 1024, 4096, 0x80fbf978
+0, 179200, 179200, 1024, 4096, 0xbe60f05b
+0, 180224, 180224, 1024, 4096, 0xf12ffb83
+0, 181248, 181248, 1024, 4096, 0xfed0f81a
+0, 182272, 182272, 1024, 4096, 0x892eede2
+0, 183296, 183296, 1024, 4096, 0x4101f200
+0, 184320, 184320, 1024, 4096, 0x08759c99
+0, 185344, 185344, 1024, 4096, 0xea80fab7
+0, 186368, 186368, 1024, 4096, 0x2b47fcf4
+0, 187392, 187392, 1024, 4096, 0x2933f949
+0, 188416, 188416, 1024, 4096, 0x10c3eaed
+0, 189440, 189440, 1024, 4096, 0x38bb0089
+0, 190464, 190464, 1024, 4096, 0x4fa4f4b6
+0, 191488, 191488, 1024, 4096, 0x47c9fd4c
+0, 192512, 192512, 1024, 4096, 0x6e95d5d1
+0, 193536, 193536, 1024, 4096, 0x6deaf758
+0, 194560, 194560, 1024, 4096, 0x96a2f230
+0, 195584, 195584, 1024, 4096, 0x6515fa5b
+0, 196608, 196608, 1024, 4096, 0xbdf6f5a6
+0, 197632, 197632, 1024, 4096, 0x74d4f365
+0, 198656, 198656, 1024, 4096, 0x932903e3
+0, 199680, 199680, 1024, 4096, 0x7468085e
+0, 200704, 200704, 1024, 4096, 0x0d908b65
+0, 201728, 201728, 1024, 4096, 0x86e7f740
+0, 202752, 202752, 1024, 4096, 0x09fff8d2
+0, 203776, 203776, 1024, 4096, 0xf0430838
+0, 204800, 204800, 1024, 4096, 0x525bf9ec
+0, 205824, 205824, 1024, 4096, 0x17c7ee8d
+0, 206848, 206848, 1024, 4096, 0x7632fc3b
+0, 207872, 207872, 1024, 4096, 0xf12aefe9
+0, 208896, 208896, 1024, 4096, 0x0d72ed83
+0, 209920, 209920, 1024, 4096, 0x3dcbf8d0
+0, 210944, 210944, 1024, 4096, 0x80fbf978
+0, 211968, 211968, 1024, 4096, 0xbe60f05b
+0, 212992, 212992, 1024, 4096, 0xf12ffb83
+0, 214016, 214016, 1024, 4096, 0xfed0f81a
+0, 215040, 215040, 1024, 4096, 0x892eede2
+0, 216064, 216064, 1024, 4096, 0x4101f200
+0, 217088, 217088, 1024, 4096, 0x08759c99
+0, 218112, 218112, 1024, 4096, 0xea80fab7
+0, 219136, 219136, 1024, 4096, 0x2b47fcf4
+0, 220160, 220160, 1024, 4096, 0x2933f949
+0, 221184, 221184, 1024, 4096, 0x10c3eaed
+0, 222208, 222208, 1024, 4096, 0x38bb0089
+0, 223232, 223232, 1024, 4096, 0x4fa4f4b6
+0, 224256, 224256, 1024, 4096, 0x47c9fd4c
+0, 225280, 225280, 1024, 4096, 0x6e95d5d1
+0, 226304, 226304, 1024, 4096, 0x6deaf758
+0, 227328, 227328, 1024, 4096, 0x96a2f230
+0, 228352, 228352, 1024, 4096, 0x6515fa5b
+0, 229376, 229376, 1024, 4096, 0xbdf6f5a6
+0, 230400, 230400, 1024, 4096, 0x74d4f365
+0, 231424, 231424, 1024, 4096, 0x932903e3
+0, 232448, 232448, 1024, 4096, 0x7468085e
+0, 233472, 233472, 1024, 4096, 0x0d908b65
+0, 234496, 234496, 1024, 4096, 0x86e7f740
+0, 235520, 235520, 1024, 4096, 0x09fff8d2
+0, 236544, 236544, 1024, 4096, 0xf0430838
+0, 237568, 237568, 1024, 4096, 0x525bf9ec
+0, 238592, 238592, 1024, 4096, 0x17c7ee8d
+0, 239616, 239616, 1024, 4096, 0x7632fc3b
+0, 240640, 240640, 1024, 4096, 0xf12aefe9
+0, 241664, 241664, 1024, 4096, 0x0d72ed83
+0, 242688, 242688, 1024, 4096, 0x3dcbf8d0
+0, 243712, 243712, 1024, 4096, 0x80fbf978
+0, 244736, 244736, 1024, 4096, 0xbe60f05b
+0, 245760, 245760, 1024, 4096, 0xf12ffb83
+0, 246784, 246784, 1024, 4096, 0xfed0f81a
+0, 247808, 247808, 1024, 4096, 0x892eede2
+0, 248832, 248832, 1024, 4096, 0x4101f200
+0, 249856, 249856, 1024, 4096, 0x08759c99
+0, 250880, 250880, 1024, 4096, 0xea80fab7
+0, 251904, 251904, 1024, 4096, 0x2b47fcf4
+0, 252928, 252928, 1024, 4096, 0x2933f949
+0, 253952, 253952, 1024, 4096, 0x10c3eaed
+0, 254976, 254976, 1024, 4096, 0x38bb0089
+0, 256000, 256000, 1024, 4096, 0x4fa4f4b6
+0, 257024, 257024, 1024, 4096, 0x47c9fd4c
+0, 258048, 258048, 1024, 4096, 0x6e95d5d1
+0, 259072, 259072, 1024, 4096, 0x6deaf758
+0, 260096, 260096, 1024, 4096, 0x96a2f230
+0, 261120, 261120, 1024, 4096, 0x6515fa5b
+0, 262144, 262144, 1024, 4096, 0xbdf6f5a6
+0, 263168, 263168, 1024, 4096, 0x74d4f365
+0, 264192, 264192, 408, 1632, 0x637b3c21
--
2.35.1.1094.g7c7d902a7c-goog
More information about the ffmpeg-devel
mailing list