Commit Graph

1310 Commits

Author SHA1 Message Date
Michael Niedermayer
3fa6c992d9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents

Conflicts:
	tests/fate/ac3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 11:35:03 +02:00
Diego Biurrun
7c00e9d8ae x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents
The function requires increasing the fuzz factor for the ac3/eac3 encode
tests and even so makes fate fail. It only provides a slight encoding
speedup for legacy CPUs that do not support SS2. Thus its benefit is not
worth the trouble it creates and fixing it would be a waste of time.
2013-04-26 21:06:52 +02:00
Michael Niedermayer
721ffc691a Merge remote-tracking branch 'qatar/master'
* commit '74685f6783e77f2545d48bd2124945ad5be39982':
  x86: Rename dsputil_rnd_template.c to rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 11:10:57 +02:00
Martin Storsjö
74685f6783 x86: Rename dsputil_rnd_template.c to rnd_template.c
This makes it less confusing when this template is shared both by
dsputil and by hpeldsp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-25 23:03:09 +03:00
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
Michael Niedermayer
cb69a9dbf4 Merge commit 'e5c2794a7162e485eefd3133af5b98fd31386aeb'
* commit 'e5c2794a7162e485eefd3133af5b98fd31386aeb':
  x86: consistently use unaligned movs in the unaligned bswap

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:07:37 +01:00
Michael Niedermayer
ea7b96af96 avcodec/x86/dsputil_qns_template: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 04:08:28 +01:00
Janne Grunau
e5c2794a71 x86: consistently use unaligned movs in the unaligned bswap
Fixes fate errors in asv1, ffvhuff and huffyuv on x86_32.
2013-03-25 12:11:11 +01:00
Martin Storsjö
285ff14413 x86: Change a missed occurrance of int to ptrdiff_t for strides
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-24 12:06:53 +02:00
Martin Storsjö
352dbdb96c x86: Remove win64 xmm clobbering wrappers for the now removed avcodec_encode_video function
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-23 23:37:27 +02:00
Michael Niedermayer
b3e9f266e8 x86/mpegvideo: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 22:57:23 +01:00
Michael Niedermayer
cdbf8409ef x86/h264_qpel: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 22:57:08 +01:00
Carl Eugen Hoyos
d98a5318fd Fix compilation with --disable-mmx. 2013-03-22 13:00:50 +01:00
Michael Niedermayer
0f95534669 h264_qpel: fix another forgotten int stride
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 05:20:35 +01:00
Michael Niedermayer
c3bb2f7296 dsputil_mmx: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 15:07:46 +01:00
Michael Niedermayer
db4e4f766c Merge commit 'a8b6015823e628047a45916404c00044c5e80415'
* commit 'a8b6015823e628047a45916404c00044c5e80415':
  dsputil: convert remaining functions to use ptrdiff_t strides

Conflicts:
	libavcodec/dsputil.h
	libavcodec/dsputil_template.c
	libavcodec/h264qpel_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:18:53 +01:00
Ronald S. Bultje
3ced55d51c Move x86 half-pel assembly from dsputil to hpeldsp. 2013-03-13 03:59:23 +01:00
Ronald S. Bultje
d1293512cf vp3: use hpeldsp instead of dsputil for half-pel functions.
This makes vp3 independent of dsputil.
2013-03-13 03:55:33 +01:00
Michael Niedermayer
1f27053b91 Merge commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f'
* commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f':
  lavc: remove disabled FF_API_LIBMPEG2 cruft

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:56:33 +01:00
Ronald S. Bultje
d85c9b036e vp3/x86: use full transpose for all IDCTs.
This way, the special IDCT permutations are no longer needed. Bfin code
is disabled until someone updates it. This is similar to how H264 does
it, and removes the dsputil dependency imposed by the scantable code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:54:10 +01:00
Ronald S. Bultje
6a701306db dsputil: make selectable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 19:56:58 +01:00
Luca Barbato
a8b6015823 dsputil: convert remaining functions to use ptrdiff_t strides
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-12 18:26:42 +01:00
Ronald S. Bultje
22cc8a103c x86/qpel: move fullpel and l2 functions to separate file.
This way, they can be shared between mpeg4qpel and h264qpel without
requiring either one to be compiled unconditionally.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 17:25:30 +01:00
Michael Niedermayer
1a7166a58d Merge commit 'e8c52271c45ec27d783e74238dcfad0c2008731c'
* commit 'e8c52271c45ec27d783e74238dcfad0c2008731c':
  Revert "Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm."

Conflicts:
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 13:39:47 +01:00
Diego Biurrun
e8c52271c4 Revert "Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm."
This reverts commit f90ff772e7.

The code should be put back in h264_qpel_8bit.asm, but unfortunately
it is unconditionally used from dsputil_mmx.c since 71155d7.
2013-02-28 21:50:02 +01:00
Michael Niedermayer
50c2738883 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Drop some unused function #defines

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 12:35:18 +01:00
Michael Niedermayer
cdb9752a0f Merge commit '845cfc92f908791714b8c4c8a49c91b8c64b685e'
* commit '845cfc92f908791714b8c4c8a49c91b8c64b685e':
  x86: dsputil: Drop aliasing of ff_put_pixels8_mmx to ff_put_pixels8_mmxext

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Note, the commit message is wrong, there are no mmxext instructions as
claimed in the function. The change should do no harm though

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 12:22:10 +01:00
Michael Niedermayer
04ec796bda Merge commit '096cc11ec102701a18951b4f0437d609081ca1dd'
* commit '096cc11ec102701a18951b4f0437d609081ca1dd':
  x86: vc1dsp: Move ff_avg_vc1_mspel_mc00_mmxext out of dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 11:59:31 +01:00
Michael Niedermayer
f2bbc2ffc3 Merge commit '31a23a0dc663bd42bf593275971b4277a479b73d'
* commit '31a23a0dc663bd42bf593275971b4277a479b73d':
  x86: dsputil_mmx: Remove leftover inline assembly fragments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 11:50:51 +01:00
Diego Biurrun
ebc701993f x86: dsputil: Drop some unused function #defines 2013-02-26 23:36:24 +01:00
Diego Biurrun
845cfc92f9 x86: dsputil: Drop aliasing of ff_put_pixels8_mmx to ff_put_pixels8_mmxext
The external assembly function uses mmxext instructions and should not be
masqueraded as an mmx-only function. Instead, use the mmx-only inline
assembly function.
2013-02-26 23:36:24 +01:00
Diego Biurrun
096cc11ec1 x86: vc1dsp: Move ff_avg_vc1_mspel_mc00_mmxext out of dsputil_mmx.c 2013-02-26 23:36:24 +01:00
Martin Storsjö
31a23a0dc6 x86: dsputil_mmx: Remove leftover inline assembly fragments
These became unused in 71155d7b.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-27 00:17:05 +02:00
Michael Niedermayer
a984efd104 Merge commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f'
* commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f':
  Remove unnecessary dsputil.h #includes

Conflicts:
	libavcodec/ffv1.c
	libavcodec/h261dec.c
	libavcodec/h261enc.c
	libavcodec/h264pred.c
	libavcodec/lpc.h
	libavcodec/mjpegdec.c
	libavcodec/rectangle.h
	libavcodec/x86/idct_sse2_xvid.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 13:05:10 +01:00
Diego Biurrun
c242bbd8b6 Remove unnecessary dsputil.h #includes 2013-02-26 00:51:34 +01:00
Matt Wolenetz
82a4a4e7ca Fix Win64 AVX h264_deblock by not using redzone on Win64
Thanks-to: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:38:56 +01:00
Matt Wolenetz
311443f6c7 x86: h264: Don't use redzone in AVX h264_deblock on Win64
This fixes crashes in chromium on win64 on machines with AVX
(crashes that apparently aren't triggered by fate).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-21 15:02:16 +02:00
Ronald S. Bultje
e5ffffe48d h264chroma: Remove duplicate 9/10 bit functions
These functions do the same thing in 16 bit space and don't need
any depth specific clipping.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:19 +02:00
Ronald S. Bultje
1acd7d594c 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: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 16:25:50 +01:00
Michael Niedermayer
b9237aa7b0 x86/h263_loopfilter: Fix author attribution after code has been moved/splited around
Reference:
    commit 3615e2be84
    Author: Michael Niedermayer <michaelni@gmx.at>
    Date:   Tue Dec 2 22:02:57 2003 +0000

        h263_h_loop_filter_mmx

        Originally committed as revision 2553 to svn://svn.ffmpeg.org/ffmpeg/trunk

    commit 359f98ded9
    Author: Michael Niedermayer <michaelni@gmx.at>
    Date:   Tue Dec 2 20:28:10 2003 +0000

        h263_v_loop_filter_mmx

        Originally committed as revision 2552 to svn://svn.ffmpeg.org/ffmpeg/trunk
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 12:51:00 +01:00
Michael Niedermayer
fa09ad5c9e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Fix h263 loop filter link error in some configurations

Conflicts:
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 12:41:27 +01:00
Michael Niedermayer
cf10616cc0 Merge commit '7a03145ed7cb4f1ce794b5126559dd6f38029243'
* commit '7a03145ed7cb4f1ce794b5126559dd6f38029243':
  x86: dsputil: int --> ptrdiff_t for ff_put_pixels16_mmxext line_size param

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 12:32:12 +01:00
Daniel Kang
9acd23d655 x86: dsputil: Fix h263 loop filter link error in some configurations
This was caused by unconditionally referencing a conditionally compiled
table. Now the code is also compiled conditionally.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-18 17:09:00 +01:00
Daniel Kang
7a03145ed7 x86: dsputil: int --> ptrdiff_t for ff_put_pixels16_mmxext line_size param
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-18 15:23:03 +01:00
Ronald S. Bultje
71ae8d50b2 x86/dsputil: fix compilation when h263 decoder/encoder are disabled.
The symbol "ff_h263_loop_filter_strength" is defined in h263.c, but
the h263 loopfilter functions (in the .asm file) are not optimized
out (even though their function pointers are never assigned).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 15:18:56 +01:00
Michael Niedermayer
7491356111 Merge commit '304b806cb524fb040f8e09a241040f1af2cb820b'
* commit '304b806cb524fb040f8e09a241040f1af2cb820b':
  build: Make library minor version visible in the Makefile
  x86: mpeg4qpel: Make movsxifnidn do the right thing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 13:26:22 +01:00
Ronald S. Bultje
972771dcf2 h264chroma: remove duplicate 9/10 bit functions.
Also use the resulting 16bpp functions for anything >8 and <=16, not just
9 and 10. This fixes 12 and 14bpp H264 support.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 22:54:52 +01:00
Daniel Kang
b3f2a3fe3f x86: mpeg4qpel: Make movsxifnidn do the right thing
Fixes an instruction that does nothing by changing the
source to dword.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-11 20:17:15 +01:00
Ronald S. Bultje
c7e3e55429 Move ff_emulated_edge_mc prototypes to videodsp.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 01:03:33 +01:00
Michael Niedermayer
5cfc0ae825 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: Move fdct function declarations to dct.h

Conflicts:
	libavcodec/dsputil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 14:45:45 +01:00
Michael Niedermayer
6b2e65078c Merge commit '218aefce4472dc02ee3f12830a9a894bf7916da9'
* commit '218aefce4472dc02ee3f12830a9a894bf7916da9':
  dsputil: Move LOCAL_ALIGNED macros to libavutil

Conflicts:
	libavcodec/dvdec.c
	libavcodec/imc.c
	libavcodec/mpegvideo_motion.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 14:33:57 +01:00
Diego Biurrun
5d3d39c72e dsputil: Move fdct function declarations to dct.h 2013-02-09 00:08:28 +01:00
Diego Biurrun
218aefce44 dsputil: Move LOCAL_ALIGNED macros to libavutil 2013-02-08 23:13:37 +01:00
Michael Niedermayer
48870853b2 x86/dsputil: Fix author attribution after code has been moved/splited around
Reference:
commit 3615e2be84
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue Dec 2 22:02:57 2003 +0000

    h263_h_loop_filter_mmx

    Originally committed as revision 2553 to svn://svn.ffmpeg.org/ffmpeg/trunk

commit 359f98ded9
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue Dec 2 20:28:10 2003 +0000

    h263_v_loop_filter_mmx

    Originally committed as revision 2552 to svn://svn.ffmpeg.org/ffmpeg/trunk

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 16:22:51 +01:00
Michael Niedermayer
54d8322355 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: x86: Fix compile error
  dsputil: x86: Convert h263 loop filter to yasm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 14:35:49 +01:00
Michael Niedermayer
60a0bc46cd Merge commit 'a846dccb29d2bb0798af1d47d06100eda9ca87cc'
* commit 'a846dccb29d2bb0798af1d47d06100eda9ca87cc':
  h264chroma: x86: Fix building with yasm disabled
  rv34: Drop now unnecessary dsputil dependencies

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 13:35:49 +01:00
Michael Niedermayer
c4e394e460 Merge commit '79dad2a932534d1155079f937649e099f9e5cc27'
* commit '79dad2a932534d1155079f937649e099f9e5cc27':
  dsputil: Separate h264chroma

Conflicts:
	libavcodec/dsputil_template.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/vc1dec.c
	libavcodec/vc1dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 13:09:35 +01:00
Daniel Kang
a1d3673034 dsputil: x86: Fix compile error
Accidentally prefixed ff_ with cextern.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-07 11:06:16 +02:00
Daniel Kang
659d4ba5af dsputil: x86: Convert h263 loop filter to yasm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-06 15:38:27 -08:00
Martin Storsjö
a846dccb29 h264chroma: x86: Fix building with yasm disabled
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-06 17:05:33 +02:00
Michael Niedermayer
6c38884876 Merge commit '620289a20e022b9c16c10d546ef86cc0bb77cc84'
* commit '620289a20e022b9c16c10d546ef86cc0bb77cc84':
  sh4: Fix silly type vs. variable name search and replace typo
  configure: Group all hwaccels together in a separate variable
  Add av_cold attributes to arch-specific init functions

Conflicts:
	configure
	libavcodec/arm/mpegvideo_armv5te.c
	libavcodec/x86/mlpdsp.c
	libavcodec/x86/motion_est.c
	libavcodec/x86/mpegvideoenc.c
	libavcodec/x86/videodsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 13:27:24 +01:00
Michael Niedermayer
0ddca7d416 dsputil: fixup half a dozen bugs with ptrdiff vs int linesize
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 13:22:19 +01:00
Michael Niedermayer
ede45c4e1d Merge commit '25841dfe806a13de526ae09c11149ab1f83555a8'
* commit '25841dfe806a13de526ae09c11149ab1f83555a8':
  Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.

Conflicts:
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 12:18:25 +01:00
Diego Biurrun
82bd04b170 rv34: Drop now unnecessary dsputil dependencies 2013-02-06 11:30:54 +01:00
Diego Biurrun
79dad2a932 dsputil: Separate h264chroma 2013-02-06 11:30:53 +01:00
Diego Biurrun
c9f933b5b6 Add av_cold attributes to arch-specific init functions 2013-02-05 17:01:05 +01:00
Diego Biurrun
25841dfe80 Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
2013-02-05 12:59:12 +01:00
Michael Niedermayer
4d37d2bfc5 put_vp_no_rnd_pixels8_l2_mmx: fix type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 17:21:06 +01:00
Michael Niedermayer
cb573f7fbc avcodec/x86: Add daniels copyright to the recent gcc->yasm convertions he did.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 13:50:44 +01:00
Michael Niedermayer
dd87d4a318 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: hpel: Move {avg,put}_pixels16_sse2 to hpeldsp
  configure: Add a comment indicating why uclibc is checked before glibc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 20:03:36 +01:00
Diego Biurrun
52acd79165 x86: hpel: Move {avg,put}_pixels16_sse2 to hpeldsp 2013-01-31 11:19:23 +01:00
Michael Niedermayer
71f8d70456 dirac/x86: fix compile without yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 06:47:09 +01:00
Michael Niedermayer
4d3d362549 dirac/x86: fix compile without inline asm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 02:51:59 +01:00
Michael Niedermayer
14aa358c20 Merge commit '098eed95bc1a6b2c8ac97f126f62bb74699670cf'
* commit '098eed95bc1a6b2c8ac97f126f62bb74699670cf':
  mdec: merge mdec_common_init() into decode_init().
  eatgv: use fixed-width types where appropriate.
  x86: Simplify some arch conditionals
  bfin: Separate VP3 initialization code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 13:48:38 +01:00
Diego Biurrun
c59211b437 x86: Simplify some arch conditionals 2013-01-29 00:10:53 +01:00
Michael Niedermayer
94ef1667bb dirac/x86: Fix handling blocksizes that are not a multiple of 4
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 20:55:11 +01:00
Michael Niedermayer
5c9cae7447 dirac: Only use MMX if MMX is available.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 20:00:55 +01:00
Michael Niedermayer
bb2f4ae434 Merge commit '05b0998f511ffa699407465d48c7d5805f746ad2'
* commit '05b0998f511ffa699407465d48c7d5805f746ad2':
  dsputil: Fix error by not using redzone and register name
  swscale: GBRP output support

Conflicts:
	libswscale/output.c
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/utils.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 14:11:31 +01:00
Michael Niedermayer
834e9fb056 x86: hpeldsp: Fix a typo, use the right register
This makes the code actually work.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-28 12:49:37 +02:00
Daniel Kang
05b0998f51 dsputil: Fix error by not using redzone and register name
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-28 07:23:20 +01:00
Michael Niedermayer
edde562130 AVG_PIXELS8_XY2: fix typo, make code actually work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 15:50:26 +01:00
Daniel Kang
5327a45552 dsputil: x86: Correct the number of registers used in put_no_rnd_pixels16_l2
put_no_rnd_pixels16_l2 allocated 5 instead of 6 registers.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 15:20:44 +01:00
Daniel Kang
d9e62f368d dsputil: add missing HAVE_YASM guard
Fix compile error under
"--disable-optimizations --disable-yasm --disable-inline-asm"

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 15:20:35 +01:00
Michael Niedermayer
5934be16cc x86/mpeg4qpel: Fix author attribution
Also fix project name

See git blame/log/show and
commit 826f429ae9
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Sun Jan 5 15:57:10 2003 +0000

    qpel in mmx2/3dnow
    qpel refinement quality parameter

    Originally committed as revision 1393 to svn://svn.ffmpeg.org/ffmpeg/trunk

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 15:07:02 +01:00
Michael Niedermayer
aa3f449955 x86/hpeldsp: Fix author attribution
This also fixes the project name

Original authors fabrice and nick go back to the initial ffmpeg commit
Others for example contributed in: (for a complete list please use git blame / show / log)

commit e9c0a38ff0
Author: Zdenek Kabelac <kabi@informatics.muni.cz>
Date:   Tue May 28 16:35:58 2002 +0000

    * optimized avg_* functions (except xy2)
    * minor speedup for put_pixels_x2 & cleanup

    Originally committed as revision 619 to svn://svn.ffmpeg.org/ffmpeg/trunk

commit 607dce96c0
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Fri May 17 01:04:14 2002 +0000

    hopefully faster mmx2&3dnow MC

    Originally committed as revision 506 to svn://svn.ffmpeg.org/ffmpeg/trunk

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 14:47:58 +01:00
Michael Niedermayer
91c8921d80 Merge commit '71155d7b4157fee44c0d3d0fc1b660ebfb9ccf46'
* commit '71155d7b4157fee44c0d3d0fc1b660ebfb9ccf46':
  dsputil: x86: Convert mpeg4 qpel and dsputil avg to yasm

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 14:24:28 +01:00
Michael Niedermayer
6b2f7fd1c7 Merge commit 'f90ff772e7e35b4923c2de429d1fab9f2569b568'
* commit 'f90ff772e7e35b4923c2de429d1fab9f2569b568':
  Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm.
  doc: update the reference for the title

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 13:32:56 +01:00
Daniel Kang
96753bd00d dsputil: x86: Correct the number of registers used in put_no_rnd_pixels16_l2
put_no_rnd_pixels16_l2 allocated 5 instead of 6 registers.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:48 +01:00
Daniel Kang
0eedf5d74d dsputil: add missing HAVE_YASM guard
Fix compile error under
"--disable-optimizations --disable-yasm --disable-inline-asm"

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:46 +01:00
Daniel Kang
71155d7b41 dsputil: x86: Convert mpeg4 qpel and dsputil avg to yasm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 06:45:31 +01:00
Ronald S. Bultje
f90ff772e7 Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm. 2013-01-26 20:35:42 -08:00
Michael Niedermayer
446d62f0cf Merge commit '69c25c9284645cf5189af2ede42d6f53828f3b45'
* commit '69c25c9284645cf5189af2ede42d6f53828f3b45':
  dnxhdenc: fix invalid reads in dnxhd_mb_var_thread().
  x86: h264qpel: Move stray comment to the right spot and clarify it
  atrac3: use correct loop variable in add_tonal_components()

Conflicts:
	tests/ref/vsynth/vsynth1-dnxhd-1080i
	tests/ref/vsynth/vsynth2-dnxhd-1080i

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 14:33:06 +01:00
Diego Biurrun
033a86f9bb x86: h264qpel: Move stray comment to the right spot and clarify it 2013-01-26 11:19:22 +01:00
Michael Niedermayer
e9125dd556 Merge commit '2c10e2a2f62477efaef5b641974594f7df4ca339'
* commit '2c10e2a2f62477efaef5b641974594f7df4ca339':
  build: Make the H.264 parser select h264qpel
  x86: h264qpel: add cpu flag checks for init function

Conflicts:
	libavcodec/x86/h264_qpel.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 14:14:21 +01:00
Carl Eugen Hoyos
a0d1440476 Fix compilation with --disable-everything on x86_32.
Fixes ticket #2183.
2013-01-25 03:04:46 +01:00
Michael Niedermayer
fc8e8e5bef h264_qpel: put cpuflags checks back.
These where lost when libav moved the code out of dsputil

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 22:14:39 +01:00
Janne Grunau
c5c2060cf5 x86: h264qpel: add cpu flag checks for init function
The code was copied from per cpu extension init function so the checks
for supported extensions was overlooked.
2013-01-24 19:03:59 +01:00
Michael Niedermayer
fc13a89654 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: Separate h264 qpel

Conflicts:
	libavcodec/dsputil_template.c
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 15:47:47 +01:00
Mans Rullgard
e9d817351b dsputil: Separate h264 qpel
The sh4 optimizations are removed, because the code is
100% identical to the C code, so it is unlikely to
provide any real practical benefit.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-24 10:44:43 +01:00
Michael Niedermayer
1e7a92f219 Merge commit 'baf35bb4bc4fe7a2a4113c50989d11dd9ef81e76'
* commit 'baf35bb4bc4fe7a2a4113c50989d11dd9ef81e76':
  dsputil: remove one array dimension from avg_no_rnd_pixels_tab.

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 18:15:29 +01:00
Michael Niedermayer
6d1e9d993a Merge commit '32ff6432284f713e9f837ee5b36fc8e9f1902836'
* commit '32ff6432284f713e9f837ee5b36fc8e9f1902836':
  dsputil: remove avg_no_rnd_pixels8.

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 17:52:21 +01:00