Commit Graph

47 Commits

Author SHA1 Message Date
Rob Sykes
5a5d70748c swr: Add API to make resample engine selectable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Paul B Mahol
1acd2f6ba7 Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
Also remove it in once case when it is not needed.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Michael Niedermayer
d23e8f53ad swr: use 64bit index/len for x86_64 mix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 02:09:08 +02:00
Mans Rullgard
0eebde07a9 ARM: libswresample: NEON optimised flat float to s16 conversion
Adapted to swr by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:16:14 +02:00
Michael Niedermayer
c5278cb84f Add Dolby/DPLII downmix support to libswresample
Based on code by John Stebbins <jstebbins.hb@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 00:41:49 +02:00
Michael Niedermayer
323d912010 swr: update copyright years
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 00:29:06 +02:00
Justin Ruggles
7e15df7551 swr: resampling: add filter type and Kaiser window beta to AVOptions 2012-07-23 19:23:39 +02:00
Michael Niedermayer
338509c2e1 swr: fix warning: passing argument 1 of s->mix_any_f from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:32:23 +02:00
Michael Niedermayer
beb0cd6acf swr: SIMD rematrixing and SSE/AVX mix_1_1 float
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:35:07 +02:00
Michael Niedermayer
48a45f819f swr: add native matrix for SIMD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:16:15 +02:00
Michael Niedermayer
9abbbf7530 swr: add function pointers for SIMD rematrixing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:12:08 +02:00
Michael Niedermayer
ca30ae12c5 swr: add all in one rematrixing function ptr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 21:55:33 +02:00
Michael Niedermayer
72a242c998 swr: add swr_next_pts()
parameter descriptions partly reuse text from af_asyncts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
f88f705abc swr: add swr_drop_output()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Justin Ruggles
6d5bf67f04 swr: add lfe_mix_level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-02 01:12:10 +02:00
Michael Niedermayer
aab5a4521c swr: add and use function pointers for rematrix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-01 20:20:21 +02:00
Michael Niedermayer
00fea26faf swr: add native matrix for rematrixing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-01 20:19:28 +02:00
Michael Niedermayer
106789dfa0 swr: add sample format to AudioData
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-29 15:32:18 +02:00
Michael Niedermayer
2d6c29f566 swr: add set_audiodata_fmt() and use it to simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-29 15:32:18 +02:00
Michael Niedermayer
bcc66ff0e4 swr: add int16_to_int32_mmx/sse
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-28 13:15:44 +02:00
Michael Niedermayer
edbde52226 swr: change sample format representation so as to maintain the planer/packed distinction.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-28 13:02:58 +02:00
Michael Niedermayer
da9587952a swr: pass resample parameters from the user to the resampler.
doxy and names stolen from avr

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-26 01:35:22 +02:00
Michael Niedermayer
c1d404b9e4 swr: add a dither_scale parameter to tune the amplitude of the dither.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:44:48 +02:00
Michael Niedermayer
a2c92e6063 swr: pass context to swri_get_dither()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:44:15 +02:00
Michael Niedermayer
1fc4ff2205 swr: generate more dither noise to improve quality.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:26:32 +02:00
Michael Niedermayer
6e9c634c36 swr: fix copy & pasted comment to match the code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 23:54:04 +02:00
Michael Niedermayer
db2eadb2f5 swr: add dither support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 19:54:41 +02:00
Michael Niedermayer
24ab1abfb6 resample: support double precission resampling
This commit is dedicated to the audiophiles who can hear it when a
needle is dropped on the moon.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 13:48:55 +02:00
Michael Niedermayer
7f1ae79d38 swr: support float & int32 in the resampler
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 13:18:49 +02:00
Michael Niedermayer
4f16153d35 swr: allow flushing in multiple steps if the output is too small.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 03:33:06 +02:00
Michael Niedermayer
ac6798dbc1 swr: fix compilation failure with old versions of gcc.
gcc 4.4 did not like the way i used typedefs

Idea-by: beastd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 00:35:10 +01:00
Nicolas George
560b224f53 libswr: allow to set custom matrices. 2012-02-20 20:46:35 +01:00
Michael Niedermayer
4fef94c6d2 swr: doxument matrix fields.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-17 20:29:55 +01:00
Clément Bœsch
f03afd5d54 swr: surround mixing is obviously used, fix comment. 2011-11-17 17:57:07 +01:00
Clément Bœsch
af1eb298c1 swr: use int16_t instead of short for resampling. 2011-11-17 10:16:07 +01:00
Clément Bœsch
4c0bad513a swr: start doxycommenting the API. 2011-11-17 10:16:07 +01:00
Clément Bœsch
c4deb90cfa swr: use "swri_" prefix instead of "swr_" for the private API. 2011-11-17 10:16:07 +01:00
Clément Bœsch
64db5a1a57 swr: drop 'AV' prefix from ResampleContext.
This type/struct is not part of the public API.
2011-11-17 10:16:07 +01:00
Clément Bœsch
fc6351d019 swr: make audio convert code explicitely private.
Only what's declared in libswresample/swresample.h is public.
2011-11-17 10:16:07 +01:00
Clément Bœsch
f5cd136f2b ffmpeg: add -map_channel option.
Based on an initial work by Baptiste Coudurier.
2011-11-04 19:40:32 +01:00
Michael Niedermayer
2f86566a31 rematrix: add parameter to tune volume
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-26 00:46:46 +02:00
Michael Niedermayer
b1470d7a60 rematrix: change type of integers from 16 to 32bit to allow increasing volume with it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-26 00:46:46 +02:00
Michael Niedermayer
a911177276 swr: Fix assignment discards qualifiers from pointer target type warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 00:33:04 +02:00
Michael Niedermayer
e6459720b5 swr: Mark src as const in swr_resample()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 00:30:41 +02:00
Michael Niedermayer
503e5e9db5 libswresample: support directly converting sampleformats and packed/planar in a single pass.
Previously a intermediate planar format was used when both input and output where packed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-06 00:07:03 +02:00
Michael Niedermayer
8593b743a8 rematrix: dont use floats for int16 code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-19 09:25:50 +02:00
Michael Niedermayer
b5875b9111 Add libswresample.
Similar to libswscale this does resampling and format convertion, just for audio
instead of video.
changing sampling rate, sample formats, channel layouts and sample packing all
in one with a very simple public interface.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-19 07:04:17 +02:00