summaryrefslogtreecommitdiff
path: root/libswresample
Commit message (Collapse)AuthorAgeFilesLines
* swresample/swresample: Fix input channel count in resample_first computationMichael Niedermayer2018-07-261-1/+1
| | | | | | Found-by: Marcin Gorzel <gorzel@google.com> Reviewed-by: Marcin Gorzel <gorzel@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample: Use channel count in rematrix initializationMarcin Gorzel2018-07-262-4/+4
| | | | | | | | Rematrixing supports up to 64 channels. However, there is only a limited number of channel layouts defined. Since the in/out channel count is currently obtained from the channel layout, for undefined layouts (e.g. for 9, 10, 11 channels etc.) the rematrixing fails. This patch changes rematrix init methods to use in (used) and out channel count directly instead of computing it from channel layout. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/arm: rename labels to fix xcode build errorRahul Chaudhry2018-04-281-4/+4
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/arm: remove unintentional relocation.Rahul Chaudhry2018-04-191-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>
* Bump minor versions after release/4.0 branchingn4.1-devMichael Niedermayer2018-04-161-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions for branching release/4.0Michael Niedermayer2018-04-161-2/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swresample/swresample: Fix for seg fault in swr_convert_internal() -> ↵Hendrik Schreiber2018-04-071-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>
* swresample/rematrix: fix update of channel matrix if input or output layout ↵Tobias Rapp2018-02-191-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>
* lswr/rematrix: Support s32p.Carl Eugen Hoyos2017-11-012-6/+15
| | | | Fixes ticket #6785.
* lswr/swresample: Mention the actually supported formats when erroring out.Carl Eugen Hoyos2017-10-281-2/+2
| | | | Fixes ticket #6779.
* Merge commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5'James Almer2017-10-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5': Bump major versions of all libraries A few API deprecated ~2 years ago or more are also postponed here for varying reasons. FF_API_LOWRES: Since this functionality depends on AVStream->codec, i figure the two can be removed at the same time in the next bump or so. FF_API_AVCTX_TIMEBASE: Couldn't get this one to work. Not just libavcodec but apparently also libavformat and ffmpeg.c expect AVCodecContext->time_base to be set for decoding. Upon removal some tests report a different generic stream time base (like 1/25), and others lose packet duration values. I guess it's somehow tied to the AVStream->codec clusterfuck. It can be dealt with alongside FF_API_LAVF_AVCTX in the next bump. FF_API_OLD_FILTER_OPTS_ERROR: This one is meant to remain after FF_API_OLD_FILTER_OPTS is removed. Its purpose is displaying the corrected command line using the new syntax as a suggestion as part of the error message. Merged-by: James Almer <jamrial@gmail.com>
* Bump version for master after 3.4 branchpointn3.5-devMichael Niedermayer2017-10-111-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* 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>