Michael Niedermayer
2e789d165b
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: Get rid of duplication between *_rnd_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:17:28 +02:00
Michael Niedermayer
c2a0833c09
Merge commit '6a8561dbd7c078eb75985f7011ad1ad3fda9e223'
...
* commit '6a8561dbd7c078eb75985f7011ad1ad3fda9e223':
x86: Factorize duplicated inline assembly snippets
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:01:15 +02:00
Michael Niedermayer
fc69033371
avcodec/x86/sbrdsp_init: disable using the noise code in x86_64 MSVC, Try #2
...
This should fix building with MSVC until someone can change the
code so it works with MSVC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 02:02:25 +02:00
Martin Storsjö
486f76f029
x86: Get rid of duplication between *_rnd_template.c
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-23 23:30:17 +03:00
Martin Storsjö
6a8561dbd7
x86: Factorize duplicated inline assembly snippets
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 15:07:31 +02:00
Michael Niedermayer
7a617d6c17
avcodec/x86/sbrdsp_init: disable using the noise code in x86_64 MSVC
...
This should fix building with MSVC until someone can change the
code so it works with MSVC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 12:46:28 +02:00
Michael Niedermayer
0a73803c86
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: Move some conditional code around to avoid unused variable warnings
Conflicts:
libavcodec/x86/dsputil_mmx.c
libavfilter/x86/vf_yadif_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 11:01:46 +02:00
Michael Niedermayer
430d69c942
Merge commit 'b4ad7c54c878dead7dfa4838b912a530c1debe85'
...
* commit 'b4ad7c54c878dead7dfa4838b912a530c1debe85':
x86: cavs: Refactor duplicate dspfunc macro
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:37:44 +02:00
Michael Niedermayer
f84e373797
Merge commit '78fa0bd0f7067868943c0899907e313414492426'
...
* commit '78fa0bd0f7067868943c0899907e313414492426':
x86: cavs: Put mmx-specific code into its own init function
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:29:05 +02:00
Diego Biurrun
c1ad70c3cb
x86: Move some conditional code around to avoid unused variable warnings
2013-04-22 17:50:02 +02:00
Michael Niedermayer
2288c77689
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: Remove some duplicate function declarations
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 13:07:20 +02:00
Diego Biurrun
b4ad7c54c8
x86: cavs: Refactor duplicate dspfunc macro
2013-04-22 12:05:09 +02:00
Diego Biurrun
78fa0bd0f7
x86: cavs: Put mmx-specific code into its own init function
...
Before, this code was labeled as mmxext and enabled both for the
3dnow and the mmxext case.
2013-04-22 10:42:50 +02:00
Diego Biurrun
311a592dfc
x86: Remove some duplicate function declarations
2013-04-22 02:29:57 +02:00
Michael Niedermayer
0dd25e4699
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: Remove unused inline asm instruction defines
vc1: Remove now unused variables
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:24:15 +02:00
Michael Niedermayer
d0aa60da10
Merge commit '8db00081a37d5b7e23918ee500bb16bc59b57197'
...
* commit '8db00081a37d5b7e23918ee500bb16bc59b57197':
x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Conflicts:
libavcodec/hpeldsp.c
libavcodec/hpeldsp.h
libavcodec/x86/Makefile
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/hpeldsp_rnd_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:42:51 +02:00
Martin Storsjö
b71a0507b0
x86: Remove unused inline asm instruction defines
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 00:44:54 +03:00
Ronald S. Bultje
8db00081a3
x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:53 +03:00
Christophe Gisquet
76c7277385
x86: sbrdsp: implement SSE2 hf_apply_noise
...
233 to 105 cycles on Arrandale and Win64.
Replacing the multiplication by s_m[m] by a pand and a pxor with
appropriate vectors is slower. Unrolling is a 15 cycles win.
A SSE version was 4 cycles slower.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 13:19:45 +02:00
Michael Niedermayer
d5c31403aa
Merge commit 'c46819f2299c73cd1bfa8ef04d08b0153a5699d3'
...
* commit 'c46819f2299c73cd1bfa8ef04d08b0153a5699d3':
x86: Move constants to the only place where they are used
Conflicts:
libavcodec/x86/vp3dsp.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:44:20 +02:00
Ronald S. Bultje
015821229f
vp3: Use full transpose for all IDCTs
...
This way, the special IDCT permutations are no longer needed. This
is similar to how H264 does it, and removes the dsputil dependency
imposed by the scantable code.
Also remove the unused type == 0 cases from the plain C version
of the idct.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:32:05 +03:00
Ronald S. Bultje
c46819f229
x86: Move constants to the only place where they are used
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:17:39 +03:00
Michael Niedermayer
34b78ad04f
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: dsputil: Move some ifdefs to avoid unused variable warnings
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:38:41 +02:00
Michael Niedermayer
ed3680bc9b
Merge commit '2004c7c8f763280ff3ba675ea21cf25396528fd3'
...
* commit '2004c7c8f763280ff3ba675ea21cf25396528fd3':
x86: dsputil: cosmetics: Remove two pointless variable indirections
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:28:23 +02:00
Michael Niedermayer
694fa0035a
Merge commit 'c51a3a5bd9a5b404176ff343ecadb80b2553b256'
...
* commit 'c51a3a5bd9a5b404176ff343ecadb80b2553b256':
x86: dsputil: Refactor some ff_{avg|put}_pixels function declarations
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:36:31 +02:00
Michael Niedermayer
43bf4ee9a9
Merge commit 'e027032fc6a49db5a4ce12fc3e09ffb86ff20522'
...
* commit 'e027032fc6a49db5a4ce12fc3e09ffb86ff20522':
x86: dsputil: ff_h263_*_loop_filter declarations to a more suitable place
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:29:30 +02:00
Michael Niedermayer
52bda1d903
Merge commit 'a89c05500f68d94a0269e68bc522abfd420c5497'
...
* commit 'a89c05500f68d94a0269e68bc522abfd420c5497':
x86: h264qpel: int --> ptrdiff_t for some line_size parameters
Conflicts:
libavcodec/x86/qpelbase.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:22:27 +02:00
Diego Biurrun
a3cb865310
x86: dsputil: Move some ifdefs to avoid unused variable warnings
2013-04-12 09:36:47 +02:00
Diego Biurrun
2004c7c8f7
x86: dsputil: cosmetics: Remove two pointless variable indirections
2013-04-12 09:36:47 +02:00
Diego Biurrun
c51a3a5bd9
x86: dsputil: Refactor some ff_{avg|put}_pixels function declarations
2013-04-12 09:36:46 +02:00
Diego Biurrun
e027032fc6
x86: dsputil: ff_h263_*_loop_filter declarations to a more suitable place
2013-04-12 09:36:46 +02:00
Diego Biurrun
a89c05500f
x86: h264qpel: int --> ptrdiff_t for some line_size parameters
2013-04-12 09:30:12 +02:00
Michael Niedermayer
580a0600ef
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
Move misplaced file author information where it belongs
Conflicts:
libavcodec/adpcm.c
libavcodec/adpcmenc.c
libavcodec/gif.c
libavcodec/x86/dsputilenc_mmx.c
libavcodec/x86/fmtconvert_init.c
libavformat/au.c
libavformat/gif.c
libavformat/mov.c
libavformat/nsvdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 15:56:18 +02:00
Michael Niedermayer
742c392885
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dsputil: Make dsputil selectable
Conflicts:
configure
libavcodec/Makefile
libavcodec/x86/Makefile
libavcodec/x86/constants.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_mmx.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:32:29 +02:00
Michael Niedermayer
0724b4a16d
Merge commit '62844c3fd66940c7747e9b2bb7804e265319f43f'
...
* commit '62844c3fd66940c7747e9b2bb7804e265319f43f':
h264: Integrate clear_blocks calls with IDCT
Conflicts:
libavcodec/arm/h264idct_neon.S
libavcodec/h264idct_template.c
libavcodec/x86/h264_idct.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:53:19 +02:00
Diego Biurrun
ac9362c5d9
Move misplaced file author information where it belongs
2013-04-11 02:42:11 +02:00
Ronald S. Bultje
b93b27edb0
dsputil: Make dsputil selectable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:04:05 +03:00
Ronald S. Bultje
62844c3fd6
h264: Integrate clear_blocks calls with IDCT
...
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:03:06 +03:00
Christophe Gisquet
2383068cbf
x86: sbrdsp: implement SSE2 qmf_pre_shuffle
...
From 253 to 51 cycles on Arrandale and Win64.
44 cycles on SandyBridge.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:42:22 +02:00
Ronald S. Bultje
610b18e2e3
x86: qpel: Move fullpel and l2 functions to a separate file
...
This way, they can be shared between mpeg4qpel and h264qpel without
requiring either one to be compiled unconditionally.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Christophe Gisquet
e2946e5c34
x86: sbrdsp: implement SSE qmf_deint_bfly
...
From 312 to 89/68 (sse/sse2) cycles on Arrandale and Win64.
Sandybridge: 68/47 cycles.
Having a loop counter is a 7 cycle gain.
Unrolling is another 7 cycle gain.
Working in reverse scan is another 6 cycles.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 02:26:34 +02:00
Michael Niedermayer
32bac65ba0
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: sbrdsp: Implement SSE neg_odd_64
Conflicts:
libavcodec/x86/sbrdsp.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:30:19 +02:00
Christophe Gisquet
f4b0d12f5b
x86: sbrdsp: Implement SSE neg_odd_64
...
Timing on Arrandale:
C SSE
Win32: 57 44
Win64: 47 38
Unrolling and not storing mask both save some cycles.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-05 22:47:04 +02:00
Christophe Gisquet
37a9708391
x86: sbrdsp: implement SSE neg_odd_64
...
Timing on Arrandale:
C SSE
Win32: 57 44
Win64: 47 38
Unrolling and not storing mask both save some cycles.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 16:42:12 +02:00
Carl Eugen Hoyos
670bb1c979
Fix compilation with --enable-decoder=webp --disable-decoder=vp8
2013-03-30 08:25:44 +01:00
Michael Niedermayer
63a97d5674
Merge commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa'
...
* commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa':
cosmetics: Remove unnecessary extern keywords from function declarations
Conflicts:
libswscale/x86/swscale.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:20:41 +01:00
Diego Biurrun
b6649ab503
cosmetics: Remove unnecessary extern keywords from function declarations
2013-03-27 14:21:45 +01:00
Michael Niedermayer
ef8ab2f953
Merge commit '3b2d0ec473b036bdd0a5bc0d896fd5292915f44d'
...
* commit '3b2d0ec473b036bdd0a5bc0d896fd5292915f44d':
configure: Remove the mpegvideo dependency from svq1
x86: vc1dsp: Fix indentation
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:32:45 +01:00
Martin Storsjö
a2acadd058
x86: vc1dsp: Fix indentation
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 15:49:42 +02:00
Michael Niedermayer
9b9205e760
x86/dsputil.asm: make unaligned bswap actually work
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:07:46 +01:00