Diego Biurrun
fd9e2221bd
ppc: Add some missing headers
2014-03-13 05:50:28 -07:00
Janne Grunau
98fdfa9970
ppc: reduce overreads when loading 8 pixels in altivec dsp functions
...
Altivec can only load naturally aligned vectors. To handle possibly
unaligned data a second vector is loaded from an offset of the original
location and the data is recovered through a vector permutation.
Overreads are minimal if the offset for second load points to the last
element of data. This is 7 for loading eight 8-bit pixels and overreads
are reduced from 16 bytes to 8 bytes if the pixels are 64-bit aligned.
For unaligned pixels the overread is reduced from 23 bytes to 15 bytes
in the worst case.
2014-02-14 18:34:04 +01:00
Ronald S. Bultje
47e5a98174
ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:59 +03: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
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2013-01-22 18:32:56 -08:00
Ronald S. Bultje
fef906c77c
Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.
...
Conveniently (together with Justin's earlier patches), this makes
our vorbis decoder entirely independent of dsputil.
2013-01-19 22:21:10 -08:00
Justin Ruggles
98db4e2a4e
PPC: Move types_altivec.h and util_altivec.h from libavcodec to libavutil
...
This will allow for easier implementation of Altivec functions in libraries
other than libavcodec.
2012-06-08 13:14:38 -04:00
Mans Rullgard
4c387c7070
ppc: dsputil: do unaligned block accesses correctly
...
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>
2012-05-01 00:21:30 +01:00
Martin Storsjö
210f72845c
ppc: Add ff_ prefix to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:29 +02:00
Martin Storsjö
9cf0841ef3
dsputil: Add ff_ prefix to the dsputil*_init* functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:34 +02:00
Mans Rullgard
a617c6aaa3
dsputil: update per-arch init funcs for non-h264 high bit depth
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
874f1a901d
dsputil: template get_pixels() for different bit depths
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Diego Biurrun
21aed0ed92
ppc: remove disabled code
2011-07-16 02:56:52 +02:00
Oskar Arvidsson
19a0729b4c
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 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>
2011-05-10 07:24:36 -04:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Vitor Sessak
3af1fe829e
Fix overread in altivec DSP function sad16
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-29 15:32:14 +00:00
Måns Rullgård
2829ce4b40
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
2010-06-26 22:23:35 +00:00
Måns Rullgård
ddb8c2c0f1
PPC: move prototypes to headers and make some functions static
...
Originally committed as revision 22267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:37: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
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
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
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
Guillaume Poirier
64adf4f28d
add Altivec implementation of clear_block
...
Originally committed as revision 16078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-12 09:59:00 +00:00
Diego Biurrun
80a61f08d2
Remove AltiVec vector declaration compiler compatibility macros.
...
The original problem was that FSF and Apple gcc used a different syntax
for vector declarations, i.e. {} vs. (). Nowadays Apple gcc versions support
the standard {} syntax and versions that support {} are available on all
relevant Mac OS X versions. Thus the greater compatibility is no longer
worth cluttering the code with macros.
Originally committed as revision 14366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 10:53:32 +00:00
Diego Biurrun
86255db9b9
cosmetics: Make libavcodec/ppc/dsputil_altivec.c conform to style guidelines.
...
This includes indentation changes, comment reformatting, consistent brace
placement and some prettyprinting.
Originally committed as revision 14318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-20 20:56:40 +00:00
Diego Biurrun
245976da2a
Use full path for #includes from another directory.
...
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Diego Biurrun
0c89322463
Change some files to only include the necessary headers.
...
Originally committed as revision 11394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 13:38:25 +00:00
Vitor Sessak
f87d2632b3
Fix alignment broke by my last patch
...
Originally committed as revision 11123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 22:35:38 +00:00
Vitor Sessak
52b541ad79
spelling
...
Originally committed as revision 11122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 22:21:04 +00:00
Diego Biurrun
1f3a990b3a
cosmetics: Fix indentation after last commit.
...
Originally committed as revision 10643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 12:35:23 +00:00
Diego Biurrun
eee947487b
Replace CONFIG_VORBIS_DECODER #ifdef by if (ENABLE_VORBIS_DECODER).
...
Blessed by Luca Barbato on IRC.
Originally committed as revision 10642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 12:34:43 +00:00
Luca Barbato
89523beea4
Sanitize altivec code so it can be built with runtime check properly
...
Originally committed as revision 10640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 11:39:32 +00:00
Diego Biurrun
a1d0b6a277
cosmetics: Fix AltiVec spelling.
...
Originally committed as revision 10639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 10:34:57 +00:00
Diego Biurrun
7fd7259a3f
Remove const vector macro indirection that is useless and obfuscating
...
now that the Metrowerks workarounds are gone.
Originally committed as revision 10633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-01 14:23:36 +00:00
Diego Biurrun
06b00c5f65
Simplify preprocessor directives.
...
Originally committed as revision 10249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-27 09:21:33 +00:00
Diego Biurrun
c97f54020d
Change SYS_DARWIN preprocessor checks to __APPLE__, they are specific
...
to Mac OS X rather than to Darwin.
Originally committed as revision 10247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-27 09:17:03 +00:00
Diego Biurrun
f9edc2331d
Fix trivial mixed declarations and code warning caused by a double semicolon.
...
Originally committed as revision 10212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-24 15:42:50 +00:00
Diego Biurrun
9d16f87ffd
Rename CONFIG_DARWIN to SYS_DARWIN, it is not configurable (in FFmpeg).
...
Originally committed as revision 10190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-22 22:46:39 +00:00
Diego Biurrun
d55388d028
Simplify preprocessor directives.
...
Originally committed as revision 10181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-22 13:04:10 +00:00
Guillaume Poirier
88bcb6c23f
use macro Use DECLARE_ALIGNED_16 to align stack-allocated variables
...
instead of compiler-dependent __attribute__((aligned(16)))
Origiginal thread:
Date: May 17, 2007 12:30 AM
Subject: [PATCH] Use DECLARE_ALIGNED_16 in libavcodec/ppc/
Originally committed as revision 9047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-17 14:14:53 +00:00
Ronald S. Bultje
b550bfaa61
Add libavcodec to compiler include flags in order to simplify header
...
include paths in the source files.
mostly from a patch by Ronald S. Bultje, rbultje ronald.bitfreak net
Originally committed as revision 9034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-16 09:51:45 +00:00
Luca Barbato
fe70f25c58
Simplify and avoid a warning (should be faster on Cell and certain G4 revisions)
...
Originally committed as revision 7734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-27 15:09:34 +00:00
Luca Barbato
b420448e38
removing ALTIVEC_USE_REFERENCE_C_CODE, since has no use anymore
...
Originally committed as revision 6606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-09 18:29:46 +00:00
Luca Barbato
441e8fe9c9
add_bytes passes tests
...
Originally committed as revision 6600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-09 13:37:43 +00:00
Diego Biurrun
b78e7197a8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
...
and fix GPL/LGPL version mismatches.
Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Luca Barbato
876031a74e
keep in sync with dsputil, makes --disable-decoder=vorbis build
...
Originally committed as revision 5979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-11 02:56:32 +00:00
Luca Barbato
bf29ed5dbc
Cosmetics: 2->4 spaces and some braces
...
Originally committed as revision 5940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-06 23:15:32 +00:00
Luca Barbato
c489d907e1
Yet another typo
...
Originally committed as revision 5933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-04 19:11:12 +00:00
Luca Barbato
532877894b
Fix a stupid typo and another error, thanks to Emanuele Giaquinta <exg@gentoo.org> for pointing out the issue and the patch
...
Originally committed as revision 5932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-04 19:03:01 +00:00