Anton Khirnov
423eccadd6
lavfi/avf_showcwt: switch to query_func2()
...
Also, drop redundant calls that also happen implicitly in generic code.
2024-09-28 09:53:11 +02:00
Anton Khirnov
6d75d44d90
lavfi: drop internal.h
...
All that remains in it are things that belong in avfilter_internal.h.
Move them there and remove internal.h
2024-08-19 21:48:04 +02:00
Anton Khirnov
a23d565ea7
lavfi: move AVFilterLink.frame_rate to FilterLink
...
Co-developed-by: James Almer <jamrial@gmail.com>
2024-08-15 19:34:27 +02:00
Michael Niedermayer
aab0c344c5
avfilter/avf_showcwt: Check av_parse_video_rate() for failure
...
Fixes: CID1539147 Unused value
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-07-02 21:57:24 +02:00
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