Commit Graph

57 Commits

Author SHA1 Message Date
Michael Niedermayer
6908ded20e swr: fix the noise sample type for noise shaping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 23:28:09 +01:00
Michael Niedermayer
3ef06f3415 swr: split swri_dither_init() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 23:28:08 +01:00
Michael Niedermayer
3ab1970612 swr: move dither related fields to their own context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:41:12 +01:00
Michael Niedermayer
ba1314c2ef swr: update copyright years of a few files iam working on
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:30:01 +01:00
Michael Niedermayer
82742294b7 swr: Implement Noise shaping dither
The following variants are implemented:
lipshitz noise shaping dither
shibata noise shaping dither
low shibata noise shaping dither
high shibata noise shaping dither
f-weighted noise shaping dither
modified-e-weighted noise shaping dither
improved-e-weighted noise shaping dither

Data tables taken from SOX

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:25:06 +01:00
Rob Sykes
8d9a503313 docs: add soxr documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 12:13:17 +01:00
Michael Niedermayer
f9e55c0fed swr: support -async X as a simple way to do what ffmpeg -async X did
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 17:21:09 +01:00
Rob Sykes
801b315729 swr: Add SOX resampler support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Michael Niedermayer
ae5a55e77a swr: move flush into Resampler
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Michael Niedermayer
431dcc49d2 swr: make realloc_audio() available outside swresample.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
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