summaryrefslogtreecommitdiffstats
path: root/libswresample
Commit message (Collapse)AuthorAgeFilesLines
* x86/swr: add ff_float_to_int32_a_avx2James Almer2014-11-072-3/+13
| | | | | | | | 13797 decicycles in ff_float_to_int32_a_sse2, 32768 runs, 0 skips 8603 decicycles in ff_float_to_int32_a_avx2, 32766 runs, 2 skips Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* x86/swr: replace sse4 instructions in pack_6ch with sse onesJames Almer2014-11-062-21/+33
| | | | | | | | | There's no benefit from using blendps here except on CPUs with AVX, where it's faster than shufps according to Intel's documentation. As such, rename the sse4 functions to sse/sse2 and use shufps instead. Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* swresample: Fix swr_drop_output so it does not flush the buffersMichael Niedermayer2014-11-041-1/+2
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample: fix invert_initial_buffer() after flushMichael Niedermayer2014-10-161-3/+3
| | | | | | | Fixes: asan_heap-uaf_2071250_7_139.ogg Fixes: assertion failure Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: do not put multiple statements in one lineMichael Niedermayer2014-10-161-3/+9
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/audioconvert: Fix undefined behavior (left shift of negative value)Michael Niedermayer2014-10-081-2/+2
| | | | | | | Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/swresample: replace always true if() by av_assert0()Michael Niedermayer2014-10-061-2/+2
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/swresample: fix sample drop loop end conditionMichael Niedermayer2014-10-061-0/+2
| | | | | | Fixes Ticket3985 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* libswresample: move condition to start of loop.Reimar Döffinger2014-09-071-4/+6
| | | | | | | | | This avoids several issue like calculating sum/maxcoef incorrectly due to adding up matrix entries that will be overwritten, as well as out-of-range writes to s->matrix if the maximum allowed number of channels is used. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Remove pointless if.Reimar Döffinger2014-09-071-3/+1
| | | | | | A branch to avoid some calculation seems unlikely to have any benefits. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* libswresample: Avoid needlessly large on-stack array.Reimar Döffinger2014-09-071-5/+9
| | | | | | | | We only actually need to use a tiny part of it. Unfortunately we seem to have no real test coverage on the code, so this is a bit risky. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* swr: aarch64 audio_convert and neon clobber testMichael Niedermayer2014-08-276-0/+469
| | | | | | | Ported from avresample Code by: Mans Rullgard, Janne Grunau, Martin Storsjo Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: Add AVFrame based APIMichael Niedermayer2014-08-164-1/+221
| | | | | | Based on commit fb1ddcdc8f51b9d261ae8e9c26b91e81f7b6bf45 by Luca Barbato <lu_zero@gentoo.org> Adapted for libswresample by Michael Niedermayer Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: check av_opt_set for failure in swr_alloc_set_opts()Michael Niedermayer2014-08-111-9/+31
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: document the need to configure the context using AVOptionsLuca Barbato2014-08-111-0/+4
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* bump libpostproc and libswresampleMichael Niedermayer2014-08-102-2/+4
| | | | | | | this is needed / avoids some headaches as one of their dependancies (libavutil) was bumped Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample-test: make it independant of the internal SWR_CH_MAXMichael Niedermayer2014-08-101-0/+2
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/swresample: Treat mono as planarMichael Niedermayer2014-08-041-0/+2
| | | | | | | This might in some cases improve performance. Idea from: fbc0b8659967ea54a8472b5f795270d38bb085dd Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* fix spelling errorsAndreas Cadhalpun2014-07-121-1/+1
| | | | | Reviewed-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/libswresample.v: hide ff_*Michael Niedermayer2014-07-121-1/+1
| | | | | Found-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: misc. doxy improvementsTimothy Gu2014-07-081-19/+64
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: organize functions into doxy groupsTimothy Gu2014-07-061-1/+43
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: better doxy for configuration-returning functionsTimothy Gu2014-07-061-1/+10
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: improve Doxygen introductionTimothy Gu2014-07-061-3/+30
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: add SwrContext doxyTimothy Gu2014-07-061-0/+6
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: add SwrDitherType doxyTimothy Gu2014-07-061-0/+1
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: group all the option constants in a section in doxyTimothy Gu2014-07-061-0/+11
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: grammar/capitalization fixesTimothy Gu2014-07-061-3/+3
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: split option table to a separate fileTimothy Gu2014-07-063-132/+156
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* x86/swr: use lavu helper macros to check CPU extensionsJames Almer2014-07-043-20/+25
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* x86/swr: split audioconvert and rematrix DSP into separate filesJames Almer2014-07-044-63/+84
| | | | | | | Also rename resample_x86_dsp.c to resample_init.c Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: initialize only the necessary resample dsp functionsJames Almer2014-07-045-69/+76
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: rename swresample_dsp init functions to swri_resample_dspJames Almer2014-07-024-6/+6
| | | | | | | The swresample_ prefix is not for internal functions Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: remove obsolete resample prototypesJames Almer2014-07-021-4/+0
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Partially revert "swr: add prototypes for resample dsp functions"James Almer2014-07-022-29/+14
| | | | | | | | | | Prototypes are not needed anymore now that the x86 functions don't include resample_template.c The DO_RESAMPLE_ONE macro is removed for that same reason as well. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* x86/swr: add ff_resample_{common, linear}_int16_xopJames Almer2014-07-022-15/+26
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* x86/swr: add ff_resample_{common, linear}_float_fmaJames Almer2014-07-022-35/+51
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* x86/swr: convert resample_{common, linear}_double_sse2 to yasmJames Almer2014-07-014-169/+74
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> 312531 -> 311528 dezicycles Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: convert resample_common/linear_int16_mmx2/sse2 to yasm.Ronald S. Bultje2014-06-304-215/+187
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample_template: move division out of loop for float/double ↵Michael Niedermayer2014-06-301-2/+7
| | | | | | swri_resample_linear() Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample_template: flip order of operations in ↵Michael Niedermayer2014-06-291-1/+4
| | | | | | | | | | swri_resample_linear() for 32bit Fixes integer overflow Found-by: BBB Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: rewrite resample_common/linear_float_sse/avx in yasm.Ronald S. Bultje2014-06-285-147/+480
| | | | | | | | | | | Linear interpolation goes from 63 (llvm) or 58 (gcc) to 48 (yasm) cycles/sample on 64bit, or from 66 (llvm/gcc) to 52 (yasm) cycles/ sample on 32bit. Bon-linear goes from 43 (llvm) or 38 (gcc) to 32 (yasm) cycles/sample on 64bit, or from 46 (llvm) or 44 (gcc) to 38 (yasm) cycles/sample on 32bit (all testing on OSX 10.9.2, llvm 5.1 and gcc 4.8/9). Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: move dst_size == 0 handling outside DSP function.Ronald S. Bultje2014-06-281-3/+7
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: remove another forgotten division in DSP function.Ronald S. Bultje2014-06-221-4/+2
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: remove div/mod from DSP functions.Ronald S. Bultje2014-06-183-12/+19
| | | | | | Also fix a bug with resample_compensation resetting dst_incr. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/audioconvert: fix () in FMT_PAIR_FUNC()Michael Niedermayer2014-06-181-1/+1
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: reindent.Ronald S. Bultje2014-06-161-64/+64
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: compile mmx2 s16p functions only on x86-32.Ronald S. Bultje2014-06-151-0/+2
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: add prototypes for resample dsp functionsJames Almer2014-06-153-24/+44
| | | | | | | | Should fix compilation failures with MSVC and any other compiler without inline asm support. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: remove obsolete function prototypes.Ronald S. Bultje2014-06-151-6/+0
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud