| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
|
|
|
|
|
|
| |
Optimized for the default filter length 16.
30% faster opus silk decoding.
|
|
|
|
| |
Required for arch optimized resampling.
|
| |
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
| |
This simplifies the code, since we do not have to deal with a possibly
negative source index anymore.
|
|
|
|
| |
negative sample_index is handled in the block above.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Dead code elimination is enough to avoid undefined references in these cases.
|
| |
|
| |
|
| |
|
|
|
|
| |
When mixing 3 front channels into 2, the center channel is mixed into left and right with the center mix level, not -3dB.
|
|
|
|
|
|
| |
Don't rely on the fact that an unprefixed label currently exists.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
| |
|
|
|
|
| |
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
| |
output zeroing
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is a more sensible place for these macros.
|
| |
|
|
|
|
|
|
|
| |
Fixes a segfault during resampling when compiled with -DDEBUG.
Fixes all fate-lavr-resample tests with -DDEBUG.
CC:libav-stable@libav.org
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
CC:libav-stable@libav.org
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Avoids an option name conflict with libavcodec, which is needed in order
to work properly with avconv.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Do not skip an output if the corresponding input contributes to other output
channels.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
| |
This will print the new matrix if it is set after initialization.
|
|
|
|
| |
CC: libav-stable@libav.org
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|