Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-06dca_core: convert to lavu/txLynne
Thanks to Martin Storsjö <martin@martin.st> for fixing and testing the arm32 and aarch64 changes.
2022-06-15all: Replace if (ARCH_FOO) checks by #if ARCH_FOOAndreas Rheinhardt
This is more spec-compliant because it does not rely on dead-code elimination by the compiler. Especially MSVC has problems with this, as can be seen in https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html or https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html This commit does not eliminate every instance where we rely on dead code elimination: It only tackles branching to the initialization of arch-specific dsp code, not e.g. all uses of CONFIG_ and HAVE_ checks. But maybe it is already enough to compile FFmpeg with MSVC with whole-programm-optimizations enabled (if one does not disable too many components). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-07-22Remove unnecessary mem.h inclusionsAndreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-03-09avcodec/dcadsp: Fix integer overflow in dmix_add_c()Michael Niedermayer
Fixes: signed integer overflow: 1515225320 + 759416059 cannot be represented in type 'int' Fixes: 29256/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DCA_fuzzer-5719088561258496 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-01lavu: move LOCAL_ALIGNED from internal.h to mem_internal.hAnton Khirnov
That is a more appropriate place for it.
2017-04-09avcodec/dcadsp: Fix runtime error: signed integer overflowMichael Niedermayer
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-05avcodec/dcadsp: Fix 2 runtime error: signed integer overflow: -1958094138 - ↵Michael Niedermayer
1078906344 cannot be represented in type 'int' Fixes: 722/clusterfuzz-testcase-5711268868521984 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-28avcodec/dca: Fix multiple runtime error: signed integer overflowMichael Niedermayer
Fixes: 680/clusterfuzz-testcase-5416627266912256 Fixes: 681/clusterfuzz-testcase-5013323462475776 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-22avcodec/dcadsp: Fix runtime error: signed integer overflow: 394625024 * 8 ↵Michael Niedermayer
cannot be represented in type 'int' Fixes: 643/clusterfuzz-testcase-5209078743695360 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-11avcodec/dca: add DTS Express (LBR) decoderfoo86
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-06avcodec/dcadsp: use LOCAL_ALIGNED_32 instead of LOCAL_ALIGNED(32, ...)James Almer
2016-02-06x86/dcadec: add ff_lfe_fir0_float_{sse,sse2,avx,fma3}James Almer
Up to ~4 times faster on x86_64, ~8 times on x86_32 if compiling using x87 fp math. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
2016-02-06avcodec/dcadsp: rename lfe_fir_float functionsJames Almer
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
2016-02-05avcodec/dcadsp: replace intptr_t with ptrdiff_tJames Almer
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-31avcodec/dca: add new decoder based on libdcadecfoo86
2016-01-31avcodec/dca: remove old decoderfoo86
Remove all files and functions which are not going to be reused, and disable all functions and FATE tests temporarily which will be.
2016-01-02Merge commit '40d949677335a564f769823f4afdb7e7a3da8d6b'Hendrik Leppkes
* commit '40d949677335a564f769823f4afdb7e7a3da8d6b': dca: use defines for subband related constants Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-02Merge commit '2008f76054906e9ff6bf744800af0e5a5bfe61be'Hendrik Leppkes
* commit '2008f76054906e9ff6bf744800af0e5a5bfe61be': dca: remove unused decode_hf function and quant_d tables Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-02Merge commit 'aebf07075f4244caf591a3af71e5872fe314e87b'Hendrik Leppkes
* commit 'aebf07075f4244caf591a3af71e5872fe314e87b': dca: change the core to work with integer coefficients. Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-02Merge commit 'c33c1fa8af2b2e82418a06901b6ad17b3d61b73e'Hendrik Leppkes
* commit 'c33c1fa8af2b2e82418a06901b6ad17b3d61b73e': arm64: convert dcadsp neon asm from arm Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-31dca: use defines for subband related constantsAlexandra Hájková
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2015-12-24dca: remove unused decode_hf function and quant_d tablesAlexandra Hájková
They were superseded with their integer equivalents. Rename integer decode_hf to decode_hf.
2015-12-23dca: change the core to work with integer coefficients.Alexandra Hájková
The DCA core decoder converts integer coefficients read from the bitstream to floats just after reading them (along with dequantization). All the other steps of the audio reconstruction are done with floats which makes the output for the DTS lossless extension (XLL) actually lossy. This patch changes the DCA core to work with integer coefficients until QMF. At this point the integer coefficients are converted to floats. The coefficients for the LFE channel (lfe_data) are not touched. This is the first step for the really lossless XLL decoding.
2015-12-14arm64: convert dcadsp neon asm from armJanne Grunau
~2% faster dts decoding overall. cortex-a57 cortex-a53 dca_decode_hf_c: 474.8 1659.9 dca_decode_hf_neon: 225.2 301.1 dca_lfe_fir0_c: 913.2 1537.7 dca_lfe_fir0_neon: 286.8 451.9 dca_lfe_fir1_c: 848.7 1711.5 dca_lfe_fir1_neon: 387.1 506.4
2014-09-16Merge commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce'Michael Niedermayer
* commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce': dca: K&R formatting cosmetics Conflicts: libavcodec/dca_parser.c libavcodec/dcadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16dca: K&R formatting cosmeticsGabriel Dume
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-01Merge commit '4cb6964244fd6c099383d8b7e99731e72cc844b9'Michael Niedermayer
* commit '4cb6964244fd6c099383d8b7e99731e72cc844b9': dcadec: simplify decoding of VQ high frequencies Conflicts: configure libavcodec/dcadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28Merge commit '57b1eb9f75b04571063ddec316e290c216c114ac'Michael Niedermayer
* commit '57b1eb9f75b04571063ddec316e290c216c114ac': dcadsp: scan coefficients linearly in dca_lfe_fir Conflicts: libavcodec/dcadsp.c See: 9ae8e23188fc2e533eea74757c9060557941d3d9 Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28Merge commit '87ec849fe9acba075c843e67bcd01f256f481a18'Michael Niedermayer
* commit '87ec849fe9acba075c843e67bcd01f256f481a18': dcadec: remove scaling in lfe_interpolation_fir Conflicts: libavcodec/dcadec.c libavcodec/dcadsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28dcadec: simplify decoding of VQ high frequenciesChristophe Gisquet
The vector dequantization has a test in a loop preventing effective SIMD implementation. By moving it out of the loop, this loop can be DSPized. Therefore, modify the current DSP implementation. In particular, the DSP implementation no longer has to handle null loop sizes. The decode_hf implementations have following timings: For x86 Arrandale: C SSE SSE2 SSE4 win32: 260 162 119 104 win64: 242 N/A 89 72 The arm NEON optimizations follow in a later patch as external asm. The now unused check for the y modifier in arm inline asm is removed from configure.
2014-02-28dcadsp: scan coefficients linearly in dca_lfe_firChristophe Gisquet
This change is inspired by x86 asm where it frees a register. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28dcadec: remove scaling in lfe_interpolation_firChristophe Gisquet
The scaling factor is constant so it is faster to scale the FIR coefficients in the tables during compilation. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-15dcadsp: scan coefficients linearly instead.Christophe Gisquet
This change is inspired by x86 asm, where this frees a register. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08dcadsp: split lfe_dir casesChristophe Gisquet
The x86 runs short on registers because numerous elements are not static. In addition, splitting them allows more optimized code, at least for x86. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08Merge commit '5b59a9fc6152169599561f04b4f66370edda5c9c'Michael Niedermayer
* commit '5b59a9fc6152169599561f04b4f66370edda5c9c': x86: dcadsp: implement int8x8_fmul_int32 Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08dcadsp: add int8x8_fmul_int32 to DSP contextChristophe Gisquet
It is currently declared as a macro who is set to inlinable functions, among which a Neon and a default C implementations. Add a DSP parameter to each inline function, unused except by the default C implementation which calls a function from the DSP context. On an Arrandale CPU, gain for an inlined SSE2 function vs. a call: - Win32: 29 to 26 cycles - Win64: 25 to 23 cycles Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08dcadsp: split lfe_dir casesChristophe Gisquet
The x86 runs short on registers because numerous elements are not static. In addition, splitting them allows more optimized code, at least for x86. Arm asm changes by Janne Grunau. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-08x86: dcadsp: implement int8x8_fmul_int32Christophe Gisquet
For the callable function (as opposed to the inline one): C SSE SSE2 SSE4 Win32: 47 42 29 26 Win64: 30 33 25 23 The SSE version is neither compiled nor set for ARCH_X86_64, as the inlinable function takes over. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-08dcadsp: add int8x8_fmul_int32 to dsp contextChristophe Gisquet
It is currently declared as a macro who is set to inlinable functions, among which a Neon and a default C implementations. Add a DSP parameter to each inline function, unused except by the default C implementation which calls a function from the DSP context. On an Arrandale CPU, gain for an inlined SSE2 function vs. a call: - Win32: 29 to 26 cycles - Win64: 25 to 23 cycles Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2013-07-22Merge commit '800ffab48a7844dd5dc0a33b8f6b8e5ed718cf2e'Michael Niedermayer
* commit '800ffab48a7844dd5dc0a33b8f6b8e5ed718cf2e': dcadsp: Add a new method, qmf_32_subbands Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22dcadsp: Add a new method, qmf_32_subbandsBen Avison
This does most of the work formerly carried out by the static function qmf_32_subbands() in dcadec.c. Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-05Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'Michael Niedermayer
* commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487': avcodec: Add av_cold attributes to init functions missing them Conflicts: libavcodec/aacpsy.c libavcodec/atrac3.c libavcodec/dvdsubdec.c libavcodec/ffv1.c libavcodec/ffv1enc.c libavcodec/h261enc.c libavcodec/h264_parser.c libavcodec/h264dsp.c libavcodec/h264pred.c libavcodec/libschroedingerenc.c libavcodec/libxvid_rc.c libavcodec/mpeg12.c libavcodec/mpeg12enc.c libavcodec/proresdsp.c libavcodec/rangecoder.c libavcodec/videodsp.c libavcodec/x86/proresdsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04avcodec: Add av_cold attributes to init functions missing themDiego Biurrun
2011-02-02Remove unneeded add bias from 3 functions.Justin Ruggles
DSPContext.vector_fmul_window() DCADSPContext.lfe_fir() SynthFilterContext.synth_filter_float() Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 80ba1ddb58b5923b9f36a6acd542affc4ca722eb)
2010-04-13DCA: ARM/NEON optimised lfe_firMåns Rullgård
Originally committed as revision 22863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13DCA: break out lfe_interpolation_fir() inner loops to a functionMåns Rullgård
This enables SIMD optimisations of this function. Originally committed as revision 22861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-03-19Replace FFmpeg with Libav in licence headersMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31Remove unneeded add bias from 3 functions.Justin Ruggles
DSPContext.vector_fmul_window() DCADSPContext.lfe_fir() SynthFilterContext.synth_filter_float() Signed-off-by: Mans Rullgard <mans@mansr.com>