Commit Graph

66 Commits

Author SHA1 Message Date
Diego Biurrun af10feadc2 ppc: Rename H.264 optimization template file for consistency. 2012-06-12 23:20:05 +02: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
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
Diego Biurrun ff159e7816 doxygen: Replace '\' by '@' in Doxygen markup tags. 2011-12-07 15:29:14 +01:00
Mans Rullgard b034c95cc1 h264: fix ppc/altivec build
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-21 12:49:01 +01:00
Ronald S. Bultje c2d337429c H264: change weight/biweight functions to take a height argument.
Neon parts by Mans Rullgard <mans@mansr.com>.
2011-10-21 01:00:45 -07:00
Baptiste Coudurier 76741b0e56 h264: 4:2:2 intra decoding support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:00:41 -07: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
Jason Garrett-Glaser c90b94424c 4:4:4 H.264 decoding support
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
2011-06-13 21:16:30 -07: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
Ronald S. Bultje ed040f35f2 Fix PPC build. 2011-02-17 20:22:39 -05:00
Stefano Sabatini c6c98d0897 Move mm_support() from libavcodec to libavutil, make it a public
function and rename it to av_get_cpu_flags().

Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 15:07:14 +00:00
Stefano Sabatini ccf22d3ed1 Merge has_altivec() function into mm_support(), remove it and use
mm_support() instead.

Reduce complexity and simplify pending move to libavutil.

Originally committed as revision 25074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 10:02:40 +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 4693b031a3 Move H264 dsputil functions into their own struct
This moves the H264-specific functions from DSPContext to the new
H264DSPContext.  The code is made conditional on CONFIG_H264DSP
which is set by the codecs requiring it.

The qpel and chroma MC functions are not moved as these are used by
non-h264 code.

Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 01:17:00 +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 84dc2d8afa Remove DECLARE_ALIGNED_{8,16} macros
These macros are redundant.  All uses are replaced with the generic
DECLARE_ALIGNED macro instead.

Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:24:59 +00:00
Måns Rullgård c67278098d Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +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 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
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 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 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
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
Diego Biurrun 309005c047 cosmetics: Fix indentation after last commit.
Originally committed as revision 14370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 16:54:51 +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 e3905ce0af cosmetics: Reformat PPC code in libavcodec according to style guidelines.
This includes indentation changes, comment reformatting, consistent brace
placement and some prettyprinting.

Originally committed as revision 14316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-20 18:58:30 +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 3035cb6796 Add necessary #include, fixes the warnings:
ppc/h264_altivec.c: In function ‘put_h264_qpel16_mc00_altivec’:
ppc/h264_altivec.c:394: warning: implicit declaration of function ‘put_pixels16_altivec’
ppc/h264_altivec.c: In function ‘avg_h264_qpel16_mc00_altivec’:
ppc/h264_altivec.c:395: warning: implicit declaration of function ‘avg_pixels16_altivec’
ppc/h264_altivec.c: In function ‘dsputil_h264_init_ppc’:
ppc/h264_altivec.c:872: warning: implicit declaration of function ‘has_altivec’

Originally committed as revision 11330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-27 12:31:23 +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 830bf1f20d whitespace/indentation cosmetics
Originally committed as revision 10217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-24 23:49:11 +00:00
Diego Biurrun 2722c98128 Remove HAVE_ALTIVEC preprocessor directives that are only compiled
when AltiVec is enabled anyway.

Originally committed as revision 10216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-24 23:01:50 +00:00
Guillaume Poirier 3ca96802e2 use shorter types vec_"type" instead of the too long vector "type"
part 1 of h264 luma interpolation 8x8 for altivec contributed by
Mauricio Alvarez % lokifo A gmail P com %
Original thread:
Date: Jun 26, 2007 8:15 PM
Subject: Re: [FFmpeg-devel] [PATCH] h264 luma interpolation 8x8 for altivec

Originally committed as revision 10090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-12 13:50:06 +00:00
Guillaume Poirier e970d98c47 restore GCC3 support
Originally committed as revision 9353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 12:38:51 +00:00
Guillaume Poirier 7d2bf29c88 re-enable use of h264_v_loop_filter_luma_altivec and h264_h_loop_filter_luma_altivec,
they work fine now

Originally committed as revision 9350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 09:38:35 +00:00
Graham Booker 22fa38f0c8 part 2/2 of fixing Altivec-accelerated H264 luma inloop filter
In h264_deblock_q1, the result of the deblock needs to be kept to
be used in future deblocks, so return this value now.

Also change the sign of tc0 vector: It is really a signed value, so
treat it as such until after the >=0 check;
then, at that point, after being masked, it can be treated as unsigned.

Patch by Graham Booker % gbooker A tamu P edu%

Originally committed as revision 9349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 09:37:13 +00:00
Guillaume Poirier 963eca226e convert h264_deblock_q1 to an inline function.
part 1/2 of fixing Altivec-accelerated H264 luma inloop filter

Originally committed as revision 9348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 09:14:02 +00:00
Graham Booker f4a02f6e9b Use a faster way to compute 255-val: Instead of creating a vector of
all 255s, and then doing the subtraction, nor of the vector with itself: saves
one instruction and a register.
Patch by Graham Booker % gbooker A tamu P edu%

Originally committed as revision 9340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 18:59:10 +00:00
Guillaume Poirier fbb578e90d some samples aren't decoded correctly such as
( http://www.pennfans.net/files/videos/Penn&Teller.on.The.View.mp4 )
with current Altivec implementation of loopfilter, while others are fine.
Let's disable it until we iron this bug out.

Originally committed as revision 9317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-15 08:22:06 +00:00
Guillaume Poirier da1fce3921 cosmetics
Originally committed as revision 9298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 21:44:38 +00:00
Sigbjorn Skjaeret 0aec30c58d kill one vector constant value load by the right combination of vec_splatX/vec_sl
patch by Sigbjorn Skjaeret %sskjer-1 A broadpark P no%

Originally committed as revision 9296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 21:24:25 +00:00