raghu447
9024cc4444
Integrating libcamera
2020-06-04 10:36:39 +02:00
Wim Taymans
4dfd60f838
add some more debug
2020-06-02 17:15:47 +02:00
Wim Taymans
c4b87aa5e2
audioadapter: clear convert handle to avoid leaks
2020-06-02 17:14:23 +02:00
Wim Taymans
9fa68f6d46
neon: use regular registers only
2020-05-20 15:24:25 +02:00
Wim Taymans
fea16cca14
channelmix: support Midi volume control
2020-05-13 15:41:50 +02:00
Wim Taymans
498cb91750
channelmix: fix enum_params
...
0 should be returned when enum is done or else we loop forever.
2020-05-13 15:41:47 +02:00
Martin Koch
fefdc26f84
plugin: workaround for AVX intrinsic: "_mm256_setr_m128()" missing in GCC
...
Signed-off-by: Martin Koch <martin.koch@ese.de>
2020-05-13 08:53:43 +00:00
Wim Taymans
4000409c80
channelmix: allow smaller control buffers
2020-05-12 18:01:47 +02:00
Wim Taymans
055c8d6b63
channelmix: improve control handling
...
We can't write to the input control buffer so keep track of the
control offset ourselves ans skip what we already handled.
2020-05-12 17:52:06 +02:00
Julian Bouzas
5e37131cf8
channelmix: add control port to process control sequences
...
Channelmix has now a control port that receives control sequences. Each Control
of those sequences are handled individually by channelmix in order to change
properties when a specific amount of samples have been processed.
Co-authored-by: Wim Taymans
2020-05-12 17:51:16 +02:00
Wim Taymans
8513150bdf
resample: use calloc to make sure fields are 0
2020-05-08 16:13:34 +02:00
Wim Taymans
79fd4c941f
debug: Don't debug EBUSY params
...
When a device returned EBUSY when enumerating params, don't try to
enumerate (and fail) them again.
2020-05-07 17:15:46 +02:00
Wim Taymans
713f242853
audioadapter: handle -ENOENT from enum_param
2020-05-03 11:45:06 +02:00
Wim Taymans
aafd1e7298
improve debug
...
Improve log so that debug level 3 gives a reasonably readable overview
of what is going on.
2020-04-22 12:47:18 +02:00
Wim Taymans
e73431d541
resample: use right define to compile sse functions
...
See #220
2020-04-14 20:29:27 +02:00
Wim Taymans
c446dfb1d6
resample: improve debug
2020-04-12 20:46:59 +02:00
Wim Taymans
2bb2e50eef
audioadapter: stop when the follower needs data
2020-04-12 20:44:56 +02:00
Wim Taymans
c1f3593ef0
audioadapter: small cleanup
2020-04-12 20:44:19 +02:00
Wim Taymans
b18dacde9a
spa: improve draining
...
Make a new DRAINED status.
Place the DRAINED status on an input IO when a stream is out of
buffers and draining.
All nodes that don't have HAVE_DATA on the input io need to copy
it to the output io and return the status. This makes sure the
DRAINED is forwarded and nodes return DRAINED from _process()
DRAINED on the resampler flushes out the last queued samples and then
forwards the DRAINED in the next iteration.
Emit a new drained signal from the context when a node returns
DRAINED. Use this to trigger the drained signal in the stream.
2020-04-07 17:58:43 +02:00
Wim Taymans
fdb5911e86
resample: use a 0 sized buffer to drain
2020-04-06 18:01:38 +02:00
Wim Taymans
7febf7ea25
improve debug
2020-04-06 18:01:19 +02:00
Wim Taymans
95906ca52e
audioconvert: fix compilation
2020-04-04 20:03:11 +02:00
Wim Taymans
6937ec5e63
audioconvert: compile c version with right flags
2020-04-03 18:12:04 +02:00
Wim Taymans
28b0da626e
Add missing file
2020-04-03 18:05:29 +02:00
Wim Taymans
0d1cef6b3a
audioconvert: move some things around
...
To make it easier to add other implementations later.
Improve selection of resampler function
2020-04-03 18:03:42 +02:00
Wim Taymans
bf3ebb67aa
neon: add alignment hints
2020-04-03 14:26:02 +02:00
Wim Taymans
167460a9bc
fmt-ops: add arm32 optimizations
2020-04-03 14:09:46 +02:00
Wim Taymans
a81e269a7e
neon: fix neon detection and compilation
2020-04-03 13:30:08 +02:00
Wim Taymans
df5721ff47
neon: fix taps arguments
2020-04-03 10:31:55 +02:00
Wim Taymans
a87337cae8
neon: fix fallback
2020-04-03 10:22:58 +02:00
Wim Taymans
22e590c7cc
stream: somewhat implement drain better
...
Abuse the xrun callback in the adapter to emit the drained signal until
almost all data left the resampler. This needs more work with a proper
signal and a buffer flag to signal the drain.
2020-04-02 17:46:50 +02:00
Wim Taymans
1b3aaba206
fmt-ops: set the right flags on optimized functions
...
Or else we could select an avx2 version on a non-capable CPU.
Fixes #227
2020-04-02 17:34:47 +02:00
Wim Taymans
b87c0a9270
clean up options
...
make sure we can use -v for verbose mode
2020-04-02 14:34:02 +02:00
Wim Taymans
1fd5be7101
neon: fix resample interpolation
2020-04-01 13:07:52 +02:00
Wim Taymans
9b24a84ce6
fmt-ops: fix copy/paste error
2020-03-30 11:02:13 -04:00
Wim Taymans
527dc89365
fmt-ops: add neon optimizations for format conversion
2020-03-30 10:59:21 -04:00
Wim Taymans
67a5dd35be
resample: add neon optimizations
2020-03-27 08:27:11 -04:00
Wim Taymans
397787ec3e
spa-resample: getopt_long returns an int
2020-03-26 18:10:11 +01:00
Wim Taymans
a880012e72
fmtconvert: order formats better
...
Place float and higher resolution formats first so that they are
selected first.
2020-03-24 11:47:41 +01:00
Wim Taymans
b8a1ea1d3a
fmt-ops: fix 32 bit compilation
...
_mm256_extract_epi64 is only for 64 bits, add workaround for 32
bits.
Fixes #220
2020-03-23 14:18:10 +01:00
Wim Taymans
acccccd2c0
Use SPA_IO_BUFFERS_INIT when we can
...
We should not have to initialize the state to NEED_DATA, anything
that is not HAVE_DATA is good. Also we need to set the buffer to
INVALID because else it might be recycled.
2020-03-19 13:09:21 +01:00
Wim Taymans
07f935a5ed
add some more debug
2020-03-19 13:00:35 +01:00
Wim Taymans
8a2af908a7
small optimizations
...
Add some SPA_LIKELY
Enable FASTPATH by default
2020-03-18 15:43:29 +01:00
Wim Taymans
57f84ae5ae
fmt-ops: use gather to read samples
2020-03-18 11:41:14 +01:00
Wim Taymans
55633ebf9a
fmt-ops: move AVX
2020-03-18 10:06:54 +01:00
Wim Taymans
949dba7bfc
fmt-ops: flesh out avx optimizations
2020-03-17 17:27:47 +01:00
Wim Taymans
4dcd0dacc9
fmt-ops: add more benchmark cases
2020-03-16 16:45:20 +01:00
Wim Taymans
37d3864949
merger: add some SPA_LIKELY
2020-03-16 16:12:34 +01:00
Wim Taymans
3a911dfe3b
fmt-ops: add avx2 optimized version
...
Only one optimized version but the sse2 version are compiled with
the avx2 flags so that they get optimized better.
2020-03-16 16:11:29 +01:00
Wim Taymans
6eca935e61
also test optimized versions
2020-03-16 13:08:33 +01:00