Commit Graph

52 Commits

Author SHA1 Message Date
Andreas Rheinhardt
4c5d6e87ac avfilter/af_afir: Avoid allocating AVFilterPad names
If the names are always the same, they need not be duplicated; doing so
saves allocations, checks for the allocations as well as frees.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-26 23:52:56 +02:00
Paul B Mahol
e2589ac650 avfilter/af_afir: make use of vector_fmac_scalar() too 2020-08-23 17:52:58 +02:00
Andreas Rheinhardt
3a0f080ffa avfilter/af_afir: Fix leak of AVFilterChannelLayout in case of error
If an error happens between the allocation of an AVFilterChannelLayout
and its usage (which involves attaching said object to a more permanent
object), the channel layout array leaks. This can simply be fixed by
making sure that nothing is between the allocation and the
aforementioned usage.

Fixes Coverity issue #1250334.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-20 00:24:03 +02:00
Jun Zhao
ff8329a730 lavfi/afir: fix vpad.name leak
Fix vpad.name leak in error path, move the vpad related operation
only if enabled show IR frequency response.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-05-30 19:02:34 +08:00
Paul B Mahol
2a9a52b913 avfilter/af_afir: check if frame clone is set 2020-01-14 16:52:07 +01:00
Paul B Mahol
52bf43eb49 avfilter/af_afir: add support for switching impulse response streams at runtime
Currently, switching is not free of artifacts, to be resolved later.
2020-01-10 13:14:54 +01:00
Paul B Mahol
03a7240a73 avfilter/af_afir: add support for even smaller partition sizes 2020-01-10 13:05:21 +01:00
Paul B Mahol
e364fe4cca avfilter/af_afir: split input frames from impulse response frames 2020-01-10 12:43:18 +01:00
Paul B Mahol
f2e2456294 avfilter/af_afir: adjust min partition size
Minimal value allowed by our FFT is 16 thus min partition size is 8.
2019-01-05 09:40:41 +01:00
James Almer
82043dfd2e avfilter/af_afir: split off fcmul_add into a DSP context
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-01-03 10:12:18 -03:00
Paul B Mahol
86555a2fbf avfilter/af_afir: fix overhead for small partitions 2018-12-31 18:07:46 +01:00
Paul B Mahol
ea3a980a61 avfilter/af_afir: do not over allocate fft buffer 2018-12-30 22:11:46 +01:00
Paul B Mahol
ba3d983c95 avfilter/af_afir: stop using as much threads as stream have it 2018-12-30 17:50:44 +01:00
Paul B Mahol
72270d5bd0 avfilter/af_afir: optimize code a little more
Avoid memset.
2018-12-30 17:50:44 +01:00
Paul B Mahol
a53a9f1c8d avfilter/af_afir: implement non-uniform partitioned convolution
Using multiple frequency delay lines.
2018-12-30 13:40:29 +01:00
Paul B Mahol
300dc45fdc avfilter/af_afir: properly split IR into multiple segments 2018-12-29 10:57:58 +01:00
Paul B Mahol
3c3eb4930e avfilter/af_afir: make part_index values per channel 2018-12-29 10:46:25 +01:00
Paul B Mahol
31c9d693aa avfilter/af_afir: make number of segments extendable 2018-12-29 10:39:19 +01:00
Paul B Mahol
6095356d5b avfilter/af_afir: use AVFrame for coeff too 2018-12-29 10:17:39 +01:00
Paul B Mahol
1ba909fabe avfilter/af_afir: use segment pointer 2018-12-29 08:35:23 +01:00
Paul B Mahol
30bf54b9f3 avfilter/af_afir: introduce uninit_segment() and use it 2018-12-29 08:35:23 +01:00
Paul B Mahol
8007e8fc67 avfilter/af_afir: fix minp/maxp range and change default value for maxp 2018-12-29 08:35:23 +01:00
Paul B Mahol
c343e81ffd avfilter/af_afir: introduce init_segment() and use it 2018-12-29 08:35:23 +01:00
Paul B Mahol
e57053417a avfilter/af_afir: move allocation stuff where it belongs 2018-12-29 08:35:23 +01:00
Paul B Mahol
7312e027d6 avfilter/af_afir: introduce AudioFIRSegment structure and use it 2018-12-29 08:35:23 +01:00
Paul B Mahol
dbf43ace21 afilter/af_afir: remove invalid delay 2018-12-27 18:02:31 +01:00
Paul B Mahol
f266d2ac90 avfilter/af_afir: remove not needed nb_samples from filter context 2018-12-27 14:11:12 +01:00
Paul B Mahol
ff0b4d5af7 avfilter/af_afir: remove not needed operations 2018-12-27 12:55:07 +01:00
Paul B Mahol
d702600350 avfilter/af_afir: remove dead store variable 2018-12-26 22:30:10 +01:00
Paul B Mahol
8443462e4a avfilter/af_afir: remove unused variable 2018-12-26 21:57:59 +01:00
Paul B Mahol
29fdaaa80d avfilter/af_afir: fix hang because video is first requested 2018-11-09 18:51:21 +01:00
Paul B Mahol
16d91b7e99 avfilter/af_afir: kill useless code which increases latency for no reason 2018-11-09 10:40:16 +01:00
Paul B Mahol
36348d77b8 avfilter/af_afir: add minp/maxp options to control latency and speed 2018-11-08 22:07:14 +01:00
Paul B Mahol
698e67bef2 avfilter/af_afir: do not leak frame and clear pointer to freed frame 2018-11-08 21:34:49 +01:00
Paul B Mahol
1d9fe1fdf6 avfilter/af_afir: implement rate option 2018-11-08 13:05:08 +01:00
Paul B Mahol
8dc5eb43b0 avfilter/af_afir: return early when giving video frame 2018-11-08 13:05:08 +01:00
Paul B Mahol
fcbde5e6a4 avfilter/af_afir: remove redundant code 2018-11-08 11:14:04 +01:00
Paul B Mahol
0939c33b54 avfilter/af_afir: calculate group delay too 2018-10-21 12:47:07 +02:00
Paul B Mahol
7a6d88ee62 avfilter/af_afir: remove again option, merge it with gtype 2018-10-10 20:04:25 +02:00
Paul B Mahol
0baca07759 avilter/af_afir: add irfmt option 2018-10-04 23:51:22 +02:00
Paul B Mahol
4901fa1fb8 avfilter/af_afir: use internal lavfi queue 2018-10-04 12:10:20 +02:00
Paul B Mahol
9e45364a80 avfilter/af_afir: make IR gain control more flexible
For this reason introduce two more options.
2018-10-03 21:43:40 +02:00
Paul B Mahol
876101cf41 avfilter/af_afir: switch to activate 2018-09-15 21:59:01 +02:00
Paul B Mahol
da7a0ac979 avfilter/af_afir: check return value of ff_insert_outpad() 2018-09-15 21:59:01 +02:00
Carl Eugen Hoyos
9cb3d8fcb7 lavfi/af_afir,af_aiir: Remove a variable that is always -1.
Fixes two warnings:
libavfilter/af_afir.c:194:45: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]
     int dx = FFABS(x1-x0), sx = x0 < x1 ? 1 : -1;
                                 ~~~~~~~~~~~~^~~~
libavfilter/af_aiir.c:689:45: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]
     int dx = FFABS(x1-x0), sx = x0 < x1 ? 1 : -1;
                                 ~~~~~~~~~~~~^~~~
2018-07-19 23:13:24 +02:00
Paul B Mahol
d0e740b8fb avfilter/af_afir: fix picking of IR channel
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-05-30 12:30:24 +02:00
Paul B Mahol
73438dbbbc avfilter/af_afir: draw IR frequency response
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-05-29 21:57:42 +02:00
Paul B Mahol
6e05a11e89 avfilter/af_afir: make max IR length configurable
Also increase max allowed dry/wet value.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-04-16 19:11:35 +02:00
Paul B Mahol
f3552c3b9d avfilter/af_afir: rework FIR gain measurement
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-31 19:16:22 +01:00
Paul B Mahol
d1b284119b avfilter/af_afir: add missing error check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-20 13:54:04 +01:00