- 03 Jun, 2014 1 commit
-
-
Janne Grunau authored
Move the GNU as check before the arch specific asm checks since the .dn check requires gas compatible assembler. Disable the VC-1 motion compensation NEON asm which is the only part using that directive. The integrated assembler in the upcoming clang 3.5 does not support .dn/.qn without plans to change that. Too much effort to implement it while it is rarely used. http://llvm.org/bugs/show_bug.cgi?id=18199.
-
- 29 May, 2014 1 commit
-
-
Diego Biurrun authored
-
- 29 Apr, 2014 1 commit
-
-
Anton Khirnov authored
This should reduce the frequency with which the offsets need to be updated.
-
- 24 Apr, 2014 1 commit
-
-
Janne Grunau authored
-
- 04 Apr, 2014 3 commits
-
-
Diego Biurrun authored
-
Janne Grunau authored
Unbreaks compilation on arm due to conflicting types for 'ff_decode_block_coeffs_armv6'.
-
Peter Ross authored
Further performance improvements and security fixes by Vittorio Giovara, Luca Barbato and Diego Biurrun. Signed-off-by:
Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by:
Luca Barbato <lu_zero@gentoo.org> Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
- 27 Mar, 2014 1 commit
-
-
Diego Biurrun authored
-
- 26 Mar, 2014 3 commits
-
-
Ben Avison authored
Profiling results for overall decode and the output_data function in particular are as follows: Before After Mean StdDev Mean StdDev Confidence Change 6:2 total 339.6 15.1 329.3 16.0 95.8% +3.1% (insignificant) 6:2 function 24.6 6.0 9.9 3.1 100.0% +148.5% 8:2 total 324.5 15.5 323.6 14.3 15.2% +0.3% (insignificant) 8:2 function 20.4 3.9 9.9 3.4 100.0% +104.7% 6:6 total 572.8 20.6 539.9 24.2 100.0% +6.1% 6:6 function 54.5 5.6 16.0 3.8 100.0% +240.9% 8:8 total 741.5 21.2 702.5 18.5 100.0% +5.6% 8:8 function 63.9 7.6 18.4 4.8 100.0% +247.3% The assembly version has also been tested with a fuzz tester to ensure that any combinations of inputs not exercised by my available test streams still generate mathematically identical results to the C version. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Ben Avison authored
Profiling results for overall audio decode and the rematrix_channels function in particular are as follows: Before After Mean StdDev Mean StdDev Confidence Change 6:2 total 370.8 17.0 348.8 20.1 99.9% +6.3% 6:2 function 46.4 8.4 45.8 6.6 18.0% +1.2% (insignificant) 8:2 total 343.2 19.0 339.1 15.4 54.7% +1.2% (insignificant) 8:2 function 38.9 3.9 40.2 6.9 52.4% -3.2% (insignificant) 6:6 total 658.4 15.7 604.6 20.8 100.0% +8.9% 6:6 function 109.0 8.7 59.5 5.4 100.0% +83.3% 8:8 total 896.2 24.5 766.4 17.6 100.0% +16.9% 8:8 function 223.4 12.8 93.8 5.0 100.0% +138.3% The assembly version has also been tested with a fuzz tester to ensure that any combinations of inputs not exercised by my available test streams still generate mathematically identical results to the C version. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Ben Avison authored
Profiling results for overall audio decode and the mlp_filter_channel(_arm) function in particular are as follows: Before After Mean StdDev Mean StdDev Confidence Change 6:2 total 380.4 22.0 370.8 17.0 87.4% +2.6% (insignificant) 6:2 function 60.7 7.2 36.6 8.1 100.0% +65.8% 8:2 total 357.0 17.5 343.2 19.0 97.8% +4.0% (insignificant) 8:2 function 60.3 8.8 37.3 3.8 100.0% +61.8% 6:6 total 717.2 23.2 658.4 15.7 100.0% +8.9% 6:6 function 140.4 12.9 81.5 9.2 100.0% +72.4% 8:8 total 981.9 16.2 896.2 24.5 100.0% +9.6% 8:8 function 193.4 15.0 103.3 11.5 100.0% +87.2% Experiments with adding preload instructions to this function yielded no useful benefit, so these have not been included. The assembly version has also been tested with a fuzz tester to ensure that any combinations of inputs not exercised by my available test streams still generate mathematically identical results to the C version. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 22 Mar, 2014 1 commit
-
-
Diego Biurrun authored
-
- 20 Mar, 2014 4 commits
-
-
Diego Biurrun authored
-
Diego Biurrun authored
This is in line with how the top-level libavcodec Makefile is structured.
-
Diego Biurrun authored
This avoids recalculating the value over and over again.
-
Diego Biurrun authored
-
- 14 Mar, 2014 1 commit
-
-
Diego Biurrun authored
The function is assigned to a function pointer that does not have the restrict keyword for that parameter. This fixes compilation for MSVC builds that don't recognize "restrict", broken since ed9625eb.
-
- 13 Mar, 2014 3 commits
-
-
Diego Biurrun authored
-
Diego Biurrun authored
-
Diego Biurrun authored
-
- 12 Mar, 2014 1 commit
-
-
Janne Grunau authored
The integrated arm assembler in clang-503.0.38 (Xcode-5.1) fails to assemble a branch to 'label + offset' in thumb mode.
-
- 08 Mar, 2014 3 commits
-
-
Janne Grunau authored
Based on the aarch64 asm. CPU cycle counts on cortex-a9 compared to gcc 4.8.2: before: 475 decicycles in get_cabac_noinline, 67106035 runs, 2829 skips after: 393 decicycles in get_cabac_noinline, 67106474 runs, 2390 skips Overall speedup is above 2%. Code generated by clang 3.4 is slower on the same hardware and the relative change is a little larger.
-
Janne Grunau authored
Was missed in aeaf268e when integrating clear_blocks into the idct.
-
Janne Grunau authored
The overread avoidance fix in cbddee1c broke the computation for the last row since it prevented the safe reading from the height+1-th row. CC: libav-stable@libav.org
-
- 05 Mar, 2014 1 commit
-
-
Janne Grunau authored
Based on a patch by Russel King <rmk+libav@arm.linux.org.uk> Bug-Id: 646 CC: libav-stable@libav.org
-
- 28 Feb, 2014 3 commits
-
-
Janne Grunau authored
-
Christophe Gisquet authored
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.
-
Christophe Gisquet authored
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>
-
- 09 Feb, 2014 1 commit
-
-
Martin Storsjö authored
Signed-off-by:
Vittorio Giovara <vittorio.giovara@gmail.com>
-
- 08 Feb, 2014 1 commit
-
-
Janne Grunau authored
-
- 07 Feb, 2014 3 commits
-
-
Christophe Gisquet authored
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>
-
Christophe Gisquet authored
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>
-
Martin Storsjö authored
Don't rely on the fact that an unprefixed label currently exists. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 06 Feb, 2014 1 commit
-
-
Martin Storsjö authored
Based on a patch by Ronald S. Bultje. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 13 Jan, 2014 1 commit
-
-
Diego Biurrun authored
-
- 10 Jan, 2014 1 commit
-
-
Martin Storsjö authored
This is pretty much based on the same test for XMM registers. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 07 Jan, 2014 4 commits
-
-
Martin Storsjö authored
Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
The function macro always sets .align 2 before declaring the function label (since 5c5e1ea3) and always sets the section to .text (since 278caa6a). The .align 5 before certain functions, added in fc252eba, were added before .text and .align were added to the function macro and thus became useless/unused when the function macro got them. This restores the original intention, to align the loop entry points. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
This file no longer uses the pld instruction at all, all such uses have been split into hpeldsp_arm.S. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by:
Martin Storsjö <martin@martin.st>
-