Commit Graph

54 Commits

Author SHA1 Message Date
Andreas Rheinhardt 790f793844 avutil/common: Don't auto-include mem.h
There are lots of files that don't need it: The number of object
files that actually need it went down from 2011 to 884 here.

Keep it for external users in order to not cause breakages.

Also improve the other headers a bit while just at it.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-31 00:08:43 +01:00
Anton Khirnov 1e7d2007c3 all: use designated initializers for AVOption.unit
Makes it robust against adding fields before it, which will be useful in
following commits.

Majority of the patch generated by the following Coccinelle script:

@@
typedef AVOption;
identifier arr_name;
initializer list il;
initializer list[8] il1;
expression tail;
@@
AVOption arr_name[] = { il, { il1,
- tail
+ .unit = tail
}, ...  };

with some manual changes, as the script:
* has trouble with options defined inside macros
* sometimes does not handle options under an #else branch
* sometimes swallows whitespace
2024-02-14 14:53:41 +01:00
Paul B Mahol 553b31da68 avfilter/avf_showcwt: fix invalid write for full bargraph 2023-11-11 23:29:45 +01:00
Paul B Mahol fa4c2884dd avfilter/avf_showcwt: do not return initial black frames with negative timestamps 2023-11-11 17:53:26 +01:00
Paul B Mahol 49719d3cb5 avfilter/avf_showcwt: add fm frequency scaler 2023-11-11 01:19:44 +01:00
Paul B Mahol 482a22e10f avfilter/avf_showcwt: reduce latency/delay in some cases 2023-08-07 22:24:59 +02:00
Paul B Mahol 5ff88bb7bc avfilter/avf_showcwt: simplify 2023-08-07 22:24:59 +02:00
Paul B Mahol de71928383 avfilter/avf_showcwt: add two more options 2023-08-07 22:24:58 +02:00
Andreas Rheinhardt 19af142d45 avfilter/internal: Don't include formats.h
internal.h doesn't rely on it; instead include it directly
in every user that needs it (a filter needing it is basically
equivalent to it using FILTER_QUERY_FUNC, i.e. a majority of
filters doesn't need it).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-08-07 09:21:13 +02:00
Andreas Rheinhardt 50ea7389ec avfilter: Deduplicate default audio inputs/outputs
Lots of audio filters use very simple inputs or outputs:
An array with a single AVFilterPad whose name is "default"
and whose type is AVMEDIA_TYPE_AUDIO; everything else is unset.

Given that we never use pointer equality for inputs or outputs*,
we can simply use a single AVFilterPad instead of dozens; this
even saves .data.rel.ro (4784B here) as well as relocations.

*: In fact, several filters (like the filters in af_biquads.c)
already use the same inputs; furthermore, ff_filter_alloc()
duplicates the input and output pads so that we do not even
work with the pads directly.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-08-07 09:21:13 +02:00
Paul B Mahol 8bbaecb5de avfilter/avf_showcwt: improve range detection for morlet scales 2023-07-30 19:57:50 +02:00
Paul B Mahol 48cd5561e1 avfilter/avf_showcwt: rename option value 2023-07-30 18:14:16 +02:00
Paul B Mahol bd23b1d0ac avfilter/avf_showcwt: add iscale option 2023-07-30 18:14:16 +02:00
Paul B Mahol 6f552b9c5e avfilter/avf_showcwt: improve caching of some arrays 2023-07-30 18:14:15 +02:00
Paul B Mahol 4f8b0beeba avfilter/avf_showcwt: reduce excessive operations 2023-07-30 18:14:15 +02:00
Paul B Mahol 37d3000e3e avfilter/avf_showcwt: fix truncation of low Hz kernels 2023-07-29 17:16:42 +02:00
Paul B Mahol 44813d66e2 avfilter/avf_showcwt: make kernels symmetrical 2023-07-29 11:30:16 +02:00
Paul B Mahol 6f6907fd20 avfilter/avf_showcwt: fix very low freqs leakage 2023-07-29 11:30:16 +02:00
Paul B Mahol 8c67e13473 avfilter/avf_showcwt: remove not needed fabsf() 2023-07-28 22:32:31 +02:00
Paul B Mahol 7d6dd90f3a avfilter/avf_showcwt: unbreak highest frequencies
The kernel was truncated too much.
2023-07-28 22:32:31 +02:00
Paul B Mahol dca54600f0 avfilter/avf_showcwt: keep kernels precision as high as possible 2023-07-28 22:32:31 +02:00
Paul B Mahol a7a46aff46 avfilter/avf_showcwt: remove excessive operations 2023-07-28 14:02:35 +02:00
Paul B Mahol 32a2268b6e avfilter/avf_showcwt: switch to overlap-save
And do both left and right zero-padding for forward FFT.
2023-07-28 14:02:34 +02:00
Paul B Mahol 830e522cde avfilter/avf_showcwt: reduce memory usage even more 2023-07-28 14:02:33 +02:00
Paul B Mahol 9fb2efe3b3 avfilter/avf_showcwt: make read only variable const 2023-07-24 11:01:21 +02:00
Paul B Mahol b2ceed406b avfilter/avf_showcwt: reduce memory usage 2023-07-22 22:27:57 +02:00
Paul B Mahol ffa3edbf51 avfilter/avf_showcwt: extend min frequency accepted range
Also always check that min frequency is lower than max frequency.
2023-07-22 18:05:38 +02:00
Paul B Mahol c24c7bcc95 avfilter/avf_showcwt: no need for big forward FFT with small sample rates 2023-07-22 18:05:38 +02:00
Paul B Mahol e6168e43a2 avfilter/avf_showcwt: improve analysis
Make inverse FFT step always power of 2 in size.
2023-07-22 18:05:38 +02:00
Paul B Mahol 74474a551b avfilter/avf_showcwt: fix index storing 2023-07-21 00:44:01 +02:00
Paul B Mahol 86a1904f41 avfilter/avf_showcwt: move variables out of loop 2023-07-21 00:43:47 +02:00
Paul B Mahol 7430ee2b8b avfilter/avf_showcwt: add rotation option 2023-07-13 00:11:36 +02:00
Paul B Mahol 422bfdc4ae avfilter/avf_showcwt: add bar display support 2023-07-13 00:11:34 +02:00
Paul B Mahol f3896a148e avfilter/avf_showcwt: fix frame slide output 2023-07-10 18:57:14 +02:00
Paul B Mahol 1324698ff3 avfilter/avf_showcwt: simplify EOF checking 2023-07-10 18:57:13 +02:00
Paul B Mahol 2f2f76def7 avfilter/avf_showcwt: optimize multiplication with kernel 2023-07-10 18:57:12 +02:00
Paul B Mahol 587189cdb9 avfilter/avf_showcwt: simplify cache handling 2023-07-10 18:57:10 +02:00
Paul B Mahol 2c4fa968b6 avfilter/avf_showcwt: use av_rescale() 2023-07-10 18:57:08 +02:00
Paul B Mahol fcbee7efdf avfilter/avf_showcwt: add qdrt frequency scale 2023-07-09 20:53:55 +02:00
Paul B Mahol aee8689ba5 avfilter/avf_showcwt: add cbrt frequency scale 2023-07-09 20:53:54 +02:00
Paul B Mahol 7f23b72dde avfilter/avf_showcwt: add sqrt frequency scale 2023-07-09 20:53:52 +02:00
Paul B Mahol 3bbb1c023b avfilter/avf_showcwt: fix offset to take into initial delay
Syncs audio with video.
2023-07-05 23:02:08 +02:00
Paul B Mahol 0cdfe46f4e avfilter/avf_showcwt: fix output frame pts if inlink timebase does not match sample rate 2023-07-05 22:56:05 +02:00
Paul B Mahol 6b8adbfe03 avfilter/avf_a3dscope,avf_showcwt: set video frame duration 2023-01-17 14:50:08 +01:00
Paul B Mahol ec32c62cad avfilter/avf_showcwt: write also to alpha plane if available 2022-12-04 11:18:48 +01:00
Paul B Mahol e69909342e avfilter/avf_showcwt: fix logic mistake 2022-12-03 12:47:02 +01:00
Paul B Mahol 569b1a24cd avfilter/avf_showcwt: add yet another mode variant 2022-11-30 20:08:18 +01:00
Paul B Mahol 7d20635aeb avfilter/avf_showcwt: add frame slide mode 2022-11-30 18:06:42 +01:00
Paul B Mahol bcb5ef667d avfilter/avf_showcwt: add some small optimizations 2022-11-30 18:06:42 +01:00
Paul B Mahol d7a5f068c2 avfilter/avf_showcwt: add thread jobs for forward fft per channel 2022-11-29 22:26:56 +01:00