Commit Graph

592 Commits

Author SHA1 Message Date
Michael Niedermayer
f93f6963ba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv30: return AVERROR(EINVAL) instead of EINVAL
  build: add -L flags before existing LDFLAGS
  simple_idct: whitespace cosmetics
  simple_idct: make repeated code a macro
  dsputil: remove huge #if 0 block
  simple_idct: change 10-bit add/put stride from pixels to bytes
  dsputil: allow 9/10-bit functions for non-h264 codecs
  dnxhd: rename some data tables
  dnxhdenc: remove inline from function only called through pointer
  dnxhdenc: whitespace cosmetics
  swscale: mark YUV422P10(LE,BE) as supported for output
  configure: add -xc99 to LDFLAGS for Sun CC
  Remove unused and non-compiling vestigial g729 decoder
  Remove unused code under G729_BITEXACT #ifdef.
  mpegvideo: fix invalid picture unreferencing.
  dsputil: Remove extra blank line at end.
  dsputil: Replace a LONG_MAX check with HAVE_FAST_64BIT.
  simple_idct: add 10-bit version

Conflicts:
	Makefile
	libavcodec/g729data.h
	libavcodec/g729dec.c
	libavcodec/rv30.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-21 16:28:53 +02:00
Mans Rullgard
e7a972e113 simple_idct: add 10-bit version
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-20 17:49:48 +01:00
Michael Niedermayer
15285d8fc5 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  arm: remove disabled function dct_unquantize_h263_inter_iwmmxt()
  Remove commented-out call to non-existing function print_pow1().
  Do not decode RV30 files if the extradata is too small
  flashsv: split flashsv_decode_block() off from flashsv_decode_frame().
  ppc: remove disabled code
  libspeexdec: Drop const qualifier to silence compiler warning.
  libopenjpeg: Drop const qualifier to silence compiler warning.
  alac: Remove unused dummy code.
  Remove unused structs and tables.
  vaapi: do not assert on value read from input bitstream
  flashsvenc: replace bitstream description by a link to the specification
  flashsvenc: drop unnecessary cast
  flashsvenc: improve some variable names and fix corresponding comments
  flashsvenc: merge two consecutive if-conditions
  flashsvenc: merge variable declarations and initializations
  flashsvenc: convert some debug av_log() to av_dlog()
  flashsvenc: whitespace cosmetics
  flashsvenc: drop some unnecessary parentheses
  flashsvenc: fix some comment typos
  aacps: skip some memcpy() if src and dst would be equal
  ...

Conflicts:
	libavcodec/vaapi_mpeg2.c
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-16 19:43:35 +02:00
Diego Biurrun
21aed0ed92 ppc: remove disabled code 2011-07-16 02:56:52 +02:00
Michael Niedermayer
aa61ca0c59 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add some missing mathematics.h #includes for av_rescale().
  opencore-amr: Add missing initializer braces to shut up gcc warning.
  ARM: workaround for bug in GNU assembler
  dv: fix comment wording mistake
  Rename libavcodec/high_bit_depth.h ---> libavcodec/bit_depth_template.c
  dv: fix valgrind use of uninitialised value warnings.
  mxfenc: fix ignored drop flag in binary timecode representation.
  PPC: use Altivec IMDCT only for supported sizes
  dv: fix comment spelling
  configure: simplify -rpath-link linker flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-06 01:34:08 +02:00
Mans Rullgard
6cbf2420b9 PPC: use Altivec IMDCT only for supported sizes
The Altivec IMDCT works with size 32 and higher only.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-05 16:01:56 +01:00
Kim Nguyen
2d16394f97 ppc32: Fix movrel
Fixes ticket272
2011-06-21 03:06:54 +02:00
Michael Niedermayer
c137fdd778 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: remove misplaced comment.
  ffmpeg: fix streaming to ffserver.
  swscale: split out RGB48 output functions from yuv2packed[12X]_c().
  build: move vpath directives to main Makefile
  swscale: fix JPEG-range YUV scaling artifacts.
  build: move ALLFFLIBS to a more logical place
  ARM: factor some repetitive code into macros
  Fix SVQ3 after adding 4:4:4 H.264 support
  H.264: fix CODEC_FLAG_GRAY
  4:4:4 H.264 decoding support
  ac3enc: fix allocation of floating point samples.

Conflicts:
	ffmpeg.c
	libavcodec/dsputil_template.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/snow.c
	libswscale/swscale.c
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-15 02:15:25 +02: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
Michael Niedermayer
d552f616a2 Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  Remove some non-compiling debug messages.
  ffplay: Fix non-compiling debug printf and replace it by av_dlog.
  H264: x86 predict init cosmetics.
  ac3enc: Fix linking of AC-3 encoder without the E-AC-3 encoder.
  Move E-AC-3 encoder functions to a separate eac3enc.c file.
  ac3enc: remove convenience macro, #define DEBUG
  ac3enc: remove unused #define
  vc1: re-initialize tables after width/height change.
  APIchanges: fill-in git commit hash for av_get_bytes_per_sample() addition
  samplefmt: add av_get_bytes_per_sample()
  iirfilter: fix biquad filter coefficients.
  swscale: remove duplicate conversion routine in swScale().
  swscale: add yuv2planar/packed function typedefs.
  swscale: integrate yuv2nv12X_C into yuv2yuvX() function pointers.
  swscale: reindent x86 init code.
  swscale: extract SWS_FULL_CHR_H_INT conditional into init code.
  swscale: cosmetics.
  swscale: remove alp/chr/lumSrcOffset.
  swscale: un-special-case yuv2yuvX16_c().
  shorten: Remove stray DEBUG #define and corresponding av_dlog statement.
  ...

Conflicts:
	doc/APIchanges
	libavcodec/ac3enc.c
	libavutil/avutil.h
	libavutil/samplefmt.c
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-08 05:25:28 +02:00
Diego Biurrun
1f6b9cc31d Replace some nonstandard DEBUG_* preprocessor directives by plain DEBUG. 2011-06-07 13:20:58 +02:00
Michael Niedermayer
80d156d7fd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  qdm2: Use floating point synthesis filter.
  h264: correct border check.
  h264: fix loopfilter with threading at slice boundaries.
  Fix ff_mpa_synth_filter_fixed() prototype
  Rename costablegen.c ---> cos_tablegen.c.
  Collapse tableprint.c into tableprint.h.
  Simplify trig table rules
  Remove potentially unstable filenames from comments in generated files.
  Ignore generated tables and generated table generator programs.
  Simplify CLEANFILES make variable by using wildcards.
  Remove silly insults from avformat_version() Doxygen documentation.
  mpegaudiodsp: fix x86 and ppc makefiles
  configure: Adjust AVX assembler check.
  mpegaudio: remove unused version of SAME_HEADER_MASK
  mpegaudio: remove useless #undef at end of file
  asfdec: add missing #include for av_bswap32()
  mpegaudio: merge two #if CONFIG_FLOAT blocks
  mpegaudio: move some struct definitions from mpegaudio.h
  Move some mpegaudio functions to new mpegaudiodsp subsystem

Conflicts:
	libavcodec/h264.c
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-20 05:48:22 +02:00
Mans Rullgard
0b5e44ed29 mpegaudiodsp: fix x86 and ppc makefiles
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-19 16:32:24 +01:00
Mans Rullgard
c4f5c2d6f4 Move some mpegaudio functions to new mpegaudiodsp subsystem
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>
2011-05-19 12:25:34 +01:00
Michael Niedermayer
59eb12faff Merge remote branch 'qatar/master'
* qatar/master: (30 commits)
  AVOptions: make default_val a union, as proposed in AVOption2.
  arm/h264pred: add missing argument type.
  h264dsp_mmx: place bracket outside #if/#endif block.
  lavf/utils: fix ff_interleave_compare_dts corner case.
  fate: add 10-bit H264 tests.
  h264: do not print "too many references" warning for intra-only.
  Enable decoding of high bit depth h264.
  Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
  Add support for higher QP values in h264.
  Add the notion of pixel size in h264 related functions.
  Make the h264 loop filter bit depth aware.
  Template dsputil_template.c with respect to pixel size, etc.
  Template h264idct_template.c with respect to pixel size, etc.
  Preparatory patch for high bit depth h264 decoding support.
  Move some functions in dsputil.c into a new file dsputil_template.c.
  Move the functions in h264idct into a new file h264idct_template.c.
  Move the functions in h264pred.c into a new file h264pred_template.c.
  Preparatory patch for high bit depth h264 decoding support.
  Add pixel formats for 9- and 10-bit yuv420p.
  Choose h264 chroma dc dequant function dynamically.
  ...

Conflicts:
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/arm/dsputil_init_neon.c
	libavcodec/arm/dsputil_iwmmxt.c
	libavcodec/arm/h264pred_init_arm.c
	libavcodec/bfin/dsputil_bfin.c
	libavcodec/dsputil.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c
	libavcodec/h264dsp.c
	libavcodec/h264idct.c
	libavcodec/h264pred.c
	libavcodec/mlib/dsputil_mlib.c
	libavcodec/options.c
	libavcodec/ppc/dsputil_altivec.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/ppc/h264_altivec.c
	libavcodec/ps2/dsputil_mmi.c
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/dsputil_sh4.c
	libavcodec/sparc/dsputil_vis.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/dsputil_mmx.c
	libavformat/options.c
	libavformat/utils.c
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/swscale_template.c
	tests/ref/seek/lavf_avi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 05:47:02 +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
Michael Niedermayer
b000b86e1d Merge remote branch 'qatar/master'
* qatar/master: (23 commits)
  doc: Check standalone compilation before submitting new components.
  Fix standalone compilation of pipe protocol.
  Fix standalone compilation of ac3_fixed encoder.
  Fix standalone compilation of binkaudio_dct / binkaudio_rdft decoders.
  Fix standalone compilation of IMC decoder.
  Fix standalone compilation of WTV demuxer.
  Fix standalone compilation of MXPEG decoder.
  flashsv: K&R cosmetics
  matroskaenc: fix memory leak
  vc1: make overlap filter for I-frames bit-exact.
  vc1dec: use s->start/end_mb_y instead of passing them as function args.
  Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."
  Replace strncpy() with av_strlcpy().
  indeo3: Eliminate use of long.
  get_bits: make cache unsigned to eliminate undefined signed overflow.
  asfdec: fix assert failure on invalid files
  avfilter: check malloc return values.
Not pulled as reason for reindent is not pulled:  mpegvideo: reindent.
  nutenc: check malloc return values.
Not pulled due to much simpler solution in ffmpeg  *: don't av_malloc(0).
  ...

Conflicts:
	doc/developer.texi
	libavcodec/Makefile
	libavcodec/get_bits.h
	libavcodec/mpegvideo.c
	libavformat/Makefile
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 03:30:24 +02:00
Ronald S. Bultje
18b6a69ce9 Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."
This reverts commit f8bed30d8b. 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.
2011-05-04 07:40:01 -04:00
Michael Niedermayer
9891004ba9 Merge remote branch 'qatar/master'
* qatar/master:
Partially merged:flvdec: Allow parsing keyframes metadata without seeking in most cases
  Error out if vaapi is not found
  avio: undeprecate av_url_read_fseek/fpause under nicer names
  libvo-*: Don't use deprecated sample format names and enum names
DUPLICATE  flvdec: Fix support for flvtool2 "keyframes based" generated index
DUPLICATE  libavcodec: Use "const enum AVSampleFormat[]" in AVCodec initialization
  Fix the conversion of AV_SAMPLE_FMT_FLT and _DBL to AV_SAMPLE_FMT_S32.
  Convert some undefined 1<<31 shifts into 1U<<31.

Conflicts:
	configure
	libavcodec/libvo-aacenc.c
	libavcodec/libvo-amrwbenc.c
	libavformat/flvdec.c

Marged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-13 02:49:22 +02:00
Alex Converse
187a537904 Convert some undefined 1<<31 shifts into 1U<<31.
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.
2011-04-11 21:47:42 -07: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
Justin Ruggles
539244eeb6 cosmetics: rename ff_fmt_convert_init_ppc() to ff_fmt_convert_init_altivec().
It only has Altivec functions and is not compiled if Altivec is disabled.
(cherry picked from commit d21be5f15b)
2011-03-08 02:09:31 +01:00
Justin Ruggles
d21be5f15b cosmetics: rename ff_fmt_convert_init_ppc() to ff_fmt_convert_init_altivec().
It only has Altivec functions and is not compiled if Altivec is disabled.
2011-03-07 11:15:29 -05:00
Mans Rullgard
644b66cd4a vp8: ppc: fix invalid reads in altivec epel mc
The 4-tap filters should only access one row/column before the
reference block.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e0e46cae37)
2011-02-22 02:44:39 +01:00
Mans Rullgard
e407f4173a ppc: fix vc1 inverse transform, unbreak build
GCC 4.3 and later are more particular about signedness matching
in vector operations.  The operations under if(rangered) were
missing assignments and thus had no effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 381efba0ec)
2011-02-22 02:44:39 +01:00
Ronald S. Bultje
6a786b15c3 VC1: merge idct8x8, coeff adjustments and put_pixels.
Merging these functions allows merging some loops, which makes the
results (particularly after SIMD optimizations) much faster.
(cherry picked from commit f8bed30d8b)
2011-02-22 02:44:36 +01:00
Mans Rullgard
e0e46cae37 vp8: ppc: fix invalid reads in altivec epel mc
The 4-tap filters should only access one row/column before the
reference block.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-21 20:28:41 +00:00
Mans Rullgard
381efba0ec ppc: fix vc1 inverse transform, unbreak build
GCC 4.3 and later are more particular about signedness matching
in vector operations.  The operations under if(rangered) were
missing assignments and thus had no effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-21 20:28:37 +00:00
Ronald S. Bultje
f8bed30d8b VC1: merge idct8x8, coeff adjustments and put_pixels.
Merging these functions allows merging some loops, which makes the
results (particularly after SIMD optimizations) much faster.
2011-02-21 10:23:44 -05:00
Ronald S. Bultje
56cbc5f19f Fix PPC build.
(cherry picked from commit ed040f35f2)
2011-02-18 19:52:41 +01: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
2739dc5d85 VC1: transpose IDCT 8x8 coeffs while reading.
(cherry picked from commit 1da6ea3954)
2011-02-18 19:52:38 +01:00
Ronald S. Bultje
ed040f35f2 Fix PPC build. 2011-02-17 20:22:39 -05:00
Ronald S. Bultje
12802ec060 dsputil: move VC1-specific stuff into VC1DSPContext. 2011-02-17 17:35:35 -05:00
Ronald S. Bultje
1da6ea3954 VC1: transpose IDCT 8x8 coeffs while reading. 2011-02-17 17:35:35 -05:00
Justin Ruggles
fe2ff6d247 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit c73d99e672)
2011-02-04 03:08:09 +01:00
Justin Ruggles
c73d99e672 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 02:44:53 +00:00
Justin Ruggles
a8ae4e0e7b Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 80ba1ddb58)
2011-02-02 03:40:48 +01:00
Justin Ruggles
80ba1ddb58 Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:28:42 +00:00
Vitor Sessak
bc0a603c78 Fix overread in altivec DSP function sad16
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 3af1fe829e)
2011-01-30 03:41:47 +01: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
Justin Ruggles
015f9f1ad3 Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 6eabb0d3ad)
2011-01-23 19:32:08 +01:00
Justin Ruggles
6eabb0d3ad Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 17:53:27 +00:00
Janne Grunau
2c3589bfda consolidate .gitignore patters into a single file
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-18 21:32:05 +01:00
Janne Grunau
348b8218f7 convert svn:ignore properties to .gitignore files
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-17 15:50:14 +01: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
Loren Merritt
1ee076b1b1 more credits to D. J. Bernstein for fft
Originally committed as revision 24308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:06:42 +00:00
Måns Rullgård
a46b84d120 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, the
compiler might not adjust the stack pointer as required before a
function call, resulting in the red zone being clobbered.

Moving the entire function to pure asm avoids this problem and also
results in somewhat better code.

Originally committed as revision 24044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 18:33:47 +00:00
Måns Rullgård
deca86eab1 PPC: gas-preprocessor handles m[ft]spr shorthands
Originally committed as revision 24043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 18:33:43 +00:00
Måns Rullgård
fe3d2e4b02 PPC: add some asm support macros
Originally committed as revision 24042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 18:33:40 +00:00
Måns Rullgård
a075902f3d 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
2010-07-03 18:36:10 +00:00
Måns Rullgård
9bbb50648d PPC: fix build on OSX without gas-preprocessor
Originally committed as revision 23962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 00:20:26 +00:00
Loren Merritt
cf61994a17 PPC: Altivec IMDCT
Patch by Loren Merritt

Originally committed as revision 23959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:49 +00:00
Måns Rullgård
588d28ac08 Remove vestiges of radix-2 FFT
Patch (mostly) by Loren Merritt

Originally committed as revision 23957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:42 +00:00
Måns Rullgård
bf7ba15372 PPC: Altivec split-radix FFT
1.8x faster than altivec radix-2 on a G4
8% faster vorbis decoding

Patch (mostly) by Loren Merritt

Originally committed as revision 23956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:39 +00:00
Måns Rullgård
2f0c136e1f Check whether IBM or Apple PPC assembler syntax is used
This checks which assembler syntax is supported and defines macros
for register names accordingly.

Originally committed as revision 23952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:27 +00:00
Vitor Sessak
060dd93000 Altivec-optimized mp{1,2,3} windowing
Originally committed as revision 23943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 21:04:12 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
David Conrad
982fac7357 Altivec VP8 MC functions
Originally committed as revision 23884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 06:42:17 +00:00
David Conrad
7bf4e9d7f7 Altivec: Add helper function to load from a constant misalignment
Originally committed as revision 23883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 06:42:12 +00:00
Eli Friedman
b3858964d6 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
2010-06-27 15:11:38 +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
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Måns Rullgård
3bd74e9243 Simplify arch-specific object file lists
Originally committed as revision 22570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:23:03 +00:00
Måns Rullgård
43f60eba19 Move arch-specific makefile parts into $arch/Makefile
Originally committed as revision 22569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:22:59 +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
Martin Storsjö
b81786611a Move the local includes below the system includes
This fixes a compilation issue on OS X 10.4, where some system headers were
included implicitly through dsputil_altivec.h (with _POSIX_C_SOURCE defined),
and other system headers included later, with _POSIX_C_SOURCE undefined at
that time.

Originally committed as revision 22327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 15:12:36 +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
1429224b04 Move FFT parts from dsputil.h to fft.h
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:34:46 +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
Loren Merritt
b1159ad928 refactor and optimize scalarproduct
29-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.)
9-123% faster ape decoding on G4.

Originally committed as revision 20739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 15:09:10 +00:00
Måns Rullgård
35de5d2412 cosmetics: fix indentation after previous commit
Originally committed as revision 20062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:52:00 +00:00
Måns Rullgård
952e872198 Drop unused args from vector_fmul_add_add, simpify code, and rename
The src3 and step arguments to vector_fmul_add_add() are always zero
and one, respectively.  This removes these arguments from the function,
simplifies the code accordingly, and renames the function to better
match the new operation.

Originally committed as revision 20061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:51:54 +00:00
Måns Rullgård
f486321395 Move per-arch fft init bits into the corresponding subdirs
Originally committed as revision 19864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 21:14: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
deb1b2b699 Add necessary #include for config.h.
Originally committed as revision 19692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 10:59:14 +00:00
Måns Rullgård
b662e8395b 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
2009-08-24 10:36:13 +00:00
Måns Rullgård
c7312933ce Include required headers in {mips,ppc}/mathops.h
Originally committed as revision 19686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 11:02:41 +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
Reimar Döffinger
34d11b875f Change HAVE_PPC64 to ARCH_PPC64.
As a side-effect this also gives it the correct value on e.g. PPC970FX-based
PPC64 systems, thus fixing "make test" (mp2/mp3 decoding).

Originally committed as revision 18953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 05:00:51 +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
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
Måns Rullgård
014b7ecb66 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
2009-05-11 02:41:50 +00:00
Diego Biurrun
f8c0692d8e Add necessary header for CONFIG_RUNTIME_CPUDETECT preprocessor definition.
Originally committed as revision 18774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-09 12:26:05 +00:00
Måns Rullgård
3737dd1cd3 PPC: implement MULH() in assembler
Left to its own devices, gcc calculates the full 64-bit product only to
discard 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
2009-05-04 17:31:15 +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
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
7a709548a7 Remove unnecessary gcc_fixes.h #include.
Originally committed as revision 18384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 11:54:13 +00:00
Diego Biurrun
952f18ffe6 cosmetics: Reformat comment paragraph and fix a few typos in it.
Originally committed as revision 18383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 10:06:54 +00:00
Ramiro Polla
e90f5b5ab1 configure: Add --enable-runtime-cpudetect
Originally committed as revision 18380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:26:18 +00:00
Diego Biurrun
60a847b5db cosmetics: Remove file name from file header.
Originally committed as revision 17984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 12:46:07 +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
Michael Niedermayer
6d4f53cbac Remove old scaler.
Originally committed as revision 17786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 22:51:30 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Diego Biurrun
67a7e4dbcf 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
2009-01-30 23:50:13 +00:00
Diego Biurrun
4ceb4e3102 Add required headers to fix warnings during 'make checkheaders'.
Originally committed as revision 16769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-25 11:16:25 +00:00
Diego Biurrun
799fde37cc Add a check for ppc4xx instructions; rename preprocessor directive accordingly.
Originally committed as revision 16756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 17:44:46 +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
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +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
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
4929c63679 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
2009-01-06 23:03:33 +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
aa9a9b7af7 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
2009-01-06 12:51:35 +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
Diego Biurrun
79cb09b2f7 consistency cosmetics: Rename POWERPC identifiers to PPC.
Originally committed as revision 16359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-27 11:33:26 +00:00
Luca Barbato
d89eae6f1a Remove stray code
Originally committed as revision 16358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-27 11:30:30 +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
Guillaume Poirier
5f51afd602 add AltiVec implementation of int32_to_float_fmul_scalar
Originally committed as revision 16186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 09:47:06 +00:00
Luca Barbato
7a8f36cccc Cleanup types
Originally committed as revision 16092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 10:52:34 +00:00
Luca Barbato
006c8e9e9c Unbreak imgresample altivec
Originally committed as revision 16091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 10:49:38 +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
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
8556ea0333 spelling cosmetics
Originally committed as revision 15383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-22 05:40:52 +00:00
Brad
acce61a7c6 AltiVec detection support for OpenBSD, patch by Brad, brad comstyle com.
Originally committed as revision 15382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-22 05:38:50 +00:00
David Conrad
7f0d242b14 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 POSIX
undefining _POSIX_C_SOURCE for check_altivec.c seems the best way to fix this.
patch by David Conrad lessen42 at gmail com

Originally committed as revision 15306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-13 13:18:35 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Luca Barbato
9ac78726b8 Missing static in float_to_int16_altivec declaration
Originally committed as revision 14967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 16:32:03 +00:00
Luca Barbato
0a3650c9f0 Remove unused variables
Originally committed as revision 14929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 21:10:38 +00:00
Luca Barbato
e1f27dc22b Introduce float_to_int16_interleave_altivec, tested with vorbis
Originally committed as revision 14928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 21:09:46 +00:00
Luca Barbato
8d3d51005a Introduce float_to_int16_one_altivec
Originally committed as revision 14927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 21:02:30 +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
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
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
716e7c0f0b Remove wrong casts from vector declarations, this would cause errors when
compiling with -std=gnu99. Blessed by Luca Barbato.

Originally committed as revision 14129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-08 16:02:20 +00:00
Kostya Shishkov
7246d6311e Altivec implementation of APE vector functions
Originally committed as revision 14082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-06 07:33:09 +00:00
Diego Biurrun
1384e27054 consistency cosmetics: indices --> indexes in variable names
Originally committed as revision 13446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 23:36:05 +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
ccd425e799 Remove unnecessary parentheses from return calls.
Originally committed as revision 13069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-06 09:16:36 +00:00
Måns Rullgård
5550eba88d typo: add missing \ in multi-line macro
Originally committed as revision 12466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-17 02:33:05 +00:00
Diego Biurrun
7ce6892373 misc spelling fixes
Originally committed as revision 12410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-10 18:42:09 +00:00
Guillaume Poirier
c367d0c653 arg 10000l. Fix wrong fix committed in r12141
Originally committed as revision 12143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-19 07:24:00 +00:00
Guillaume Poirier
d6267d027b fix broken indentation
Originally committed as revision 12142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-19 07:20:03 +00:00
Guillaume Poirier
9d8109ad0f 10l: fix always false test: Binary & has lower precedence than ==
Originally committed as revision 12141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-19 07:19:15 +00:00
Diego Biurrun
42a362e57b Refactor vcprm and vcii macros by using the AVV macro.
Originally committed as revision 12140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-18 23:01:26 +00:00
Diego Biurrun
35c27389c0 Refactor the FOUROF macro using the AVV macro.
Originally committed as revision 12139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-18 22:26:46 +00:00
Diego Biurrun
b0e21a3b47 Remove stray #undef.
Originally committed as revision 12138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-18 22:22:17 +00:00
Alexander Strange
3518c5a96b fix crash on non-AltiVec powered machines: MPV_common_init_altivec doesn't check mm_flags
Patch by Alexander Strange %astrange A ithinksw PP com %

Originally committed as revision 12137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-18 21:35:31 +00:00
Reimar Döffinger
b8659d94b7 Add mfspr-based AltiVec detection code.
Currently not enabled in FFmpeg, because it crashes if the OS does not
emulate mfspr.

Originally committed as revision 11569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-19 19:27:39 +00:00
Diego Biurrun
61dbf4e557 Simplify preprocessor expression as suggested by Mans.
Originally committed as revision 11549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-17 08:34:53 +00:00
Luca Barbato
3174c77a3e gcc2 doesn't have bogus mergel, patch from Sigbjørn Skjæret cisc...broadpark___no
Originally committed as revision 11523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-13 23:58:12 +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
Diego Biurrun
35562dc962 Fix make checkheaders.
Originally committed as revision 11331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-27 12:56:49 +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
9e052e8d28 Reindent
Originally committed as revision 11311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-23 19:07:21 +00:00
Luca Barbato
4049e0142d Minor fix
Originally committed as revision 11310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-23 19:06:33 +00:00
Luca Barbato
6b646b068e 10l do not load after the buffer...
Originally committed as revision 11308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-23 15:54:21 +00:00
Luca Barbato
08571377e6 Add C/B == 0 cases, 2% slower on CELL but should address Issue299 eventually
Originally committed as revision 11306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-22 23:10:02 +00:00
Luca Barbato
4159db8ca3 Reindent
Originally committed as revision 11304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-22 15:39:32 +00:00
Luca Barbato
e36b639f0f Partially address issue299, no performance change apparently
Originally committed as revision 11303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-22 15:17:46 +00:00
Luca Barbato
8d8d178dad Avoid a vec_add, directly start with sum
Originally committed as revision 11302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-22 03:39:53 +00:00
Luca Barbato
c7f66add4c Reindent
Originally committed as revision 11301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-22 02:53:36 +00:00
Luca Barbato
a75fe63d3e Factorize common code (almost cosmetic)
Originally committed as revision 11300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-22 02:46:32 +00:00
Luca Barbato
907fc60f31 Cosmetics
Originally committed as revision 11299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-22 02:35:33 +00:00
Luca Barbato
c49e23e2a4 Make strict altivec parsers happy (gcc-4.3 and others)
Originally committed as revision 11231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-16 14:31:38 +00:00
Kostya Shishkov
98f48ce157 Reindent after last commit
Originally committed as revision 11191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-08 11:46:09 +00:00
Kostya Shishkov
51ece6842f Update Altivec variant of vc1_inv_trans_8x4
Originally committed as revision 11190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-08 11:45:42 +00:00
Kostya Shishkov
d2e45f33a4 Switch VC-1 decoder to output decoded residual immediately.
Originally committed as revision 11188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-08 10:41:18 +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
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
095c22ac45 Remove unused variable, fixes the warning:
ppc/vc1dsp_altivec.c: In function ‘vc1_inv_trans_8x8_altivec’:
ppc/vc1dsp_altivec.c:141: warning: unused variable ‘vec_5’

Originally committed as revision 11006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-13 00:48:24 +00:00
Diego Biurrun
5b21bdabe4 Add FFMPEG_ prefix to all multiple inclusion guards.
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 09:37:46 +00:00
Diego Biurrun
f62a9a46e1 Rename MPV_common_init_ppc to MPV_common_init_altivec, the function is
AltiVec-specific now.

Originally committed as revision 10652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-03 14:01:42 +00:00
Reimar Döffinger
d9a5dab2da Remove uses of SIGILL for CPU extension detection, that method is not acceptable
in a library.
Should not change anything for PPC, the autodetection is currently pointless due
to other code being compiled with -maltivec as well (and detection for OSX and
AmigaOS remains in place).
SPARC binaries built with VIS support can now only run on systems with VIS.

Originally committed as revision 10648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 18:18:35 +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
Diego Biurrun
6c05bab46d Merge mpegvideo AltiVec code into mpegvideo_altivec.c where it belongs.
Originally committed as revision 10641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 12:16:33 +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
6006a68989 cosmetics: Fix indentation after last commit.
Originally committed as revision 10638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 10:26:42 +00:00
Diego Biurrun
465c9fdeeb Remove pointless HAVE_ALTIVEC #ifdefs from a file that only contains AltiVec
optimizations and no general PPC optimizations. Instead make the file be
compiled conditional to HAVE_ALTIVEC.

Originally committed as revision 10637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 10:22:22 +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
cd195f14c6 Remove Metrowerks compiler workaround.
Originally committed as revision 10632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-01 14:16:07 +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
Luca Barbato
55bf7fb613 snow altivec is broken
Originally committed as revision 10256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-28 13:39:50 +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
Guillaume Poirier
16dae5173b remove alignment correction of the destination pointers in luma_16x6
interpolations, since they are always 16-bytes aligned in practice.
Add asserts to ease narrowing down potential image corructions on exotic plateforms

Based on a patch by Mauricio Alvarez % lokifo A gmail P com %
Original thread:
Date: Jun 26, 2007 1:07 PM
Subject: Re: [FFmpeg-devel] [PATCH] h264 luma interpolation 8x8 for altivec

Originally committed as revision 10238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-26 21:47:58 +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
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
e4506f0c98 Remove SYS_DARWIN preprocessor directive that is just a duplicate of a
gcc-specific directive a few lines below.

Originally committed as revision 10211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-24 15:38:37 +00:00
Diego Biurrun
4b180bbd73 Replace SYS_DARWIN by the more correct __APPLE_CC__, these preprocessor
directives are aimed at idiosyncracies of Apple's gcc version.

Originally committed as revision 10210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-24 15:18:41 +00:00
Diego Biurrun
b1312aa24d Merge __MWERKS__ preprocessor directives.
Originally committed as revision 10208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-24 15:08:46 +00:00
Diego Biurrun
8008a04325 Move Apple gcc AltiVec vector declaration syntax to libavutil.
Originally committed as revision 10207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-24 15:04:00 +00:00
Diego Biurrun
08f87a9c99 Replace SYS_DARWIN by the more correct __APPLE_CC__, these preprocessor
directives are aimed at idiosyncracies of Apple's gcc version.

Originally committed as revision 10206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-24 14:57:46 +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
Diego Biurrun
57b499c7da Identifiers starting with underscores are reserved.
Originally committed as revision 10179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-22 12:41:16 +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
Diego Biurrun
1903245071 Ahem, fix typos overlooked in last commit.
Originally committed as revision 9816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-28 12:50:28 +00:00
Diego Biurrun
df3a80b50a cosmetics: misc typo fixes
Originally committed as revision 9815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-28 12:46:26 +00:00
Måns Rullgård
a00177a952 make arguments to ssd_int8_vs_int16() const
Originally committed as revision 9548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-08 23:15:00 +00:00
Diego Biurrun
e5a389a1b7 license header consistency cosmetics
Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:40:25 +00:00
Guillaume Poirier
efb775777f add a comment to indicate which #endif belong to which #define
Originally committed as revision 9356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 18:59:28 +00:00
Måns Rullgård
9cafbd6c49 simplify ppc64 handling
Originally committed as revision 9355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 15:47:03 +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
Måns Rullgård
699b3f99d0 add multiple inclusion guards to headers
Originally committed as revision 9345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 00:01:30 +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
Sigbjorn Skjaeret
525751c053 restore GCC2/3 support, patch by Sigbjorn Skjaeret %sskjer-1 A broadpark P no%
Originally committed as revision 9295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 21:17:22 +00:00
Guillaume Poirier
c01d444b3e one step closer to restoring GCC-3.3 support: kills 12 errors, just 2 to go
Originally committed as revision 9280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-11 08:00:31 +00:00
Guillaume Poirier
5ce27e8c92 minor GCC3 compile fix
(there's still 2 more, but there's burried into several levels of macros, so it's hard to narrow them down)

Originally committed as revision 9265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-09 22:20:24 +00:00
Graham Booker
f057cc0399 Altivec version of h264_(h|v)_loop_filter_luma
patch by Graham Booker % perian A cod3r P com% with some minor fixes by me.
historic of the patch: http://trac.perian.org/ticket/113
Original thread:
Date: May 11, 2007 9:45 PM
Subject: [FFmpeg-devel] [PATCH] Altivec version of-altivec h264_h-v_loop_filter_luma

Originally committed as revision 9264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-09 19:13:34 +00:00
Luca Barbato
5dda253943 h264_idct_add_altivec, based on an old patch from Mauricio Alvarez <alvarezATac.upc.edu>, polished by David Conrad <umovimusATgmail.com>
Originally committed as revision 9182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-03 13:27:44 +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
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
Diego Biurrun
e42dba481f typos/grammar
Originally committed as revision 8641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 14:09:20 +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
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
6847e61af3 10l, there is a corner case afterall...
Originally committed as revision 7660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 12:04:48 +00:00
Guillaume Poirier
ec4e0056ef GCC 3.3 compile fix
Originally committed as revision 7277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-11 10:52:18 +00:00
Guillaume Poirier
3813dcc9bf Add IDCT8 routine in Altivec. Patch by yours truely with Linux fixes by Luca Barbato
Originally committed as revision 7210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-02 14:50:42 +00:00
Luca Barbato
4b47d258f6 Unused variable removed
Originally committed as revision 7203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-02 01:28:21 +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
Guillaume Poirier
00f636a04f Add useful Altivec types, taken from with permission from x264 authors
Originally committed as revision 7125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-19 22:51:54 +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
Luca Barbato
d9d2f88def Simplify
Originally committed as revision 6932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-07 12:45: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
Guillaume Poirier
ab5a1435ec Move TRANSPOSE8 macro to dsputil_altivec.h.
(was duplicated in libavcodec/ppc/vc1dsp_altivec.c
nd libavcodec/ppc/mpegvideo_altivec.c, and will be
used in upcoming routines for h264_altivec.c)

Originally committed as revision 6621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-10 08:01:19 +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
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
d4165a8190 fix a warning
Originally committed as revision 6575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 11:46:35 +00:00
Luca Barbato
99aed7c8fc New single instruction math operation header
Originally committed as revision 6291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-19 22:22:29 +00:00
Diego Biurrun
04d7f60143 Add official LGPL license headers to the files that were missing them.
Originally committed as revision 6219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-10 14:02:42 +00:00
Kostya Shishkov
60aae27ad9 AltiVec version of put_no_rnd_h264_chroma_pixels_tab[0] (slightly changed version of put_h264_chroma_pixels_tab[0])
Originally committed as revision 6154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-03 04:44:50 +00:00
Luca Barbato
27303c8abc Proper fix for the corner case that would have been corrected before, praise&blame to me and exg in equal shares
Originally committed as revision 6143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-31 15:44:37 +00:00
Luca Barbato
7e82145755 Revert previous commit
Originally committed as revision 6142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-31 15:27:26 +00:00
Luca Barbato
99d239b3e7 Fix float_to_int16, unaligned case, broken by the previous commit
Originally committed as revision 6141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-31 15:15:14 +00:00
Luca Barbato
cb243ea220 10l, thanks to Emanuele Giaquinta <exg@gentoo.org> for testing and finding the issue
Originally committed as revision 6002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-15 20:36:05 +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
b5f7e6eb95 Clean up:make dsputil subfile names consistent
Originally committed as revision 5993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-13 08:26:43 +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
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
7c2a270b70 Minor fix
Originally committed as revision 5916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 14:37:58 +00:00
Luca Barbato
8047fe72a9 avoid alignment hacks, luckly gcc does the right thing on arches different from x86
Originally committed as revision 5915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 13:21:13 +00:00
Luca Barbato
3b0df5254e vorbis_inverse_coupling_altivec
Originally committed as revision 5914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 13:19:32 +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
832e6e9071 avoid possible segfault situations
Originally committed as revision 5895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-02 21:37:38 +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
4726111362 Make gcc-3 happy again, thanks to Olivier Castan <castan.o@free.fr> for pointing the issue
Originally committed as revision 5504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-20 10:35:30 +00:00
Luca Barbato
e8772eecdc Cosmetics: should not hurt performance, scream if are
Originally committed as revision 5493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-17 18:46:06 +00:00
Luca Barbato
0d18f79860 put_pixels16_l2_altivec and avg_pixels16_l2_altivec
Originally committed as revision 5452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-03 22:18:03 +00:00
Luca Barbato
a487e0f654 Macosx fix
Originally committed as revision 5342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-02 18:45:04 +00:00
Luca Barbato
5f22aa3cc0 13% faster inner_add_yblock
Originally committed as revision 5316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-25 19:54:02 +00:00
Luca Barbato
f420826c35 40% faster decode
Originally committed as revision 5315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-25 17:29:31 +00:00
Luca Barbato
fd925db3c8 typo in the gcc handmade regalloc trigger
Originally committed as revision 5297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-16 03:40:04 +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
46641a135c Proper typecast for vector bool
Originally committed as revision 5250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-31 09:59:53 +00:00
Luca Barbato
085065f0fd Cast cruft in order to support Apple gcc
Originally committed as revision 5242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-29 18:42:50 +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
Luca Barbato
e62c29bf57 altivec support for snow
Originally committed as revision 5227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-27 12:45:27 +00:00
Likai Liu
11c19637d2 use vec_splat_u32 to initialise a v16ui (patch by Likai Liu < liulk _at_ cs.bu.edu >)
Originally committed as revision 5079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-28 21:55:18 +00:00
Luca Barbato
5cb9fda4b0 Fix AltiVec H.264 decoding on FSF gcc.
patch by Luca Barbato, lu_zero aatt gentoo ddoott org

Originally committed as revision 5046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-21 22:24:19 +00:00
Steve L'Homme
68b51e58ce MSVC-compatible __align8/__align16 declaration
patch by Steve Lhomme, steve .dot. lhomme .at. free .dot. fr

Originally committed as revision 4942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-05 13:35:17 +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
Alex Beregszaszi
23972d5a6c 10l
Originally committed as revision 4493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-05 19:15:34 +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
Bret Hughes
6c618a263d gcc 4 compilation fix
patch by Bret Hughes <bhughes at elevating dot com>

Originally committed as revision 4134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-17 21:41:16 +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
Chip
6933900993 Altivec test on AmigaOS4 patch by (Chip <szarlada at freemail dot hu>)
Originally committed as revision 3561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-05 18:36:15 +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