summaryrefslogtreecommitdiff
path: root/libavcodec/ppc
Commit message (Collapse)AuthorAge
* ppc: replace pointer casting with AV_COPY32Mans Rullgard2012-11-12
| | | | | | This removes warnings about strict aliasing violations. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: fix some unused variable warningsMans Rullgard2012-11-12
| | | | | | | The third argument of OP_U8_ALTIVEC is evaluated at most once so there is no need for a potentially unused temporary variable. Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: non-x86: Only compile mpegvideo optimizations when necessaryDiego Biurrun2012-10-09
|
* ppc: fix Altivec build with old compilersMans Rullgard2012-10-08
| | | | | | | | | The vec_splat() intrinsic requires a constant argument for the element number, and the code relies on the compiler unrolling the loop to provide this. Manually unrolling the loop avoids this reliance and works with all compilers. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()Mans Rullgard2012-10-05
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add more missing includes after removing the implicit common.hMartin Storsjö2012-08-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Add some more missing includes after removing the implicit common.hMartin Storsjö2012-08-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Don't include common.h from avutil.hMartin Storsjö2012-08-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: ppc: cosmetics: pretty-printJustin Ruggles2012-07-22
|
* ppc: fix build with altivec disabledMans Rullgard2012-07-18
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp3: move idct and loop filter pointers to new vp3dsp contextMans Rullgard2012-07-18
| | | | | | | | This moves all VP3-specific function pointers from dsputil to a new vp3dsp context. There is no reason to ever use the VP3 IDCT where an MPEG2 IDCT is expected or vice versa. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: Rename H.264 optimization template file for consistency.Diego Biurrun2012-06-12
|
* Add a float DSP framework to libavutilJustin Ruggles2012-06-08
| | | | Move vector_fmul() from DSPContext to AVFloatDSPContext.
* PPC: Move types_altivec.h and util_altivec.h from libavcodec to libavutilJustin Ruggles2012-06-08
| | | | | This will allow for easier implementation of Altivec functions in libraries other than libavcodec.
* ppc: Drop unused header regs.hDiego Biurrun2012-05-22
|
* ppc: add const where needed in scalarproduct_int16_altivec()Mans Rullgard2012-05-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: remove shift parameter from scalarproduct_int16_altivec()Mans Rullgard2012-05-01
| | | | | | | The shift parameter was removed from this interface in 7e1ce6a. This updates the Altivec implementation to match. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: dsputil: do unaligned block accesses correctlyMans Rullgard2012-05-01
| | | | | | | | | | | | To load unaligned vector data in the usual way, explicit vec_ld() should be used rather than dereferencing a pointer to a vector type. When the VSX extension is enabled, gcc may compile vector pointer dereferences using the VSX lxvw4x instruction instead of the lvx instruction typically used with Altivec/VMX. As the behaviour of these instructions with unaligned addresses differs, it is important that only lvx is used here. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove lowres video decodingMans Rullgard2012-04-21
| | | | | | | This feature is complex, of questionable utility, and slows down normal decoding. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: drop unused function dct_quantize_altivec()Diego Biurrun2012-04-18
| | | | This also allows dropping some PPC-specific ugliness from dsputil.[ch].
* build: Consistently handle conditional compilation for all optimization OBJS.Diego Biurrun2012-04-12
|
* ppc: Add/remove a number of const qualifiers to fix related warnings.Diego Biurrun2012-04-09
|
* build: ppc: drop stray leftover backslashDiego Biurrun2012-03-26
|
* build: prettyprinting cosmeticsDiego Biurrun2012-03-26
|
* vp8: change int stride to ptrdiff_t stride.Ronald S. Bultje2012-03-02
| | | | | On 64bit platforms with 32bit int, this means we won't have to sign- extend the integer anymore.
* ppc: Add ff_ prefix to nonstatic symbolsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegvideo: Add ff_ prefix to nonstatic functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* cosmetics: Delete empty lines at end of file.Diego Biurrun2012-02-09
|
* doxygen: Do not include license boilerplates in Doxygen comment blocks.Diego Biurrun2012-02-06
|
* cosmetics: drop some pointless parenthesesDiego Biurrun2012-01-07
|
* doxygen: Replace '\' by '@' in Doxygen markup tags.Diego Biurrun2011-12-07
|
* h264: fix ppc/altivec buildMans Rullgard2011-10-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* H264: change weight/biweight functions to take a height argument.Ronald S. Bultje2011-10-21
| | | | Neon parts by Mans Rullgard <mans@mansr.com>.
* h264: 4:2:2 intra decoding supportBaptiste Coudurier2011-10-21
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* ppc: fix 32-bit PIC buildMans Rullgard2011-09-25
| | | | | | | | | | | On 32-bit ppc, the GOT pointer must be loaded manually. This adds a "get_got" assembler macro to compute the GOT address. The "movrel" macro is updated to take an additional parameter containing the GOT address since no register is reserved for this purpose on ppc32. These changes have no effect on ppc64 builds. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: remove redundant setting of Altivec IDCTMans Rullgard2011-07-27
| | | | | | | This is already set by dsputil_init_ppc() and is best done in only one place. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: update per-arch init funcs for non-h264 high bit depthMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: template get_pixels() for different bit depthsMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* jfdctint: add 10-bit versionMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* simple_idct: add 10-bit versionMans Rullgard2011-07-20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: remove disabled codeDiego Biurrun2011-07-16
|
* PPC: use Altivec IMDCT only for supported sizesMans Rullgard2011-07-05
| | | | | | The Altivec IMDCT works with size 32 and higher only. Signed-off-by: Mans Rullgard <mans@mansr.com>
* 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-13
| | | | Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
* Replace some nonstandard DEBUG_* preprocessor directives by plain DEBUG.Diego Biurrun2011-06-07
|
* mpegaudiodsp: fix x86 and ppc makefilesMans Rullgard2011-05-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move some mpegaudio functions to new mpegaudiodsp subsystemMans Rullgard2011-05-19
| | | | | | | | This separation allows these functions to be used in a cleaner fashion from other codecs (e.g. qdm2) and simplifies creating optimised versions of them. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-05-10
| | | | | | | | | | | | | | | | | decoder. This patch lets e.g. dsputil_init chose dsp functions with respect to the bit depth to decode. The naming scheme of bit depth dependent functions is <base name>_<bit depth>[_<prefix>] (i.e. the old clear_blocks_c is now named clear_blocks_8_c). Note: Some of the functions for high bit depth is not dependent on the bit depth, but only on the pixel size. This leaves some room for optimizing binary size. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."Ronald S. Bultje2011-05-04
| | | | | | | This reverts commit f8bed30d8b176fa030f6737765338bb4a2bcabc9. The reason for this is that the overlap filter, which runs after IDCT, should run on unclamped values, and thus IDCT and put_pixels() cannot be merged if we want to attempt to be bitexact.
* Convert some undefined 1<<31 shifts into 1U<<31.Alex Converse2011-04-11
| | | | | | | | | | | According to ISO 9899:1999 S 6.5.7/4: The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits are filled with zeros. If E1 has an unsigned type, the value of the result is E1× 2^E2, reduced modulo one more than the maximum value representable in the result type. If E1 has a signed type and nonnegative value, and E1× 2^E2 is representable in the result type, then that is the resulting value; otherwise, the behavior is undefined.