summaryrefslogtreecommitdiff
path: root/libavresample
Commit message (Collapse)AuthorAge
* avresample: Add avresample_get_out_samplesLuca Barbato2014-05-28
| | | | | Utility function to get the upper bound on the number of samples the resampler would output.
* build: handle library dependencies in configureJanne Grunau2014-05-13
| | | | | Instead of setting FFLIBS in each library Makefile configure exports FFLIBS-$library in config.mak.
* aarch64: NEON optimized FIR audio resamplingJanne Grunau2014-04-24
| | | | | | Optimized for the default filter length 16. 30% faster opus silk decoding.
* lavr: define ResampleContext in resample.hJanne Grunau2014-04-24
| | | | Required for arch optimized resampling.
* aarch64: NEON float to s16 audio conversionJanne Grunau2014-04-22
|
* resample: remove an unneeded context variableAnton Khirnov2014-04-17
|
* lavr: allocate the resampling buffer with a positive sizeAnton Khirnov2014-04-13
| | | | | | 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
* resample: implement flushingAnton Khirnov2014-04-13
|
* resample: split linear into its own functionAnton Khirnov2014-04-11
|
* resample: add initial padding explicitlyAnton Khirnov2014-04-11
| | | | | This simplifies the code, since we do not have to deal with a possibly negative source index anymore.
* resample: drop useless abs()Anton Khirnov2014-04-11
| | | | negative sample_index is handled in the block above.
* resample: reindentAnton Khirnov2014-04-11
|
* resample: split the nearest neighbour path into a separate function pointerAnton Khirnov2014-04-11
|
* resample: fix avresample_get_delay() return valueAnton Khirnov2014-04-11
| | | | | | | | The correct "next" input sample is not the first sample of the resampling buffer, but the center sample of the filter_length-sized block at the beginning. CC:libav-stable@libav.org
* x86: Drop some unnecessary YASM ifdefsDiego Biurrun2014-04-04
| | | | Dead code elimination is enough to avoid undefined references in these cases.
* Add missing headers to make template files compile (more) standaloneDiego Biurrun2014-03-26
|
* lavr: return an error if a avresample_open() is called on an open contextAnton Khirnov2014-02-22
|
* lavr: add a function for checking whether AVAudioResampleContext is openAnton Khirnov2014-02-22
|
* lavr: mix front center channel as indicated in the ATSC A/52 specification.Tim Walker2014-02-08
| | | | When mixing 3 front channels into 2, the center channel is mixed into left and right with the center mix level, not -3dB.
* arm: Add X() around all references to extern symbolsMartin Storsjö2014-02-07
| | | | | | Don't rely on the fact that an unprefixed label currently exists. Signed-off-by: Martin Storsjö <martin@martin.st>
* aarch64: port neon clobber test from armJanne Grunau2014-01-15
|
* x86/arm: Add clobber tests to libavresampleMartin Storsjö2014-01-13
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* audio_mix: print (SKIP) instead of 0.0 for matrix columns removed along with ↵Anton Khirnov2014-01-03
| | | | output zeroing
* audio_mix: fix zeroing output channels in certain casesAnton Khirnov2014-01-03
| | | | | | | | | | | Specifically, when the corresponding input channel exists and its matrix column is all-zero (which is necessary for zeroing the output), the matrix column must be removed from the matrix. This is not done currently, so the mixing code would end up using uninitialized pointers from stack. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* audio_mix: initialize the data pointers to NULLAnton Khirnov2014-01-03
| | | | | | | This should make it easier to catch problems where some of those pointers are used uninitialized, since reading from NULL should always crash, while random numbers from stack can turn out to be valid pointers, so random memory may be silently overwritten.
* avutil: Move library version related macros to version.hDiego Biurrun2013-12-26
| | | | This is a more sensible place for these macros.
* Add missing #includes for *INT64_MAX and *INT64_CDiego Biurrun2013-11-23
|
* lavr: check that current_buffer is not NULL before using itJustin Ruggles2013-10-27
| | | | | | | Fixes a segfault during resampling when compiled with -DDEBUG. Fixes all fate-lavr-resample tests with -DDEBUG. CC:libav-stable@libav.org
* x86inc: Remove our FMA4 supportDerek Buitenhuis2013-10-14
| | | | | | | | This is so we can sync to x264's version of FMA4 support. This partialy reverts commit 79687079a97a039c325ab79d7a95920d800b791f. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avresample/x86: Switch operand order for mulpsDerek Buitenhuis2013-10-14
| | | | | | | | With the forthcoming VEX instruction emulation, mulps must have only the third operand point to memory, as this is what vmulps expects. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* audio_mix: fix channel order in mix_1_to_2_fltp_flt_cAnton Khirnov2013-10-12
| | | | CC:libav-stable@libav.org
* Give less generic names to global library option arraysDiego Biurrun2013-08-02
|
* miscellaneous typo fixesDiego Biurrun2013-07-25
|
* Consistently use "cpu_flags" as variable/parameter name for CPU flagsDiego Biurrun2013-07-18
|
* lavr doxy: add version.h to the lavr groupAnton Khirnov2013-05-17
|
* avresample: Add av_cold attributes to init functions missing themDiego Biurrun2013-05-04
|
* cosmetics: Remove unnecessary extern keywords from function declarationsDiego Biurrun2013-03-27
|
* lavr: allow setting internal_sample_fmt option by stringJustin Ruggles2013-02-23
|
* lavr: Add "resample_cutoff" option as a duplicate of "cutoff"Justin Ruggles2013-02-23
| | | | | Avoids an option name conflict with libavcodec, which is needed in order to work properly with avconv.
* lavr: fix mixing matrix reduction when normalization is disabledJustin Ruggles2013-02-12
| | | | | | | In some cases when an input contributes fully to the corresponding output, other inputs may also contribute to the same output. This is the case, for example, for the default 5.1 to stereo downmix matrix without normalization.
* lavr: fix matrix reduction for upmixing in certain casesJustin Ruggles2013-02-12
| | | | | Do not skip an output if the corresponding input contributes to other output channels.
* lavr: cosmetics: reindentJustin Ruggles2013-02-12
|
* lavr: make sure that the mix function is reset even if no mixing will be doneJustin Ruggles2013-02-12
| | | | | If the matrix reduction ends up with no mixing matrix needed, we need to still reset the mix function accordingly and log the info to the user.
* lavr: print out the mix matrix in ff_audio_mix_set_matrix()Justin Ruggles2013-02-12
| | | | This will print the new matrix if it is set after initialization.
* lavr: always reset mix function names and pointers in mix_function_init()Justin Ruggles2013-01-17
| | | | CC: libav-stable@libav.org
* lavr: call mix_function_init() in ff_audio_mix_set_matrix()Justin Ruggles2013-01-17
| | | | | | | | This is needed if a custom matrix is set by the user after opening the AVAudioResampleContext because the matrix channel count can change if different mixing coefficients are used. CC:libav-stable@libav.org
* x86: lavr: add SSE2/AVX dither_int_to_float()Justin Ruggles2013-01-08
|
* x86: lavr: add SSE2 quantize() for ditheringJustin Ruggles2013-01-08
|
* lavr: log channel conversion description for any-to-any functionsJustin Ruggles2013-01-07
|
* lavr: mix: reduce the mixing matrix when possibleJustin Ruggles2013-01-07
| | | | | | | | | | | | | | | | | If the matrix results in an output channel not getting a contribution from any input channel and the corresponding input channel does not contribute to any outputs, we can skip the channel during mixing and silence it after mixing. If the matrix results in an input channel not contributing to any output channels and it is not in the output mix, or if the input channel only contributes fully to the same output channel, we can skip the channel during mixing. If the matrix results in an output channel only getting full contribution from the corresponding input channel and that input channel does not contribute to any other output channels, we can skip the channel during mixing.