more credits to D. J. Bernstein for fft
Originally committed as revision 24308 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC: convert Altivec FFT to pure assembler
On PPC a leaf function has a 288-byte red zone below the stack pointer,sparing these functions the chore of setting up a full stack frame.
When a function call is disguised within an inline asm block, thecompiler might not adjust the stack pointer as required before a...
PPC: gas-preprocessor handles m[ft]spr shorthands
Originally committed as revision 24043 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC: add some asm support macros
Originally committed as revision 24042 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC: add _interleave versions of fft{4,6,16}_altivec
This removes the need for a post-swizzle with the small FFTs.
Originally committed as revision 24025 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC: fix build on OSX without gas-preprocessor
Originally committed as revision 23962 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC: Altivec IMDCT
Patch by Loren Merritt
Originally committed as revision 23959 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove vestiges of radix-2 FFT
Patch (mostly) by Loren Merritt
Originally committed as revision 23957 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC: Altivec split-radix FFT
1.8x faster than altivec radix-2 on a G48% faster vorbis decoding
Originally committed as revision 23956 to svn://svn.ffmpeg.org/ffmpeg/trunk
Check whether IBM or Apple PPC assembler syntax is used
This checks which assembler syntax is supported and defines macrosfor register names accordingly.
Originally committed as revision 23952 to svn://svn.ffmpeg.org/ffmpeg/trunk
Altivec-optimized mp{1,2,3} windowing
Originally committed as revision 23943 to svn://svn.ffmpeg.org/ffmpeg/trunk
Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
Altivec VP8 MC functions
Originally committed as revision 23884 to svn://svn.ffmpeg.org/ffmpeg/trunk
Altivec: Add helper function to load from a constant misalignment
Originally committed as revision 23883 to svn://svn.ffmpeg.org/ffmpeg/trunk
Add const to some pointer parameters.
Patch by Eli Friedman, eli D friedman A gmail
Originally committed as revision 23826 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove PPC perf counter support
This functionality is better accessed through tools like oprofile.
Originally committed as revision 23808 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if thedocumentation in the @file block refers to a file different from theone the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
Simplify arch-specific object file lists
Originally committed as revision 22570 to svn://svn.ffmpeg.org/ffmpeg/trunk
Move arch-specific makefile parts into $arch/Makefile
Originally committed as revision 22569 to svn://svn.ffmpeg.org/ffmpeg/trunk
Move H264 dsputil functions into their own struct
This moves the H264-specific functions from DSPContext to the newH264DSPContext. The code is made conditional on CONFIG_H264DSPwhich is set by the codecs requiring it.
The qpel and chroma MC functions are not moved as these are used by...
Move the local includes below the system includes
This fixes a compilation issue on OS X 10.4, where some system headers wereincluded implicitly through dsputil_altivec.h (with _POSIX_C_SOURCE defined),and other system headers included later, with _POSIX_C_SOURCE undefined at...
PPC: move prototypes to headers and make some functions static
Originally committed as revision 22267 to svn://svn.ffmpeg.org/ffmpeg/trunk
Move FFT parts from dsputil.h to fft.h
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove DECLARE_ALIGNED_{8,16} macros
These macros are redundant. All uses are replaced with the genericDECLARE_ALIGNED macro instead.
Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
refactor and optimize scalarproduct29-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.)...
cosmetics: fix indentation after previous commit
Originally committed as revision 20062 to svn://svn.ffmpeg.org/ffmpeg/trunk
Drop unused args from vector_fmul_add_add, simpify code, and rename
The src3 and step arguments to vector_fmul_add_add() are always zeroand one, respectively. This removes these arguments from the function,simplifies the code accordingly, and renames the function to better...
Move per-arch fft init bits into the corresponding subdirs
Originally committed as revision 19864 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC: remove unnecessary alignment on local variables
Storing a single element from a vector where all elements have the samevalue does not require an aligned destination. Which element is storeddepends on the alignment of the destination address, but since they all...
Add necessary #include for config.h.
Originally committed as revision 19692 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
Include required headers in {mips,ppc}/mathops.h
Originally committed as revision 19686 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
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
Change HAVE_PPC64 to ARCH_PPC64.As a side-effect this also gives it the correct value on e.g. PPC970FX-basedPPC64 systems, thus fixing "make test" (mp2/mp3 decoding).
Originally committed as revision 18953 to svn://svn.ffmpeg.org/ffmpeg/trunk
Altivec VP3 IDCT
Originally committed as revision 18949 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
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
Add necessary header for CONFIG_RUNTIME_CPUDETECT preprocessor definition.
Originally committed as revision 18774 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC: implement MULH in assembler
Left to its own devices, gcc calculates the full 64-bit product only todiscard 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
Altivec version of avg_no_rnd_vc1_chroma_mc8
Originally committed as revision 18522 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
Remove gcc_fixes.h. It only contains workarounds for unsupported gcc versions.
Originally committed as revision 18476 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove AltiVec optimizations for Snow. They are hindering the developmentof Snow, which is still in flux.
Originally committed as revision 18475 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove unnecessary gcc_fixes.h #include.
Originally committed as revision 18384 to svn://svn.ffmpeg.org/ffmpeg/trunk
cosmetics: Reformat comment paragraph and fix a few typos in it.
Originally committed as revision 18383 to svn://svn.ffmpeg.org/ffmpeg/trunk
configure: Add --enable-runtime-cpudetect
Originally committed as revision 18380 to svn://svn.ffmpeg.org/ffmpeg/trunk
cosmetics: Remove file name from file header.
Originally committed as revision 17984 to svn://svn.ffmpeg.org/ffmpeg/trunk
prettyprinting cosmetics
Originally committed as revision 17962 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
Remove old scaler.
Originally committed as revision 17786 to svn://svn.ffmpeg.org/ffmpeg/trunk
Use full internal pathname in doxygen @file directives.Otherwise doxygen complains about ambiguous filenames when files existunder the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
Add required headers to fix warnings during 'make checkheaders'.
Originally committed as revision 16769 to svn://svn.ffmpeg.org/ffmpeg/trunk
Add a check for ppc4xx instructions; rename preprocessor directive accordingly.
Originally committed as revision 16756 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove pointless #if HAVE_ALTIVEC around internal header #includeand function declarations.
Originally committed as revision 16755 to svn://svn.ffmpeg.org/ffmpeg/trunk
cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
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
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
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
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
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
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
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
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
AltiVec version of h264_idct(8)_dc_addPatch by David Conrad lessen42 A gmail P com
Originally committed as revision 16442 to svn://svn.ffmpeg.org/ffmpeg/trunk
consistency cosmetics: Rename POWERPC identifiers to PPC.
Originally committed as revision 16359 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove stray code
Originally committed as revision 16358 to svn://svn.ffmpeg.org/ffmpeg/trunk
Cleanup _t types in libavcodec/ppc
Originally committed as revision 16357 to svn://svn.ffmpeg.org/ffmpeg/trunk
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_altiveccan be used.
Originally committed as revision 16311 to svn://svn.ffmpeg.org/ffmpeg/trunk
add AltiVec implementation of int32_to_float_fmul_scalar
Originally committed as revision 16186 to svn://svn.ffmpeg.org/ffmpeg/trunk
Cleanup types
Originally committed as revision 16092 to svn://svn.ffmpeg.org/ffmpeg/trunk
Unbreak imgresample altivec
Originally committed as revision 16091 to svn://svn.ffmpeg.org/ffmpeg/trunk
add Altivec implementation of clear_block
Originally committed as revision 16078 to svn://svn.ffmpeg.org/ffmpeg/trunk
Delete unnecessary 'extern' keywords.
Originally committed as revision 15990 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove duplicated MM_* macros for CPU capabilities from dsputil.h.Add missing one for FF_MM_ALTIVEC to avcodec.h.Rename all the occurences of MM_* to the corresponding FF_MM_*.
Originally committed as revision 15770 to svn://svn.ffmpeg.org/ffmpeg/trunk
Convert asm keyword into asm.
Neither the asm() nor the asm() keyword is part of the C99standard, but while GCC accepts the former in C89 syntax, it is notaccepted in C99 unless GNU extensions are turned on (with -fasm). Thelatter form is accepted in any syntax as an extension (without...
spelling cosmetics
Originally committed as revision 15383 to svn://svn.ffmpeg.org/ffmpeg/trunk
AltiVec detection support for OpenBSD, patch by Brad, brad comstyle com.
Originally committed as revision 15382 to svn://svn.ffmpeg.org/ffmpeg/trunk
Fix compilation on Mac OS X 10.4: Defining _POSIX_C_SOURCE hides the u_char &similar typedefs that sysctl.h needs. Since sysctl() itself isn't POSIXundefining _POSIX_C_SOURCE for check_altivec.c seems the best way to fix this.patch by David Conrad lessen42 at gmail com...
Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from thefilename by stripping the leading "lib", converting '/' and '.' to'_' and uppercasing the resulting name. Guard names in the rootdirectory have to be prefixed by "FFMPEG_"....
Missing static in float_to_int16_altivec declaration
Originally committed as revision 14967 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove unused variables
Originally committed as revision 14929 to svn://svn.ffmpeg.org/ffmpeg/trunk
Introduce float_to_int16_interleave_altivec, tested with vorbis
Originally committed as revision 14928 to svn://svn.ffmpeg.org/ffmpeg/trunk
Introduce float_to_int16_one_altivec
Originally committed as revision 14927 to svn://svn.ffmpeg.org/ffmpeg/trunk
cosmetics: Fix indentation after last commit.
Originally committed as revision 14370 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove AltiVec vector declaration compiler compatibility macros.The original problem was that FSF and Apple gcc used a different syntaxfor vector declarations, i.e. {} vs. (). Nowadays Apple gcc versions supportthe standard {} syntax and versions that support {} are available on all...
cosmetics: Make libavcodec/ppc/dsputil_altivec.c conform to style guidelines.This includes indentation changes, comment reformatting, consistent braceplacement and some prettyprinting.
Originally committed as revision 14318 to svn://svn.ffmpeg.org/ffmpeg/trunk
cosmetics: Reindent two misplaced braces.
Originally committed as revision 14317 to svn://svn.ffmpeg.org/ffmpeg/trunk
cosmetics: Reformat PPC code in libavcodec according to style guidelines.This includes indentation changes, comment reformatting, consistent braceplacement and some prettyprinting.
Originally committed as revision 14316 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove wrong casts from vector declarations, this would cause errors whencompiling with -std=gnu99. Blessed by Luca Barbato.
Originally committed as revision 14129 to svn://svn.ffmpeg.org/ffmpeg/trunk
Altivec implementation of APE vector functions
Originally committed as revision 14082 to svn://svn.ffmpeg.org/ffmpeg/trunk
consistency cosmetics: indices --> indexes in variable names
Originally committed as revision 13446 to svn://svn.ffmpeg.org/ffmpeg/trunk
Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove unnecessary parentheses from return calls.
Originally committed as revision 13069 to svn://svn.ffmpeg.org/ffmpeg/trunk
typo: add missing \ in multi-line macro
Originally committed as revision 12466 to svn://svn.ffmpeg.org/ffmpeg/trunk
misc spelling fixes
Originally committed as revision 12410 to svn://svn.ffmpeg.org/ffmpeg/trunk
arg 10000l. Fix wrong fix committed in r12141
Originally committed as revision 12143 to svn://svn.ffmpeg.org/ffmpeg/trunk