aboutsummaryrefslogtreecommitdiffstats
path: root/libswresample
Commit message (Collapse)AuthorAgeFilesLines
* swresample/swresample: Fix input channel count in resample_first computationMichael Niedermayer2018-10-281-1/+1
| | | | | | | | Found-by: Marcin Gorzel <gorzel@google.com> Reviewed-by: Marcin Gorzel <gorzel@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit bce4da85e8110b66040a5fb07ffc724ab4e09a86) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/arm: rename labels to fix xcode build errorRahul Chaudhry2018-07-171-4/+4
| | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit e84212b78e00df17799e01be1e153a073eb8f689) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/arm: remove unintentional relocation.Rahul Chaudhry2018-06-181-2/+4
| | | | | | | | | | | | | | | | | | | | Branch to global symbol results in reference to PLT, and when compiling for THUMB-2 - in a R_ARM_THM_JUMP19 relocation. Some linkers don't support this relocation (ld.gold), while others can end up truncating the relocation to fit (ld.bfd). Convert this branch through PLT into a direct branch that the assembler can resolve locally. See https://github.com/android-ndk/ndk/issues/337 for background. The current workaround is to disable neon during gstreamer build, which is not optimal and can be reverted after this patch: https://github.com/freedesktop/gstreamer-cerbero/commit/41556c415739fbc3a72c7eaee7e70a565b719b2f Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit b22db4f465c9adb2cf1489e04f7b65ef6bb55b8b) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/swresample: Fix for seg fault in swr_convert_internal() -> ↵Hendrik Schreiber2018-06-181-1/+1
| | | | | | | | | | | sum2_float during dithering. Removed +len1 in call to s->mix_2_1_f() as I found no logical explanation for it. After removal, problem was gone. Signed-off-by: Hendrik Schreiber <hs@tagtraum.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 647fd4b8292e3bfae30b1086aa842a5ee47ee868) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/rematrix: fix update of channel matrix if input or output layout ↵Tobias Rapp2018-02-201-2/+4
| | | | | | | | | | is undefined Prefer direct in/out channel count values over channel layout, when available. Fixes a pan filter bug (ticket #6790). Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com> (cherry picked from commit 6325bd3717348615adafb52e4da2fd01a3007d0a)
* Bump minor versions for branching 3.4Michael Niedermayer2017-10-111-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/resample: Fix flush refelction lengthMichael Niedermayer2017-08-161-3/+6
| | | | | Reviewed-by: atomnuker Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libswresample: check input to swr_convert_frame for NULLhexpointer2017-07-081-3/+4
| | | | | | | | | When 'out' is an AVFrame that does not have buffers preallocated, swr_convert_frame tries to allocate buffers of the right size. However in calculating this size it failed to check for whether 'in' is NULL (requesting that swr's internal buffers are to be flushed). Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libswresample/swresample: remove obsolete codeMichael Niedermayer2017-06-271-4/+0
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* build: Generalize yasm/nasm-related variable namesDiego Biurrun2017-06-214-4/+4
| | | | | | | | None of them are specific to the YASM assembler. (Cherry-picked from libav commit 39e208f4d4756367c7cd2d581847e0c1b8a429c1) Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '92db5083077a8b0f8e1050507671b456fd155125'James Almer2017-05-041-2/+1
| | | | | | | | | | | | | | * commit '92db5083077a8b0f8e1050507671b456fd155125': build: Generate pkg-config files from Make and not from configure build: Store library version numbers in .version files Includes cherry-picked commits 8a34f3659371680ca523aecfd9098c28f0f809eb and ee164727dd64c199b87118917e674b17c25e0da3 to fix issues. Changes were also made to retain support for raise_major and build_suffix. Reviewed-by: ubitux Merged-by: James Almer <jamrial@gmail.com>
* Merge commit '11a9320de54759340531177c9f2b1e31e6112cc2'Clément Bœsch2017-05-031-1/+1
| | | | | | | | | * commit '11a9320de54759340531177c9f2b1e31e6112cc2': build: Move build-system-related helper files to a separate subdirectory "ffbuild" directory name is used instead of "avbuild". Merged-by: Clément Bœsch <u@pkh.me>
* Bump versions for master after 3.3n3.4-devMichael Niedermayer2017-04-021-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor for 3.3Michael Niedermayer2017-04-021-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions for master after release/3.3 branchpointMichael Niedermayer2017-03-311-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions for staring release/3.3 branchMichael Niedermayer2017-03-311-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/resample: free existing ResampleContext on reinitJames Almer2017-03-211-0/+1
| | | | | | | | Fixes memleak. Reviewed-by: wm4 <nfxjfg@googlemail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* swresample/resample: move resample_free() higher in the fileJames Almer2017-03-211-7/+8
| | | | | | Also make it more readable while at it. Signed-off-by: James Almer <jamrial@gmail.com>
* swresample/x86/resample: extend resample_double to support avx and fma3Muhammad Faiz2017-03-192-3/+22
| | | | | | | | | benchmark: sse2 10.670s avx 8.763s fma3 8.380s Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/swresample: do not use s32p internally by default when resamplingMuhammad Faiz2017-03-181-0/+2
| | | | | | | | | | | | use fltp when doing s32 -> s32 resampling because s32p has no simd optimization benchmark: old 17.913s new 7.584s (use fma3) Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/resample: do not assert compensation_distance on rebuild_filterMuhammad Faiz2017-03-171-1/+1
| | | | | | | | | | | | when set_compensation is called with zero sample_delta, compensation does not happen (because dst_incr == ideal_dst_incr) but compensation_distance is set regression since 01ebb57c03abde89bca7bdbc552917efcb8f551d Found-by: wm4 <nfxjfg@googlemail.com> Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/options: enable linear_interp and exact_rational by defaultMuhammad Faiz2017-03-171-2/+2
| | | | | | better quality without speedloss Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/swresample: do not reset tsf on swr_alloc_set_optsMuhammad Faiz2017-03-131-3/+0
| | | | | | | | | | | | so tsf option in aresample will have effect previously tsf/internal_sample_format had no effect fate is updated s32p previously used fltp internally dblp previously used fltp/dblp internally Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/resample: do not allow odd filter_lengthMuhammad Faiz2017-03-091-38/+18
| | | | | | | | | | | | except filter_length == 1 odd filter_length gives worse frequency response, even when compared with shorter filter_length also makes build_filter simpler Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/resample: use uniform normalizationMuhammad Faiz2017-03-081-7/+7
| | | | | | | | | this gives better frequency response update swresample fate and other fates that depend on resampling Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* lswr/rematrix: Remove an aggressive loop optimization.Carl Eugen Hoyos2017-02-251-3/+4
| | | | | Fixes undefined behaviour and a gcc warning: libswresample/rematrix.c:376:47: warning: iteration 64 invokes undefined behavior
* swr/aarch64: add missing ret to ff_resample_common_apply_filter_x8_float_neonMatthieu Bouron2017-02-161-0/+1
|
* swresample/arm: cosmetic fixesMatthieu Bouron2017-01-132-22/+22
|
* swresample/aarch64: add ff_resample_common_apply_filter_{x4,x8}_{float,s16}_neonMatthieu Bouron2017-01-135-2/+202
|
* swresample/resample: remove swri_resample functionMuhammad Faiz2016-12-141-44/+35
| | | | | | | | | integrate it inside multiple_resample allow some calculations to be performed outside loop Suggested-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/resample: do not allow negative dst_size return valueMuhammad Faiz2016-12-141-3/+4
| | | | | | | This should fix Ticket6012 Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/resample_template: Add filter values in parallelMichael Niedermayer2016-12-101-4/+12
| | | | | | | | | This is faster 2871 -> 2189 cycles for int16 matrixbench -> 23456hz Fixes a integer overflow in a artificial corner case Fixes part of 668007-media Found-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/resample_template: Reorder operations to avoid one additionMichael Niedermayer2016-12-101-6/+9
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/swresample: Check count before memcpy()Michael Niedermayer2016-12-101-2/+2
| | | | | | | | Fixes undefined operation Fixes part of 668007-media Found-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/resample: do not rebuild filter when sample_delta is zeroMuhammad Faiz2016-12-041-1/+1
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/soxr: fix invalid use of linear_interpMuhammad Faiz2016-11-261-1/+1
| | | | | | | | | | | | give very bad quality for soxr resampler. linear_interp is intended for using linear interpolation between filter bank so quality will be better. i guess this is misunderstood as 'do not use filter bank, but directly interpolate linearly between samples'. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample/resample: optimize exact_rational=on:linear_interp=on caseMuhammad Faiz2016-11-255-27/+36
| | | | | | | | | | | | | | | | | | | separate dsp.resample to dsp.resample_common and dsp.resample_linear and choose to call faster resample_common even when linear_interp=on when c->frac and c->dst_incr_mod are both zero speed up resampling when exact_rational and linear_interp are both enabled because exact_rational force c->frac and c->dst_incr_mod to be zero when soft compensation does not happen benchmark on exact_rational=on:linear_interp=on old new real 8.432s 5.097s user 7.679s 4.989s sys 0.125s 0.107s Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* Bump minor versions after 3.2 branchpoint to seperate releaseMichael Niedermayer2016-10-261-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions for 3.2Michael Niedermayer2016-10-261-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/rematrix: Fix float part of swr_set_matrix()Vodyannikov Aleksandr2016-10-261-4/+2
| | | | | | Fixes Ticket #5897. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/resample: fix return value of build_filterMuhammad Faiz2016-10-181-1/+3
| | | | | | return AVERROR code on error Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swr: Update version & APIChanges for swr_build_matrix()Michael Niedermayer2016-09-271-1/+1
| | | | | Found-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample: Add swr_build_matrix()Michael Niedermayer2016-09-272-71/+117
| | | | | | | API and Doxy documentation is taken from avresample_build_matrix() Fixes: Ticket5780 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample: Use double and float for matrixes for best quality and speedMichael Niedermayer2016-09-272-2/+12
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample: add int64 sample formatPaul B Mahol2016-08-182-1/+24
|
* swresample: Skip over dither steps if dithering scale is 0Michael Niedermayer2016-08-184-1/+9
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample: move dither init upMichael Niedermayer2016-08-182-11/+11
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doxygen: Standardize root-level modulesTimothy Gu2016-08-021-3/+2
|
* Merge commit '535a742c2695a9e0c586b50d7fa76e318232ff24'Matthieu Bouron2016-06-271-3/+6
| | | | | | | * commit '535a742c2695a9e0c586b50d7fa76e318232ff24': build: Change structure of the linker version script templates Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
* swr: fix time.h includeClément Bœsch2016-06-221-1/+1
|