Commit Graph

132 Commits

Author SHA1 Message Date
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
Oskar Arvidsson
8dbe585641 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: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:42 +02: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
9a1ced321b dsputil: move VC1-specific stuff into VC1DSPContext.
(cherry picked from commit 12802ec060)
2011-02-18 19:52:40 +01:00
Ronald S. Bultje
12802ec060 dsputil: move VC1-specific stuff into VC1DSPContext. 2011-02-17 17:35:35 -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
Stefano Sabatini
7160bb716b Rename FF_MM_ symbols related to CPU features flags as AV_CPU_FLAG_
symbols, and move them from libavcodec/avcodec.h to libavutil/cpu.h.

Originally committed as revision 25040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-04 09:59:08 +00:00
Måns Rullgård
c0ec9918b0 Remove global mm_flags variable
Originally committed as revision 24909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 17:47:05 +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
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
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
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
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
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
Diego Biurrun
9686df2be5 Delete unnecessary 'extern' keywords.
Originally committed as revision 15990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-03 15:23:30 +00:00
Dominik Mierzejewski
82d1605fe7 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
2008-11-03 18:08:00 +00:00
Diego Pettenò
be449fca79 Convert asm keyword into __asm__.
Neither the asm() nor the __asm__() keyword is part of the C99
standard, but while GCC accepts the former in C89 syntax, it is not
accepted in C99 unless GNU extensions are turned on (with -fasm). The
latter form is accepted in any syntax as an extension (without
requiring further command-line options).

Sun Studio C99 compiler also does not accept asm() while accepting
__asm__(), albeit reporting warnings that it's not valid C99 syntax.

Originally committed as revision 15627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-16 13:34:09 +00:00
Diego Biurrun
b6934d7f9e cosmetics: Reindent two misplaced braces.
Originally committed as revision 14317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-20 20:02:09 +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
Michael Niedermayer
90901860c2 stupid code (casting of void*) found by checktree.sh
Originally committed as revision 11117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 00:19:44 +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
dead9db83a Remove Metrowerks compiler workaround.
Originally committed as revision 10631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-01 14:10:49 +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
1f1aadc37c ssd_int8_vs_int16_altivec, not completely benchmarkedwith svq1
Originally committed as revision 8706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-10 09:47:37 +00:00
Måns Rullgård
35f9736988 rename POWERPC_PERFORMANCE_REPORT to CONFIG_POWERPC_PERF
Originally committed as revision 7968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-13 23:45:28 +00:00
Diego Biurrun
8cff89be43 Conditionally compile some of the AltiVec optimizations.
Originally committed as revision 7154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-22 09:20:16 +00:00
Måns Rullgård
486497e07b revert bad checkin
Originally committed as revision 7044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-14 03:18:09 +00:00
Måns Rullgård
be6ed6fff4 move some CFLAGS settings away from config.* writing section
Originally committed as revision 7043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-14 03:12:29 +00:00
Steve L'Homme
949b1a13bf Replace most of the %lld and %llx by their (cleaner) PRI*64 counterparts.
patch by Steve Lhomme, slhomme divxcorp com

Originally committed as revision 6868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-01 22:39:58 +00:00
Luca Barbato
a5db5bda07 ppc generic prefetch
Originally committed as revision 6669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-12 10:26:07 +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
75336fc885 Non Altivec optimizations already present at the top
Originally committed as revision 6588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-08 13:55:02 +00:00
Luca Barbato
87ea51e0b5 fix the dcbz check and move it in configure
Originally committed as revision 6580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 19:14:25 +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
241807f32d altivec float optimizations
Originally committed as revision 5999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-14 22:55:11 +00:00
Luca Barbato
7f624e80ef standalone snow dsputil init
Originally committed as revision 5919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 16:19:13 +00:00
Luca Barbato
73e4ff9de9 Almost cosmetic changes in dsputil_init_ppc and vorbis_inverse_coupling_altivec:
- whitespace consistency 2->4 [dsputil_init_ppc]
- reorder struct initialization with dsputil_init_altivec [dsputil_init_ppc]
- use casts instead of temp variables [vorbis_inverse_coupling_altivec]

Originally committed as revision 5918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 16:13:50 +00:00
Luca Barbato
90530cec20 Cleanup
Originally committed as revision 5913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 13:00:37 +00:00
Kostya Shishkov
481fb636b1 Some AltiVec optimizations for VC-1
Originally committed as revision 5899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 05:02:31 +00:00
Luca Barbato
50b35f7aa6 Cosmetics
Originally committed as revision 5890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-02 11:18:10 +00:00
Luca Barbato
a01e08ee5c hadamard8_diff* enabled on linux/ppc
Originally committed as revision 5272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-07 12:40:28 +00:00
Luca Barbato
22b48b85b6 altivec support for snow
Originally committed as revision 5228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-27 12:51:19 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Sigbjørn Skjæret
4af5b6cdb0 Disable AltiVec IDCT for lowres decoding in lavc patch by (Sigbjørn Skjæret: cisc, broadpark no)
Originally committed as revision 4413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-01 09:37:35 +00:00
Roine Gustafsson
b1d041c15c missaliged clear_blocks() and h264 not complied but referenced fix patch by (Roine Gustafsson <roine at users dot sourceforge dot net>) and me
Originally committed as revision 3584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-11 22:47:09 +00:00
Romain Dolbeau
a6a12a8a5c h264 qpel mc, size 16 patch by (Romain Dolbeau <dolbeau at caps-entreprise dot com>)
Originally committed as revision 3472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-16 19:05:22 +00:00
Michael Niedermayer
78421be13d hadamard/AltiVec: fix to compiler fix, again by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 3207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-08 02:41:41 +00:00
Michael Niedermayer
2a5a1bdac9 avg_pixels8_xy2_altivec in AltiVec, enabling avg_pixels8_altivec, hadamard fix by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 3196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-05 22:29:37 +00:00
Michael Niedermayer
3cf1e291f8 hadamard/AltiVec: fix to compiler fix by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 3195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-05 22:26:03 +00:00
Alex Beregszaszi
d890d4aed1 disable hadamard for gcc below 3.3 - better fix awaited
Originally committed as revision 3075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-26 08:51:56 +00:00
Romain Dolbeau
9007f51460 better hadamard8_diff16 in AltiVec, and more patch by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 3038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-22 13:21:59 +00:00
Michael Niedermayer
c4a1714826 hadamard8_diff8x8 in AltiVec, the 16bits edition by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 3036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-20 17:05:12 +00:00
Gildas Bazin
68951ecf0c fft_*() renamed into ff_fft_*() patch by (Gildas Bazin <gbazin at altern dot org>)
Originally committed as revision 2882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-13 21:43:24 +00:00
Michael Niedermayer
aab34ca0c5 Metrowerks CodeWarrior patches by (John Dalgliesh <johnd at defyne dot org>)
Originally committed as revision 2823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-28 15:03:53 +00:00
Michael Niedermayer
bb198e198a interlaced motion estimation
interlaced mpeg2 encoding
  P & B frames
  rate distored interlaced mb decission
  alternate scantable support
4mv encoding fixes (thats also why the regression tests change)
passing height to most dsp functions
interlaced mpeg4 encoding (no direct mode MBs yet)
various related cleanups
disabled old motion estimaton algorithms (log, full, ...) they will either be fixed or removed

Originally committed as revision 2638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-30 16:07:57 +00:00
James Klicman
14cabd4068 AltiVec optimized fdct patch by (James Klicman <james at klicman dot org>)
Originally committed as revision 2439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-26 10:14:05 +00:00
Steven M. Schultz
3bbd2123d6 recommit (of patch, as cvslog msg didnt apply cleanly)
libavcodec/ppc compile errors patch by ("Steven M. Schultz" <sms at 2BSD dot COM>)

Originally committed as revision 2354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-11 08:25:23 +00:00
Romain Dolbeau
e45a2872fa 1) remove TBL support in PPC performance. It's much more useful to use the
PMCs, and with Apple's CHUD it's fairly easy too. No reason to keep useless
    code around
2) make the PPC perf stuff a configure option
3) make put_pixels16_altivec a bit faster by unrolling the loop by 4
patch by (Romain Dolbeau <dolbeau at irisa dot fr>)

Originally committed as revision 2022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-09 20:18:13 +00:00
Romain Dolbeau
3efd4952df PPC fixes & clean-up patch by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 2008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-04 09:39:05 +00:00
Michael Niedermayer
a4adb60858 PPC970 patch + cpu-specific tuning support by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 1997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-29 00:39:57 +00:00
Michael Niedermayer
b0368839ac MpegEncContext.(i)dct_* -> DspContext.(i)dct_*
bitexact cleanup

Originally committed as revision 1617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-03 14:54:00 +00:00
Romain Dolbeau
3b991c54eb Altivec on non darwin systems patch by Romain Dolbeau
Originally committed as revision 1509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-26 22:29:47 +00:00
Romain Dolbeau
fe50f38577 More AltiVec MC functions patch by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 1485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-20 22:50:14 +00:00
Romain Dolbeau
35e5fb067e PPC perf, PPC clear_block, AltiVec put_pixels8_xy2 patch by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 1476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-19 19:00:45 +00:00
Michael Niedermayer
db40a39aba AltiVec perf (take 2), plus a couple AltiVec functions by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 1464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-16 21:54:55 +00:00
Romain Dolbeau
e629ab68a7 altivec jumbo patch by (Romain Dolbeau <dolbeaur at club-internet dot fr>)
Originally committed as revision 1448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-11 20:51:03 +00:00
Fabrice Bellard
4013fcf4af altivec patches by Romain Dolbeau
Originally committed as revision 1423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-08 18:47:49 +00:00
Fabrice Bellard
0fe67fa74b suppressed pix_norm_altivec
Originally committed as revision 1420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-07 22:51:32 +00:00
Brian Foley
404d2241ec altivec accelerated v-resample patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
Originally committed as revision 1283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-26 09:21:01 +00:00
Brian Foley
9c76bd48aa * altivec and pix_norm patch by Brian Foley
Originally committed as revision 1269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-22 07:53:06 +00:00
Brian Foley
f2677d6b26 altivec optimizations patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
Originally committed as revision 1240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-19 23:22:29 +00:00
Zdenek Kabelac
af19f78f2f * using DSPContext - so each codec could use its local (sub)set of CPU extension
* these are untested - users/developers please check

Originally committed as revision 1197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-11 10:04:45 +00:00
Michael Niedermayer
05c4072b45 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
Originally committed as revision 1147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-02 11:28:08 +00:00
Fabrice Bellard
4f891f53b3 removed invalid header include
Originally committed as revision 1037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-14 18:01:32 +00:00
Brian Foley
ab6c65f693 altivec build tidyup patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
Originally committed as revision 898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-02 08:48:12 +00:00