summaryrefslogtreecommitdiff
path: root/libswresample
Commit message (Collapse)AuthorAge
* fix spelling errorsAndreas Cadhalpun2014-07-12
| | | | | Reviewed-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/libswresample.v: hide ff_*Michael Niedermayer2014-07-12
| | | | | Found-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: misc. doxy improvementsTimothy Gu2014-07-08
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: organize functions into doxy groupsTimothy Gu2014-07-06
| | | | | 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-06
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: improve Doxygen introductionTimothy Gu2014-07-06
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: add SwrContext doxyTimothy Gu2014-07-06
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: add SwrDitherType doxyTimothy Gu2014-07-06
| | | | | 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-06
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: grammar/capitalization fixesTimothy Gu2014-07-06
| | | | | 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-06
| | | | | 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-04
| | | | | 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-04
| | | | | | | 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-04
| | | | | 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-02
| | | | | | | 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-02
| | | | | 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-02
| | | | | | | | | | 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-02
| | | | | 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-02
| | | | | 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-01
| | | | | | | | 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-30
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample_template: move division out of loop for float/double ↵Michael Niedermayer2014-06-30
| | | | | | swri_resample_linear() Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample_template: flip order of operations in ↵Michael Niedermayer2014-06-29
| | | | | | | | | | 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-28
| | | | | | | | | | | 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-28
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: remove another forgotten division in DSP function.Ronald S. Bultje2014-06-22
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: remove div/mod from DSP functions.Ronald S. Bultje2014-06-18
| | | | | | 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-18
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: reindent.Ronald S. Bultje2014-06-16
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: compile mmx2 s16p functions only on x86-32.Ronald S. Bultje2014-06-15
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: add prototypes for resample dsp functionsJames Almer2014-06-15
| | | | | | | | 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-15
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: split out DSP functions.Ronald S. Bultje2014-06-14
| | | | | | | | | | 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-14
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: handle initial negative sample index outside DSP function.Ronald S. Bultje2014-06-14
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: remove unnecessary assignment.Ronald S. Bultje2014-06-14
| | | | | | | | 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-09
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* fix various typosLou Logan2014-06-03
| | | | | 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-02
| | | | | | | | | | | 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-02
| | | | | | delta_frac overflow Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Rewrite main resampling loop (common and linear).Ronald S. Bultje2014-06-02
| | | | | | | | | | | | | | | | | This removes a branch at a performance-sensitive point (in the middle of the loop). In fate-swr-resample-s32p-8000-2626, this makes the code about 10% faster. It also simplifies the loops, allowing us to rewrite it in yasm at some later point. The compensation_distance != 0 code and index < 0 code are still kind of hairy. For compensation_distance != 0, this should likely be handled in the caller, so that it calls swri_resample twice (once until the dst_incr switch-point, and once with the remainder of the samples). For index < 0, the code should probably be rewritten to break out of the loop once sample_index >= 0, and then resume (e.g. as a tail-call) to the common or linear resampling loops. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: add swri_resample_float_avxJames Almer2014-05-16
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: swr_close()Michael Niedermayer2014-05-15
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* inline asm: fix arrays as named constraints.Matt Oliver2014-05-07
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample: add missing xmm clobbersJames Almer2014-05-07
| | | | | | | Might fix fate-swr on ICL Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Fix convertion typosMichael Niedermayer2014-04-29
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: add swri_resample_double_sse2James Almer2014-04-25
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: fix AV_CH_LAYOUT_STEREO_DOWNMIX inputMichael Niedermayer2014-04-24
| | | | | | Fixes Ticket 3542 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample_template: try to consider src_size more exactlyMichael Niedermayer2014-04-15
| | | | | | | This should avoid slight differences in the output causes by input size alignment differences between archs Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/resample: simplify index/consumed calculation for the filter = 1 caseMichael Niedermayer2014-04-14
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>