37715b4594
swresample: split option table to a separate file
...
Signed-off-by: Timothy Gu <timothygu99@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-06 03:45:46 +02:00
b785c62681
swr: handle initial negative sample index outside DSP function.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-14 14:36:18 +02:00
96cb4c8718
swresample: swr_close()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-15 18:27:23 +02:00
6c6e4dd139
swr: check that the context for swr_convert() has been initialized
...
Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-02-24 08:23:42 +01:00
a66be60888
swresample: add swr_is_initialized()
...
Idea-from/based-on: 7e86c27b4e
Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-02-24 08:23:22 +01:00
f284e2a58a
swresample: factorize clear_context() out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-02-22 21:36:30 +01:00
334e2e2363
lavu,lavc,lswr: do not hardcode AV_SAMPLE_FMT_NB value when setting sample format max value
...
The constant may change in libavutil but the library may be compiled
against an older version, thus rejecting a value which is otherwise
supported by the new libavutil.
INT_MAX is used here to denote the max allowed value for a sample format.
The opt-test code is changed to provide a valid reference example.
2013-12-26 11:35:27 +01:00
a6af5da7a2
swresample: use the internal buffer for resampling the last few samples
...
Fixes out of array read
Fixes Ticket3193
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-12-04 20:40:42 +01:00
904c89ac1b
lswr/swresample: convert ocl and icl options to AV_OPT_TYPE_CHANNEL_LAYOUT
...
Improve interface flexibility. In particular makes it possible to set
channel layout through symbolic names using the av_opt_set() interface.
2013-10-17 18:09:54 +02:00
9078b40d35
swresample: replace 2 av_free() by av_freep()
...
avoids leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-09-16 22:44:15 +02:00
e2b718464e
swresample: Make rematrix maxvalue user settable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-07-22 03:23:54 +02:00
a9bbf59be7
cosmetics: Fix "dont" "wont" "doesnt" typos
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-06-29 02:31:16 +02:00
3289670142
swr: dont treat 32 and 24 as equal in simple copy check
...
Fixes dithering from 32 to 24 bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-06-05 03:06:34 +02:00
0804171104
swresample: set flags & description and add documentation for output_sample_bits
...
Allows users to actually use such option.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-06-04 21:57:25 +00:00
495bf1b685
swr: Fix dithering of s16 with SIMD
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-06-04 23:50:45 +02:00
35aaa306ac
swr: make the default of nopts for first_pts actually work
...
Fixes Ticket2210
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-02-25 04:39:26 +01:00
8b3affda87
swr: support a seperate output sample bits.
...
This avoids user apps having to mangle dither scale. for pcm24
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-02-24 20:31:56 +01:00
2abbe6d07a
swr: add duplicate cutoff for compatibility
...
Based on
commit 50f4337a2f
Author: Justin Ruggles <justin.ruggles@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-02-24 20:31:56 +01:00
21cd905cd4
swr: check channel layouts before using them.
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-02-13 17:50:24 +01:00
b5f544a0f9
swr: Dont use floats for S32->S32 when possible
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-02-04 04:11:46 +01:00
be989f9236
swr: reorder init code to make rematrix status available earlier
...
This also makes some other fields available earlier which may
be usefull one day
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-02-04 04:05:59 +01:00
167af704ea
swr: limit phase_shift to a less insane value.
...
This prevents potential crashes and out of memory issues if
the user manually sets such insane values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-27 05:54:52 +01:00
00cae86754
swr: support first_pts
...
Trolled-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-21 00:52:14 +01:00
d676598f87
swr: fix handling of timestamps that cause multiple drops or silence injections
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-13 18:39:06 +01:00
a34aee4646
swr: limit buffer size for silence injection
...
This reduces memory usage for unreasonable large silence injections
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-13 16:04:41 +01:00
b481d09bd9
swr: limit buffer size for discarding.
...
This prevents insane memory usage in case of insane input values.
Untested due to lack of a testcase that causes such insane allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-13 16:04:41 +01:00
db4e0ecaf0
swr: move silence buffer to context to avoid per use malloc/free
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-13 15:28:00 +01:00
dc6588421e
swr: move buffer used to discard sample to context
...
This avoids the need to allocate & free to repeatly
Fixes Ticket2122
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-13 15:28:00 +01:00
a74548521b
swr: check that allocation of in/out_convert succeeded
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-10 20:27:07 +01:00
e5a736261b
swr: Use a temporary buffer for dither/Noise shaping when the input is read only
...
This avoids copying the input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-10 18:51:30 +01:00
558aa6cab7
swr: add seperate in/out pointers to the noise shaping code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-10 18:06:19 +01:00
fca51256d4
swr: rename dither_pos to noise_pos
...
THis more closely matches what the field represents
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-10 18:01:26 +01:00
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
3ef06f3415
swr: split swri_dither_init() out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-09 23:28:08 +01:00
8514d5bcf7
swr: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-09 18:41:40 +01:00
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
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
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
f3c9d8d41b
swr: use SIMD for dithering
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-09 02:05:35 +01:00
9aec63af9b
swr: fix assertion failure if dither is used without the preout buffer differing from in
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-08 20:07:16 +01:00
ac25b31ede
lswr: Improve default resampler's default parameters
...
After making some blind tests on a small collection of music
samples for home usage. It turned out that the default cutoff
was too low.
The impact of filter_size was not clearly distinguishable (the
results were on the edge) with the music samples but turned out
to be clearly audible in some synthetic samples.
Thanks to Daniel for helping out with the listening tests.
Signed-off-by: Alexander Strasser <eclipse7@gmx.net >
2013-01-04 16:47:57 +01:00
5f12d5ad78
lswr: improve rematrixing error message.
...
Report channel layout/count for insufficiently determined
rematrixing.
2012-12-31 18:43:04 +01:00
8d9a503313
docs: add soxr documentation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2012-12-27 12:13:17 +01:00
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
801b315729
swr: Add SOX resampler support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2012-12-11 22:04:00 +01:00
41049d07f2
swr: add a lowpass default so that each Resampler can have its own default.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2012-12-11 22:04:00 +01:00
ae5a55e77a
swr: move flush into Resampler
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2012-12-11 22:04:00 +01:00
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
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
8bee8f778a
lswr/swresample: use AV_OPT_TYPE_SAMPLE_FMT for sample format options
...
Improve usability and robustness.
2012-12-03 13:49:56 +01:00