Commit Graph

267 Commits

Author SHA1 Message Date
Loren Merritt b1159ad928 refactor and optimize scalarproduct
29-105% faster apply_filter, 6-90% faster ape decoding on core2
(Any x86 other than core2 probably gets much less, since this is mostly due to ssse3 cachesplit avoidance and I haven't written the full gamut of other cachesplit modes.)
9-123% faster ape decoding on G4.

Originally committed as revision 20739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 15:09:10 +00:00
Måns Rullgård 35de5d2412 cosmetics: fix indentation after previous commit
Originally committed as revision 20062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:52:00 +00:00
Måns Rullgård 952e872198 Drop unused args from vector_fmul_add_add, simpify code, and rename
The src3 and step arguments to vector_fmul_add_add() are always zero
and one, respectively.  This removes these arguments from the function,
simplifies the code accordingly, and renames the function to better
match the new operation.

Originally committed as revision 20061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:51:54 +00:00
Måns Rullgård f486321395 Move per-arch fft init bits into the corresponding subdirs
Originally committed as revision 19864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 21:14:14 +00:00
Måns Rullgård afe08a728a PPC: remove unnecessary alignment on local variables
Storing a single element from a vector where all elements have the same
value does not require an aligned destination.  Which element is stored
depends on the alignment of the destination address, but since they all
have the same value, the result is the same regardless of the alignment.

Originally committed as revision 19696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 21:42:22 +00:00
Diego Biurrun deb1b2b699 Add necessary #include for config.h.
Originally committed as revision 19692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 10:59:14 +00:00
Måns Rullgård b662e8395b PPC: simplify loading some values into altivec registers
Instead of filling a local array with the desired value and loading it,
load a single element and vec_splat() it to fill the vector.

Originally committed as revision 19691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 10:36:13 +00:00
Måns Rullgård c7312933ce Include required headers in {mips,ppc}/mathops.h
Originally committed as revision 19686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 11:02:41 +00:00
Diego Biurrun 9be6f0d2f8 Do not check for both CONFIG_VC1_DECODER and CONFIG_WMV3_DECODER,
the former depends upon the latter.

Originally committed as revision 19533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 09:54:49 +00:00
Diego Biurrun 99e5a9d1ea Do not redundantly check for both CONFIG_THEORA_DECODER and CONFIG_VP3_DECODER.
The Theora decoder depends on the VP3 decoder.

Originally committed as revision 19492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:27:10 +00:00
Reimar Döffinger 34d11b875f Change HAVE_PPC64 to ARCH_PPC64.
As a side-effect this also gives it the correct value on e.g. PPC970FX-based
PPC64 systems, thus fixing "make test" (mp2/mp3 decoding).

Originally committed as revision 18953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 05:00:51 +00:00
David Conrad 454403ba55 Altivec VP3 IDCT
Originally committed as revision 18949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 22:19:35 +00:00
Diego Biurrun 76499b9ff1 Remove useless casts of vec_ld() parameters.
Gets rid of 'cast discards qualifiers from pointer target type' warnings.

Originally committed as revision 18867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-18 08:21:50 +00:00
Måns Rullgård 014b7ecb66 PPC: 32-bit asm for MAC64 and MLS64
GCC makes a mess of these operations, so give it a hand.

55% faster MP3 decoding on G4.

Originally committed as revision 18794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 02:41:50 +00:00
Diego Biurrun f8c0692d8e Add necessary header for CONFIG_RUNTIME_CPUDETECT preprocessor definition.
Originally committed as revision 18774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-09 12:26:05 +00:00
Måns Rullgård 3737dd1cd3 PPC: implement MULH() in assembler
Left to its own devices, gcc calculates the full 64-bit product only to
discard the low 32 bits.  This forces it to do the right thing.

20% faster MP3 decoding on G4.

Originally committed as revision 18737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-04 17:31:15 +00:00
David Conrad 99cc7f8a02 Altivec version of avg_no_rnd_vc1_chroma_mc8
Originally committed as revision 18522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:23:40 +00:00
David Conrad c374691b28 Rename put_no_rnd_h264_chroma* to reflect its usage in VC1 only
Originally committed as revision 18517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 23:55:39 +00:00
Diego Biurrun 5137235e0c Remove gcc_fixes.h. It only contains workarounds for unsupported gcc versions.
Originally committed as revision 18476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 21:45:26 +00:00
Diego Biurrun 788cca4135 Remove AltiVec optimizations for Snow. They are hindering the development
of Snow, which is still in flux.

Originally committed as revision 18475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 21:42:55 +00:00
Diego Biurrun 7a709548a7 Remove unnecessary gcc_fixes.h #include.
Originally committed as revision 18384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 11:54:13 +00:00
Diego Biurrun 952f18ffe6 cosmetics: Reformat comment paragraph and fix a few typos in it.
Originally committed as revision 18383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 10:06:54 +00:00
Ramiro Polla e90f5b5ab1 configure: Add --enable-runtime-cpudetect
Originally committed as revision 18380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:26:18 +00:00
Diego Biurrun 60a847b5db cosmetics: Remove file name from file header.
Originally committed as revision 17984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 12:46:07 +00:00
Diego Biurrun 6d79971e69 prettyprinting cosmetics
Originally committed as revision 17962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 19:12:20 +00:00
Diego Biurrun f5b2476fd3 Add av_uninit to vsrcBuc variable to work around some
'may be used uninitialized' warnings.

Originally committed as revision 17961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 19:11:56 +00:00
Michael Niedermayer 6d4f53cbac Remove old scaler.
Originally committed as revision 17786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 22:51:30 +00:00
Diego Biurrun bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Diego Biurrun 67a7e4dbcf Use '#if defined()' for OS-specific preprocessor checks.
Avoids some warnings about undefined preprocessor directives.

Originally committed as revision 16869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 23:50:13 +00:00
Diego Biurrun 4ceb4e3102 Add required headers to fix warnings during 'make checkheaders'.
Originally committed as revision 16769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-25 11:16:25 +00:00
Diego Biurrun 799fde37cc Add a check for ppc4xx instructions; rename preprocessor directive accordingly.
Originally committed as revision 16756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 17:44:46 +00:00
Diego Biurrun f5b96597bd Remove pointless #if HAVE_ALTIVEC around internal header #include
and function declarations.

Originally committed as revision 16755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 17:32:06 +00:00
Diego Biurrun 406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Aurelien Jacobs 49fb20cb8a replace all occurrence of ENABLE_ by the corresponding CONFIG_, HAVE_ or ARCH_
and remove all ENABLE_ definitions.

Originally committed as revision 16600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 17:19:17 +00:00
Aurelien Jacobs b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
David Conrad b06688ffed Add AltiVec versions of h264_idct_add(8|16|16intra),
allowing to re-enable ff_h264_idct_add_altivec's usage.

Patch by David Conrad %lessen42 A gmail P com%

Originally committed as revision 16465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 13:54:26 +00:00
David Conrad 4929c63679 Add Altivec version of vector_fmul_window.
Patch by David Conrad %lessen42 A gmail P com%

Originally committed as revision 16459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-06 23:03:33 +00:00
David Conrad 8b2bc85f29 add AltiVec implementation of weight_h264_pixels(16|8)x(16|8|4)
Patch by David Conrad %lessen42 A gmail P com%

Originally committed as revision 16458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-06 22:29:26 +00:00
David Conrad aa9a9b7af7 Fix float_to_int16_altivec prototype to match float_to_int16's in dsputil.h
(parameter 'len' is a long not an int).
Patch by David Conrad % lessen42 A gmail P com %

Originally committed as revision 16451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-06 12:51:35 +00:00
David Conrad 628653449c fix compilation with GCC-4.3+
patch by David Conrad + fix by myself

Originally committed as revision 16450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-06 10:44:45 +00:00
David Conrad 54b9095833 offset and weights are signed, fixes some non-bitexact issues.
Patch by David Conrad %lessen42 A gmail P com%

Originally committed as revision 16449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-06 10:35:06 +00:00
David Conrad df7fb43569 add AltiVec implementation of biweight_h264_pixels(16|8)x(16|8|4)
Patch by David Conrad %lessen42 A gmail P com%

Originally committed as revision 16443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-05 23:15:14 +00:00
David Conrad c663cb0d4f AltiVec version of h264_idct(8)_dc_add
Patch by David Conrad %lessen42 A gmail P com%

Originally committed as revision 16442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-05 22:13:42 +00:00
Diego Biurrun 79cb09b2f7 consistency cosmetics: Rename POWERPC identifiers to PPC.
Originally committed as revision 16359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-27 11:33:26 +00:00
Luca Barbato d89eae6f1a Remove stray code
Originally committed as revision 16358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-27 11:30:30 +00:00
Luca Barbato a6b4448cdf Cleanup _t types in libavcodec/ppc
Originally committed as revision 16357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-27 11:21:28 +00:00
Guillaume Poirier 337e3fd990 Disable usage of ff_h264_idct_add_altivec since AltiVec versions of h264_idct_add16,
h264_idct_add16intra, h264_idct_add8 need to be implemented.

Add C version of ff_h264_idct8_dc_add in AltiVec so that ff_h264_idct8_add_altivec
can be used.

Originally committed as revision 16311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-25 18:27:49 +00:00
Guillaume Poirier 5f51afd602 add AltiVec implementation of int32_to_float_fmul_scalar
Originally committed as revision 16186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 09:47:06 +00:00
Luca Barbato 7a8f36cccc Cleanup types
Originally committed as revision 16092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 10:52:34 +00:00
Luca Barbato 006c8e9e9c Unbreak imgresample altivec
Originally committed as revision 16091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 10:49:38 +00:00