Michael Niedermayer
27e6b4a3ff
Merge commit ' 23af29e882' into release/2.2
...
* commit '23af29e882 ':
arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 11:02:36 +01:00
Michael Niedermayer
123981930f
Merge commit ' a1ab3300c8' into release/2.2
...
* commit 'a1ab3300c8 ':
arm: hpeldsp: prevent overreads in armv6 asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 10:31:47 +01:00
Janne Grunau
23af29e882
arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
...
The overread avoidance fix in cbddee1cca
broke the computation for the last row since it prevented the safe
reading from the height+1-th row.
2014-03-08 21:48:21 +01:00
Janne Grunau
a1ab3300c8
arm: hpeldsp: prevent overreads in armv6 asm
...
Based on a patch by Russel King <rmk+libav@arm.linux.org.uk>
Bug-Id: 646
CC: libav-stable@libav.org
2014-03-05 16:21:52 +01:00
Michael Niedermayer
fe6603745e
Merge commit ' 6e4009d4cd'
...
* commit '6e4009d4cd ':
arm: dcadsp: implement decode_hf as external NEON asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:52:25 +01:00
Michael Niedermayer
fb3c33f3cd
Merge commit ' 4cb6964244'
...
* commit '4cb6964244 ':
dcadec: simplify decoding of VQ high frequencies
Conflicts:
configure
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:41:19 +01:00
Michael Niedermayer
90f674d55b
Merge commit ' 87ec849fe9'
...
* commit '87ec849fe9 ':
dcadec: remove scaling in lfe_interpolation_fir
Conflicts:
libavcodec/dcadec.c
libavcodec/dcadsp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 18:14:12 +01:00
Janne Grunau
6e4009d4cd
arm: dcadsp: implement decode_hf as external NEON asm
2014-02-28 13:12:19 +01:00
Christophe Gisquet
4cb6964244
dcadec: simplify decoding of VQ high frequencies
...
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-28 13:03:22 +01:00
Christophe Gisquet
87ec849fe9
dcadec: remove scaling in lfe_interpolation_fir
...
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-28 13:00:47 +01:00
Peter Ross
b8664c9294
avcodec/vp8dsp: add VP7 idct and loop filter
...
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-15 02:15:35 +01:00
James Darnley
623f380a18
lavc: fix flac encoder and decoder dependencies
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-13 21:00:32 +01:00
Michael Niedermayer
ccc48b318b
avcodec/arm/int_neon: fix handling sizes % 16 != 0
...
This assumes the array is sufficiently padded with 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-13 02:20:08 +01:00
Michael Niedermayer
b7c6ccc1e6
Merge commit ' d6eac2f1bc'
...
* commit 'd6eac2f1bc ':
arm: Remove a stray .fpu directive
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-09 20:57:55 +01:00
Martin Storsjö
d6eac2f1bc
arm: Remove a stray .fpu directive
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-02-09 18:36:16 +01:00
Michael Niedermayer
df98b36aa6
Merge commit ' 5c1c6e8226'
...
* commit '5c1c6e8226 ':
dca: include dcadsp.h in {arm,x86}/dca.h for checkheaders
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 17:25:31 +01:00
Janne Grunau
5c1c6e8226
dca: include dcadsp.h in {arm,x86}/dca.h for checkheaders
2014-02-08 13:38:36 +01:00
Michael Niedermayer
5794e9fce2
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dcadsp: split lfe_dir cases
Conflicts:
libavcodec/arm/dcadsp_init_arm.c
See: 45854df9a5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 02:27:27 +01:00
Christophe Gisquet
45854df9a5
dcadsp: split lfe_dir cases
...
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-08 02:04:12 +01:00
Christophe Gisquet
481a46a462
dcadsp: add int8x8_fmul_int32 to DSP context
...
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-08 00:55:42 +01:00
Michael Niedermayer
bf90abe1dd
Merge commit ' 5bcbb516f2'
...
* commit '5bcbb516f2 ':
arm: Add X() around all references to extern symbols
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 00:48:26 +01:00
Christophe Gisquet
5fdbfcb5b7
dcadsp: split lfe_dir cases
...
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-07 22:54:18 +01:00
Christophe Gisquet
2bd44cb705
dcadsp: add int8x8_fmul_int32 to dsp context
...
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>
2014-02-07 22:51:59 +01:00
Martin Storsjö
5bcbb516f2
arm: Add X() around all references to extern symbols
...
Don't rely on the fact that an unprefixed label currently exists.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-02-07 15:13:58 +02:00
Michael Niedermayer
c73445a45c
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
vp8: Use 2 registers for dst_stride and src_stride in neon bilin filter
Conflicts:
libavcodec/arm/vp8dsp_neon.S
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-06 15:33:54 +01:00
Martin Storsjö
49ec551595
vp8: Use 2 registers for dst_stride and src_stride in neon bilin filter
...
Based on a patch by Ronald S. Bultje.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-02-06 09:32:26 +02:00
Michael Niedermayer
7766c7b7a0
Merge commit ' 7151c5d04a'
...
* commit '7151c5d04a ':
arm: Use full filenames as multiple inclusion guards
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 14:38:10 +01:00
Diego Biurrun
7151c5d04a
arm: Use full filenames as multiple inclusion guards
2014-01-14 00:04:52 +01:00
Michael Niedermayer
9d5cc55f0f
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
arm: Add an option for making sure NEON registers aren't clobbered
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 03:08:10 +01:00
Martin Storsjö
44a0a98f92
arm: Add an option for making sure NEON registers aren't clobbered
...
This is pretty much based on the same test for XMM registers.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-11 00:03:00 +02:00
Michael Niedermayer
8be8dddd13
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
arm: Add a missing # as prefix for an immediate constant
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:44:56 +01:00
Michael Niedermayer
edba54630b
Merge commit ' 5dae487235'
...
* commit '5dae487235 ':
arm: Allow overriding the alignment set in the function macro
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:36:56 +01:00
Michael Niedermayer
3c00d4c5f0
Merge commit ' b7b932f5e3'
...
* commit 'b7b932f5e3 ':
arm: Remove a leftover define for the pld instruction
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:21:18 +01:00
Michael Niedermayer
9ef7c0c551
Merge commit ' 67bb3a4e28'
...
* commit '67bb3a4e28 ':
arm: cosmetics: Reindent the h264dsp neon init function
Conflicts:
libavcodec/arm/h264dsp_init_arm.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:13:25 +01:00
Martin Storsjö
952d3187d8
arm: Add a missing # as prefix for an immediate constant
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-07 19:30:13 +02:00
Martin Storsjö
5dae487235
arm: Allow overriding the alignment set in the function macro
...
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>
2014-01-07 19:29:56 +02:00
Martin Storsjö
b7b932f5e3
arm: Remove a leftover define for the pld instruction
...
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>
2014-01-07 19:29:42 +02:00
Martin Storsjö
67bb3a4e28
arm: cosmetics: Reindent the h264dsp neon init function
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-07 19:29:31 +02:00
Michael Niedermayer
7778979f6f
Merge commit ' 794fcf79a8'
...
* commit '794fcf79a8 ':
Rename CONFIG_FFT_FLOAT ---> FFT_FLOAT
Conflicts:
libavcodec/fft-internal.h
libavcodec/fft-test.c
libavcodec/fft_fixed.c
libavcodec/fft_float.c
libavcodec/fft_template.c
libavcodec/mdct_fixed.c
libavcodec/mdct_float.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 13:10:56 +01:00
Diego Biurrun
794fcf79a8
Rename CONFIG_FFT_FLOAT ---> FFT_FLOAT
...
The define does not originate from configure, so it should not
have a name that is CONFIG_-prefixed.
2014-01-06 19:12:48 +01:00
Michael Niedermayer
30056fd0be
Merge commit ' a03a642d5c'
...
* commit 'a03a642d5c ':
h264: do not use 422 functions for monochrome
See: 07abf13da4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 16:51:23 +01:00
Anton Khirnov
a03a642d5c
h264: do not use 422 functions for monochrome
...
Fixes invalid memory access.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-06 08:25:36 +01:00
Michael Niedermayer
d8e65e9224
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
arm: Use the matching endfunc macro instead of the assembler directive directly
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 13:19:54 +01:00
Michael Niedermayer
63ce041a7d
Merge commit ' 2ad4ee345a'
...
* commit '2ad4ee345a ':
arm: Add a missing endfunc macro call
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 13:13:39 +01:00
Martin Storsjö
3348e3492d
arm: Use the matching endfunc macro instead of the assembler directive directly
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-04 13:53:08 +02:00
Martin Storsjö
2ad4ee345a
arm: Add a missing endfunc macro call
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-04 13:53:02 +02:00
Michael Niedermayer
70d6ce783c
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
arm: Don't clobber callee saved registers in scalarproduct
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 01:19:59 +01:00
Michael Niedermayer
4fa91b88c6
Merge commit ' b254490bda'
...
* commit 'b254490bda ':
vc1: arm: Add NEON no_rnd chroma MC
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 23:33:15 +01:00
Michael Niedermayer
69278d94c4
Merge commit ' 832e190632'
...
* commit '832e190632 ':
vc1: arm: Add NEON assembly
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 23:12:16 +01:00
Martin Storsjö
d307e408d4
arm: Don't clobber callee saved registers in scalarproduct
...
q4-q7/d8-d15 are supposed to not be clobbered by the callee.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 20:48:30 +02:00