088eca2816
avresample: prevent theoretical division by zero
...
CC: libav-stable@libav.org
Bug-Id: CID 1231986
2014-10-18 16:15:10 +01:00
fb1ddcdc8f
avresample: Introduce AVFrame-based API
2014-08-10 14:26:37 +02:00
fbc0b86599
lavr: Do not change the sample format for mono audio
...
This treats mono as planar internally within libavresample rather
than changing the sample format.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-08-03 23:13:26 +02:00
b2d4565422
avresample: Add avresample_get_out_samples
...
Utility function to get the upper bound on the number of samples the
resampler would output.
2014-05-28 22:04:56 +02:00
ac976ed91e
lavr: allocate the resampling buffer with a positive size
...
This fixes cases where very few input samples (fewer than needed for one
output sample) are passed to lavr at the beginning.
CC:libav-stable@libav.org
2014-04-13 11:21:20 +02:00
1db03a6864
lavr: return an error if a avresample_open() is called on an open context
2014-02-22 20:53:09 +01:00
7e86c27b4e
lavr: add a function for checking whether AVAudioResampleContext is open
2014-02-22 20:52:36 +01:00
211ca69b13
lavr: check that current_buffer is not NULL before using it
...
Fixes a segfault during resampling when compiled with -DDEBUG.
Fixes all fate-lavr-resample tests with -DDEBUG.
CC:libav-stable@libav.org
2013-10-27 15:07:10 -04:00
074a00d192
lavr: add a public function for setting a custom channel map
...
This allows reordering, duplication, and silencing of input channels.
2013-01-07 21:49:06 -05:00
4d68269d58
lavr: typedef internal structs in internal.h
...
Simplifies header dependencies by not including all other internal headers
in internal.h.
2013-01-07 21:49:05 -05:00
b2fe6756e3
lavr: add option for dithering during sample format conversion to s16
2012-12-19 18:52:54 -05:00
42b5688d5e
lavr: fix segfault due to overlooked change needed in 14758e3
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2012-12-12 09:09:00 +01:00
14758e3211
lavr: temporarily store custom matrix in AVAudioResampleContext
...
This allows AudioMix to be treated the same way as other conversion contexts
and removes the requirement to allocate it at the same time as the
AVAudioResampleContext.
The current matrix get/set functions are split between the public interface
and AudioMix private functions.
2012-12-11 14:00:32 -05:00
1d86aa8b0f
lavr: do not pass consumed samples as a parameter to ff_audio_resample()
...
Since the resampler handles buffering of unconsumed samples internally, the
caller does not need this information.
2012-11-27 16:49:19 -05:00
7f534d11ed
lavr: do not pass sample count as a parameter to ff_audio_convert()
...
It will always be the number of samples in the input buffer, so just use that
directly instead of passing it as a separate parameter.
2012-11-27 16:49:18 -05:00
02738792c5
lavr: fix the decision for writing directly to the output buffer
...
If there are any samples remaining in the output fifo from previous conversion
calls, we have to output those samples first instead of doing direct output
of the current samples.
2012-11-17 20:09:40 -05:00
e7ba5b1de0
lavr: change the type of the data buffers to uint8_t**.
...
This is more consistent with what the rest of Libav does.
This breaks API.
2012-10-05 13:49:44 +02:00
1d9c2dc89a
Don't include common.h from avutil.h
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-08-15 22:32:06 +03:00
8821ae649e
lavr: fix handling of custom mix matrices
...
Adds some validation for changing parameters after setting the matrix and
fixes a bug in the conversion path setup.
2012-08-04 10:28:22 -04:00
2f096bb10e
lavr: add x86-optimized mixing functions
...
Adds optimized functions for mixing 3 through 8 input channels to 1 and 2
output channels in fltp or s16p format with flt coeffs.
2012-07-27 11:25:48 -04:00
6410397600
lavr: resampling: add support for s32p, fltp, and dblp internal sample formats
...
Based partially on implementation by Michael Niedermayer <michaelni@gmx.at > in
libswresample in FFmpeg. See commits:
7f1ae79d38
24ab1abfb6
2012-07-08 15:22:11 -04:00
8ca08066fc
lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
...
Also make this the default value.
2012-07-08 15:22:11 -04:00
9684341346
lavr: do not try to copy to uninitialized output audio data.
...
This would happen at least when lavr is used as a fifo with no
conversion.
2012-05-09 17:38:23 +02:00
0982b0a431
lavr: make avresample_read() with NULL output discard samples.
2012-05-09 17:37:47 +02:00
c8af852b97
Add libavresample
...
This is a new library for audio sample format, channel layout, and sample rate
conversion.
2012-04-24 21:28:27 -04:00