modelled after aarch64 code
on Cortex-A8, s16 and s32 code is about 2x faster,
float code about 7x faster
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'df0891fc8f32db3ced797cd6ebff9492fda01b99':
libavresample: Annotate AARCH64 init function with av_cold
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '963f76144897d3f7684d82ec21e51dd50ea1106e':
avresample: Make sure the even check does not overflow
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '088eca28164c8cd3b72b0c3d3f9e3fe5ee5cb28f':
avresample: prevent theoretical division by zero
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '11db644a8e54f02e54d2eaad343a87fcb697c15e':
lavr: Update the planar check in ff_audio_convert
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f4c444e17d137c786f0ed2da0e5943df505d5f9e':
Postpone API-incompatible changes until the next bump.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'fbc0b8659967ea54a8472b5f795270d38bb085dd':
lavr: Do not change the sample format for mono audio
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ac976ed91e323754e9a84509873ebdb437372797':
lavr: allocate the resampling buffer with a positive size
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f20892eb67a7b4b5a3c080388a35a3380516a805':
resample: split the nearest neighbour path into a separate function pointer
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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
* commit '01c5779f56cf708e6cb88b11cfdc248cae7e2ee8':
x86: Drop some unnecessary YASM ifdefs
Conflicts:
libavfilter/x86/vf_yadif_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7e86c27b4ee9e5a3fbe6cf5249b9d918b2a5e731':
lavr: add a function for checking whether AVAudioResampleContext is open
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '76a75c523cd3c63560185394a0a5cd7249db962a':
lavr: mix front center channel as indicated in the ATSC A/52 specification.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5bcbb516f2ff45290ef7995b081762e668693672':
arm: Add X() around all references to extern symbols
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'cc976a75dffa148d655b52604331679ff669e8a2':
audio_mix: print (SKIP) instead of 0.0 for matrix columns removed along with output zeroing
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'fc6a3ef40d34ce8443ae57c2452f3f273d7d4891':
audio_mix: fix zeroing output channels in certain cases
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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.
Should fix issues compiling lavr's Windows resource file.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Originally written by James Almer <jamrial@gmail.com>
With the following contributions by Timothy Gu <timothygu99@gmail.com>
* Use descriptions of libraries from the pkg-config file generation function
* Use "FFmpeg Project" as CompanyName (suggested by Alexander Strasser)
* Use "FFmpeg" for ProductName as MSDN says "name of the product with which the
file is distributed" [1].
* Use FFmpeg's version (N-xxxxx-gxxxxxxx) for ProductVersion per MSDN [1].
* Only build the .rc files when --enable-small is not enabled.
[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058.aspx
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '211ca69b13eb0a127a9ef7e70ddaccdab125d1c5':
lavr: check that current_buffer is not NULL before using it
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is so we can sync to x264's version of FMA4 support.
This partialy reverts commit 79687079a9.
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>
* commit 'df6737a55f5dc7c0ae5272bc5fa6182836d5481c':
audio_mix: fix channel order in mix_1_to_2_fltp_flt_c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b5a138652ff8a5b987d3e1191e67fd9f6575527e':
Give less generic names to global library option arrays
Conflicts:
libavcodec/options_table.h
libavfilter/avfilter.c
libavformat/options_table.h
libswscale/options.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Consistently use "cpu_flags" as variable/parameter name for CPU flags
Conflicts:
libavcodec/x86/dsputil_init.c
libavcodec/x86/h264dsp_init.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/motion_est.c
libavcodec/x86/mpegvideo.c
libavcodec/x86/proresdsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '006ec64877fb638de4b15ae5fd969e22bd0f60ca':
lavr doxy: add version.h to the lavr group
lavc doxy: add avcodec.h to the libavcodec group.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '45235ac488363e3360bf2f2275102d1ec66eba0f':
configure: Move x11grab option to a more suitable place in the help output
lavr: allow setting internal_sample_fmt option by string
lavr: Add "resample_cutoff" option as a duplicate of "cutoff"
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavr: fix mixing matrix reduction when normalization is disabled
lavr: fix matrix reduction for upmixing in certain cases
lavr: cosmetics: reindent
Merged-by: Michael Niedermayer <michaelni@gmx.at>