summaryrefslogtreecommitdiff
path: root/libavcodec/ppc
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'qatar/release/0.7' into release/0.8Michael Niedermayer2011-10-012-10/+20
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/release/0.7: (73 commits) Update Changelog for 0.7.2 release Update RELEASE file for 0.7.2 lavf: do not set codec_tag for rawvideo fate: allow testing with libavfilter disabled fate: separate lavf-mxf_d10 test from lavf-mxf Fix memory (re)allocation in matroskadec.c, related to MSVR-11-0080. movenc: fix NULL reference in mov_write_tkhd_tag movenc: create an alternate group for each media type flvdec: Check for overflow before allocating arrays ppc: fix some pointer to integer casts ppc: fix 32-bit PIC build rv34: Check for invalid slice offsets rv34: Fix potential overreads rv34: Avoid NULL dereference on corrupted bitstream rv10: Reject slices that does not have the same type as the first one lavf: Fix context pointer in av_open_input_stream when avformat_open_input fails oggdec: fix out of bound write in the ogg demuxer Fixed size given to init_get_bits(). smacker: fix a few off by 1 errors Check for invalid VLC value in smacker decoder. ... Conflicts: RELEASE libavcodec/avs.c libavcodec/ppc/asm.S libavcodec/rv34.c libavcodec/xan.c libavdevice/alsa-audio.h libavformat/flvdec.c libavformat/gxf.c libavformat/utils.c libswscale/x86/swscale_template.c tests/ref/lavf/mov tests/ref/lavf/mxf Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ppc: fix 32-bit PIC buildMans Rullgard2011-09-262-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On 32-bit ppc, the GOT pointer must be loaded manually. This adds a "get_got" assembler macro to compute the GOT address. The "movrel" macro is updated to take an additional parameter containing the GOT address since no register is reserved for this purpose on ppc32. These changes have no effect on ppc64 builds. Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 6e4a35ced96cdf31a9d3bd82fd147554750af839) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* | ppc32: Fix movrelKim Nguyen2011-06-211-1/+5
| | | | | | | | Fixes ticket272
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-151-10/+12
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-131-10/+12
| | | | | | | | Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-081-2/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Replace some nonstandard DEBUG_* preprocessor directives by plain DEBUG.Diego Biurrun2011-06-071-2/+1
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-05-202-10/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * mpegaudiodsp: fix x86 and ppc makefilesMans Rullgard2011-05-191-5/+1
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Move some mpegaudio functions to new mpegaudiodsp subsystemMans Rullgard2011-05-191-5/+4
| | | | | | | | | | | | | | | | 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>
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-05-113-7/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-05-103-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-05-051-61/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."Ronald S. Bultje2011-05-041-61/+2
| | | | | | | | | | | | | | This reverts commit f8bed30d8b176fa030f6737765338bb4a2bcabc9. The reason for this is that the overlap filter, which runs after IDCT, should run on unclamped values, and thus IDCT and put_pixels() cannot be merged if we want to attempt to be bitexact.
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-131-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Convert some undefined 1<<31 shifts into 1U<<31.Alex Converse2011-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-1923-94/+94
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * cosmetics: rename ff_fmt_convert_init_ppc() to ff_fmt_convert_init_altivec().Justin Ruggles2011-03-071-1/+1
| | | | | | | | It only has Altivec functions and is not compiled if Altivec is disabled.
| * vp8: ppc: fix invalid reads in altivec epel mcMans Rullgard2011-02-211-7/+14
| | | | | | | | | | | | | | The 4-tap filters should only access one row/column before the reference block. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * ppc: fix vc1 inverse transform, unbreak buildMans Rullgard2011-02-211-17/+17
| | | | | | | | | | | | | | | | 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>
| * VC1: merge idct8x8, coeff adjustments and put_pixels.Ronald S. Bultje2011-02-211-3/+61
| | | | | | | | | | Merging these functions allows merging some loops, which makes the results (particularly after SIMD optimizations) much faster.
| * Fix PPC build.Ronald S. Bultje2011-02-173-6/+27
| |
| * dsputil: move VC1-specific stuff into VC1DSPContext.Ronald S. Bultje2011-02-173-4/+5
| |
| * VC1: transpose IDCT 8x8 coeffs while reading.Ronald S. Bultje2011-02-171-1/+0
| |
| * Separate format conversion DSP functions from DSPContext.Justin Ruggles2011-02-023-112/+143
| | | | | | | | | | | | | | 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>
| * Remove unneeded add bias from 3 functions.Justin Ruggles2011-01-311-10/+4
| | | | | | | | | | | | | | | | DSPContext.vector_fmul_window() DCADSPContext.lfe_fir() SynthFilterContext.synth_filter_float() Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Fix overread in altivec DSP function sad16Vitor Sessak2011-01-291-5/+7
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.Justin Ruggles2011-01-221-5/+5
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-04-103-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | cosmetics: rename ff_fmt_convert_init_ppc() to ff_fmt_convert_init_altivec().Justin Ruggles2011-03-081-1/+1
| | | | | | | | | | It only has Altivec functions and is not compiled if Altivec is disabled. (cherry picked from commit d21be5f15bec15933cb6360aa0159961d987f449)
* | vp8: ppc: fix invalid reads in altivec epel mcMans Rullgard2011-02-221-7/+14
| | | | | | | | | | | | | | | | 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 e0e46cae377347cbe1cd27c0d85568921b12c2ad)
* | ppc: fix vc1 inverse transform, unbreak buildMans Rullgard2011-02-221-17/+17
| | | | | | | | | | | | | | | | | | 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 381efba0ecedd41575f99ba9e9bd3826551079f6)
* | VC1: merge idct8x8, coeff adjustments and put_pixels.Ronald S. Bultje2011-02-221-3/+61
| | | | | | | | | | | | Merging these functions allows merging some loops, which makes the results (particularly after SIMD optimizations) much faster. (cherry picked from commit f8bed30d8b176fa030f6737765338bb4a2bcabc9)
* | Fix PPC build.Ronald S. Bultje2011-02-183-6/+27
| | | | | | | | (cherry picked from commit ed040f35f298b39f1ddd45a133c82cb5d6d79dda)
* | dsputil: move VC1-specific stuff into VC1DSPContext.Ronald S. Bultje2011-02-183-4/+5
| | | | | | | | (cherry picked from commit 12802ec0601c3bd7b9c7a2503518e28fd5e7d744)
* | VC1: transpose IDCT 8x8 coeffs while reading.Ronald S. Bultje2011-02-181-1/+0
| | | | | | | | (cherry picked from commit 1da6ea39542424ddb691dc6cf08d611a4c6db247)
* | Separate format conversion DSP functions from DSPContext.Justin Ruggles2011-02-043-112/+143
| | | | | | | | | | | | | | | | 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 c73d99e672329c8f2df290736ffc474c360ac4ae)
* | Remove unneeded add bias from 3 functions.Justin Ruggles2011-02-021-10/+4
| | | | | | | | | | | | | | | | | | DSPContext.vector_fmul_window() DCADSPContext.lfe_fir() SynthFilterContext.synth_filter_float() Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 80ba1ddb58b5923b9f36a6acd542affc4ca722eb)
* | Fix overread in altivec DSP function sad16Vitor Sessak2011-01-301-5/+7
| | | | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 3af1fe829ee6db5eafe261947e74b8516ffe5188)
* | Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.Justin Ruggles2011-01-231-5/+5
|/ | | | | Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 6eabb0d3ad42b91c1b4c298718c29961f7c1653a)
* consolidate .gitignore patters into a single fileJanne Grunau2011-01-181-3/+0
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* convert svn:ignore properties to .gitignore filesJanne Grunau2011-01-171-0/+3
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* Move mm_support() from libavcodec to libavutil, make it a publicStefano Sabatini2010-09-086-99/+10
| | | | | | function and rename it to av_get_cpu_flags(). Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Merge has_altivec() function into mm_support(), remove it and useStefano Sabatini2010-09-086-23/+15
| | | | | | | | mm_support() instead. Reduce complexity and simplify pending move to libavutil. Originally committed as revision 25074 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename FF_MM_ symbols related to CPU features flags as AV_CPU_FLAG_Stefano Sabatini2010-09-041-1/+1
| | | | | | symbols, and move them from libavcodec/avcodec.h to libavutil/cpu.h. Originally committed as revision 25040 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove global mm_flags variableMåns Rullgård2010-08-242-5/+1
| | | | Originally committed as revision 24909 to svn://svn.ffmpeg.org/ffmpeg/trunk
* more credits to D. J. Bernstein for fftLoren Merritt2010-07-181-0/+3
| | | | Originally committed as revision 24308 to svn://svn.ffmpeg.org/ffmpeg/trunk
* PPC: convert Altivec FFT to pure assemblerMåns Rullgård2010-07-042-69/+98
| | | | | | | | | | | | | | 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
* PPC: gas-preprocessor handles m[ft]spr shorthandsMåns Rullgård2010-07-041-5/+0
| | | | Originally committed as revision 24043 to svn://svn.ffmpeg.org/ffmpeg/trunk
* PPC: add some asm support macrosMåns Rullgård2010-07-041-0/+56
| | | | Originally committed as revision 24042 to svn://svn.ffmpeg.org/ffmpeg/trunk