summaryrefslogtreecommitdiffstats
path: root/libswresample
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* swr: split out DSP functions.Ronald S. Bultje2014-06-147-148/+325
| | | | | | | | | | DSP bits of swri_resample go into their own mini-DSP functions; DSP init goes from a per-call branch in multiple_resample to a proper DSP init routine; x86 bits go into x86/; swri_resample() moves out of resample_template.c into resample.c because it's independent of DSP code or sample type; multiple_resample() is simplified. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample: replace assert by av_assertMichael Niedermayer2014-06-141-1/+1
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: handle initial negative sample index outside DSP function.Ronald S. Bultje2014-06-145-50/+66
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: remove unnecessary assignment.Ronald S. Bultje2014-06-141-1/+0
| | | | | | | | I don't see dst_incr/dst_incr_frac ever being changed from their initial value (which is the inverse of this operation), so it seems to me that this is a no-op. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: handle 64bit overflow check in multiple_resample().Ronald S. Bultje2014-06-092-2/+3
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* fix various typosLou Logan2014-06-031-1/+1
| | | | | Signed-off-by: Lou Logan <lou@lrcd.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: move compensation_distance handling to swri_resample caller.Ronald S. Bultje2014-06-022-16/+12
| | | | | | | | | | | I think there's an off-by-one in terms of the switchpoint where we switch from dst_incr to ideal_dst_incr, I don't think that's a massive issue, but just be aware of that. It's probably trivial to prevent but I don't care. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> I could not reproduce any off by 1 error, results are bit exact (michael)
* swr/resample_template: prevent end_index from overflowing and add check for ↵Michael Niedermayer2014-06-021-2/+4
| | | | | | delta_frac overflow Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud