Commit Graph

56 Commits

Author SHA1 Message Date
Andreas Rheinhardt 1be3d8a0cb avcodec/avcodec: Stop including channel_layout.h in avcodec.h
Also include channel_layout.h directly wherever used.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-07-22 11:14:31 +02:00
Andreas Rheinhardt a04ad248a0 avfilter: Constify all AVFilters
This is possible now that the next-API is gone.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27 11:48:05 -03:00
Paul B Mahol 9860777516 avfilter/af_aiir: remove unused variable 2020-10-18 22:56:23 +02:00
Nicolas George 2f76476549 lavfi: regroup formats lists in a single structure.
It will allow to refernce it as a whole without clunky macros.

Most of the changes have been automatically made with sed:

sed -i '
  s/-> *in_formats/->incfg.formats/g;
  s/-> *out_formats/->outcfg.formats/g;
  s/-> *in_channel_layouts/->incfg.channel_layouts/g;
  s/-> *out_channel_layouts/->outcfg.channel_layouts/g;
  s/-> *in_samplerates/->incfg.samplerates/g;
  s/-> *out_samplerates/->outcfg.samplerates/g;
  ' src/libavfilter/*(.)
2020-09-08 14:02:40 +02:00
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