History

avcodec/iirfilter: Move ff_iir_filter() to lavc/tests/iirfilter.c

It is only used by the test.

Andreas Rheinhardt committed 2 years ago

Commit 2902ed21 parent 2330e773 files · +16 −30Browse files

Showing the changes to libavcodec (3 of 3 files). Show all

Unified · Split

3 files
  1. libavcodec/iirfilter.c +0 −14
  2. libavcodec/iirfilter.h +0 −15
  3. libavcodec/tests/iirfilter.c +16 −1
libavcodec/iirfilter.c+0−14
@@ -277,20 +277,6 @@ av_cold struct FFIIRFilterState *ff_iir_filter_init_state(int order) · 276 unmodified lines
277 } \277 } \
278}278}
279 279
280void ff_iir_filter(const struct FFIIRFilterCoeffs *c,
281 struct FFIIRFilterState *s, int size,
282 const int16_t *src, ptrdiff_t sstep,
283 int16_t *dst, ptrdiff_t dstep)
284{
285 if (c->order == 2) {
286 FILTER_O2(int16_t, S16)
287 } else if (c->order == 4) {
288 FILTER_BW_O4(int16_t, S16)
289 } else {
290 FILTER_DIRECT_FORM_II(int16_t, S16)
291 }
292}
293
294/**280/**
295 * Perform IIR filtering on floating-point input samples.281 * Perform IIR filtering on floating-point input samples.
296 *282 *
libavcodec/iirfilter.h+0−15
@@ -28,7 +28,6 @@ · 27 unmodified lines
28#define AVCODEC_IIRFILTER_H28#define AVCODEC_IIRFILTER_H
29 29
30#include <stddef.h>30#include <stddef.h>
31#include <stdint.h>
32 31
33struct FFIIRFilterCoeffs;32struct FFIIRFilterCoeffs;
34struct FFIIRFilterState;33struct FFIIRFilterState;
@@ -114,18 +113,4 @@ void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffs); · 79 unmodified lines
114 */113 */
115void ff_iir_filter_free_statep(struct FFIIRFilterState **state);114void ff_iir_filter_free_statep(struct FFIIRFilterState **state);
116 115
117/**
118 * Perform IIR filtering on signed 16-bit input samples.
119 *
120 * @param coeffs pointer to filter coefficients
121 * @param state pointer to filter state
122 * @param size input length
123 * @param src source samples
124 * @param sstep source stride
125 * @param dst filtered samples (destination may be the same as input)
126 * @param dstep destination stride
127 */
128void ff_iir_filter(const struct FFIIRFilterCoeffs *coeffs, struct FFIIRFilterState *state,
129 int size, const int16_t *src, ptrdiff_t sstep, int16_t *dst, ptrdiff_t dstep);
130
131#endif /* AVCODEC_IIRFILTER_H */116#endif /* AVCODEC_IIRFILTER_H */
libavcodec/tests/iirfilter.c+16−1
@@ -23,10 +23,25 @@ · 22 unmodified lines
23#include "libavutil/libm.h"23#include "libavutil/libm.h"
24 24
25#include "libavcodec/iirfilter.h"25#include "libavcodec/iirfilter.h"
26#include "libavcodec/iirfilter.c"
26 27
27#define FILT_ORDER 428#define FILT_ORDER 4
28#define SIZE 102429#define SIZE 1024
29 30
31static void iir_filter_int16(const struct FFIIRFilterCoeffs *c,
32 struct FFIIRFilterState *s, int size,
33 const int16_t *src, ptrdiff_t sstep,
34 int16_t *dst, ptrdiff_t dstep)
35{
36 if (c->order == 2) {
37 FILTER_O2(int16_t, S16)
38 } else if (c->order == 4) {
39 FILTER_BW_O4(int16_t, S16)
40 } else {
41 FILTER_DIRECT_FORM_II(int16_t, S16)
42 }
43}
44
30int main(void)45int main(void)
31{46{
32 struct FFIIRFilterCoeffs *fcoeffs = NULL;47 struct FFIIRFilterCoeffs *fcoeffs = NULL;
@@ -43,7 +58,7 @@ int main(void) · 10 unmodified lines
43 for (i = 0; i < SIZE; i++)58 for (i = 0; i < SIZE; i++)
44 x[i] = lrint(0.75 * INT16_MAX * sin(0.5 * M_PI * i * i / SIZE));59 x[i] = lrint(0.75 * INT16_MAX * sin(0.5 * M_PI * i * i / SIZE));
45 60
46 ff_iir_filter(fcoeffs, fstate, SIZE, x, 1, y, 1);61 iir_filter_int16(fcoeffs, fstate, SIZE, x, 1, y, 1);
47 62
48 for (i = 0; i < SIZE; i++)63 for (i = 0; i < SIZE; i++)
49 printf("%6d %6d\n", x[i], y[i]);64 printf("%6d %6d\n", x[i], y[i]);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t