summaryrefslogtreecommitdiffstats
path: root/libavcodec/dsputil.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'qatar/master'Michael Niedermayer2011-05-111-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-101-108/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Move some functions in dsputil.c into a new file dsputil_template.c.Oskar Arvidsson2011-05-101-1226/+2
| | | | | | | | | | | | | | The functions moved are used when decoding h264. 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-04-301-7/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Duplicate AMV: disable DR1 and don't override EMU_EDGE Duplicate lavf: inspect more frames for fps when container time base is coarse Wrong and we have correct fix: Fix races in default av_log handler vorbis: Replace sized int_fast integer types with plain int/unsigned. Remove disabled non-optimized code variants. NO bswap.h: Remove disabled code. Remove some disabled printf debug cruft. Replace more disabled printf() calls by av_dlog(). NO tests: Remove disabled code. NO Replace some commented-out debug printf() / av_log() messages with av_dlog(). vorbisdec: Replace some sizeof(type) by sizeof(*variable). NO vf_fieldorder: Replace FFmpeg by Libav in license boilerplate. Conflicts: libavcodec/h264.c libavcodec/vorbisdec.c libavutil/log.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove some disabled printf debug cruft.Diego Biurrun2011-04-291-7/+0
| |
| * Eliminate pointless '#if 1' statements without matching '#else'.Diego Biurrun2011-04-261-2/+0
| |
* | Move png mmx functions into x86/png_mmx.c, remove them from DSPContext.Baptiste Coudurier2011-04-271-16/+0
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | 10l, commit that should have been stashed into the merge.Michael Niedermayer2011-04-171-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-171-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ac3dec: fix processing of delta bit allocation information. vc1: fix fate-vc1 after previous commit. wmv3dec: fix playback of complex WMV3 files using simple_idct. make av_dup_packet() more cautious on allocation failures make containers pass palette change in AVPacket introduce side information for AVPacket Politic commits that have not been pulled: Update regtest checksums after revision 6001dad. Replace more FFmpeg references by Libav. Replace references to ffmpeg-devel with libav-devel; fix roundup URL. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace more FFmpeg references by Libav.Diego Biurrun2011-04-171-1/+1
| |
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-131-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-04-101-108/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Move some functions in dsputil.c into a new file dsputil_internal.h.Oskar Arvidsson2011-04-101-1228/+2
| | | | | | | | | | | | | | The functions moved are used when decoding h264. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'newdev/master'Michael Niedermayer2011-03-271-17/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * newdev/master: dsputil: allow to skip drawing of top/bottom edges. Split fate-psx-str-v3 into a video-only and audio-only test. Conflicts: libavcodec/dsputil.c libavcodec/mpegvideo.c libavcodec/snow.c libavcodec/x86/dsputil_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: allow to skip drawing of top/bottom edges.Alexander Strange2011-03-261-14/+11
| |
* | Merge remote-tracking branch 'newdev/master'Michael Niedermayer2011-03-241-0/+14
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * newdev/master: avio: make udp_set_remote_url/get_local_port internal. asfdec: also subtract preroll when reading simple index object matroskaenc: remove a variable that's unused after bc17bd9. avio: cosmetics - nicer vertical alignment. Remove unnecessary icc version checks Disable 'attribute "foo" ignored' warnings from icc rtsp: Don't use a locale dependent format string Add xd55 codec tag for XDCAM HD422 720p25 CBR files. configure: get libavcodec version from new version.h header lavc: move the version macros to a new installed header. matroskaenc: simplify get_aac_sample_rates by using ff_mpeg4audio_get_config Do not use format string "%0.3f" for RTSP Range field. Add apply_window_int16() to DSPContext with x86-optimized versions and use it in the ac3_fixed encoder. Document usage of import libraries created by dlltool configure: Set the correct lib target for arm/wince dlltool fate: simplify regression-funcs.sh fate: add support for multithread testing Conflicts: libavformat/rtspdec.c libavutil/attributes.h libavutil/internal.h libavutil/mem.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add apply_window_int16() to DSPContext with x86-optimized versions and use itJustin Ruggles2011-03-221-0/+14
| | | | | | | | in the ac3_fixed encoder.
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Fake-Merge remote-tracking branch 'ffmpeg-mt/master'Michael Niedermayer2011-03-221-7/+12
|/
* dsputil: add bswap16_buf()Mans Rullgard2011-03-161-0/+7
| | | | | | | | There are several places where a buffer is byte-swapped in 16-bit units. This allows them to share code which can be optimised for various architectures. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: make {add/put/put_signed}_pixels_clamped() non-static.Ronald S. Bultje2011-02-211-14/+14
|
* dsputil: move VC1-specific stuff into VC1DSPContext.Ronald S. Bultje2011-02-171-53/+0
|
* Merge libavcore into libavutilReinhard Tartler2011-02-151-1/+1
| | | | | | | | | | | | It is pretty hopeless that other considerable projects will adopt libavutil alone in other projects. Projects that need small footprint are better off with more specialized libraries such as gnulib or rather just copy the necessary parts that they need. With this in mind, nobody is helped by having libavutil and libavcore split. In order to ease maintenance inside and around FFmpeg and to reduce confusion where to put common code, avcore's functionality is merged (back) to avutil. Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* Separate format conversion DSP functions from DSPContext.Justin Ruggles2011-02-021-33/+0
| | | | | | | 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-4/+6
| | | | | | | | DSPContext.vector_fmul_window() DCADSPContext.lfe_fir() SynthFilterContext.synth_filter_float() Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move ff_emulated_edge_mc() into DSPContext.Ronald S. Bultje2011-01-281-0/+1
|
* Optimize C version of ff_emulated_edge_mc().Ronald S. Bultje2011-01-281-16/+23
| | | | | From ~780 cycles to 551 cycles, mostly just by using libc memcpy() instead of manually shuffling individual bytes around.
* Make ff_float_to_int16*_c() static.Alex Converse2011-01-281-2/+2
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove the add bias hack for the C version of DSPContext.float_to_int16_*().Justin Ruggles2011-01-281-8/+1
|
* Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.Justin Ruggles2011-01-221-2/+2
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.Justin Ruggles2011-01-211-4/+0
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove unneeded #includeJustin Ruggles2011-01-091-1/+0
| | | | Originally committed as revision 26272 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reimplement ff_img_copy_plane() as av_image_copy_plane() in libavcore,Stefano Sabatini2010-09-071-1/+2
| | | | | | and deprecate the old function. Originally committed as revision 25064 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove duplicate definitions of fullpel MC functionsMåns Rullgård2010-08-251-31/+22
| | | | | | | This removes duplicated definitions of 8x8 and 16x16 fullpel MC functions with various names reducing dsputil.o by 8k on x86_64. Originally committed as revision 24933 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move vp6_filter_diag4() from DSPContext to VP56DSPContext.Ronald S. Bultje2010-08-251-3/+0
| | | | Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move cavs dsp functions to their own structMåns Rullgård2010-08-031-4/+0
| | | | Originally committed as revision 24685 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make ff_inverse stay with libavutil, and optional copy it to libavcodec.Diego Pettenò2010-07-211-38/+0
| | | | | | | | | | | | | | | | | | | The ff_inverse table is used by FASTDIV macro, defined in libavutil, but up to now the table was defined only in libavcodec. After this change, the main copy of ff_inverse is part of libavutil (just like FASTDIV), but if CONFIG_SMALL is unset, then a different copy is made available to libavcodec, to avoid the performance penalty of using an external look up table. Dynamic linking works, because the libraries are linked with -Bsymbolic, so the local copy of the symbol has priority over the external; static linking works because the table is on a standalone object file in both libraries, so the linker is able to discard one of the two. Tested on Linux/x86-64 and Mac OS X/x86-64. Originally committed as revision 24383 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add av_ prefix to bswap macrosMåns Rullgård2010-07-101-9/+9
| | | | Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix grammar errors in documentationMåns Rullgård2010-06-301-1/+1
| | | | Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Set rv34 (0,0) subpel mc functions to the optimised h264 onesMåns Rullgård2010-06-281-0/+10
| | | | Originally committed as revision 23845 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add const to some pointer parameters.Eli Friedman2010-06-271-2/+2
| | | | | | Patch by Eli Friedman, eli D friedman A gmail Originally committed as revision 23826 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make VP8 DSP functions take two stridesJason Garrett-Glaser2010-06-251-12/+0
| | | | | | | This isn't useful for the C functions, but will allow re-using H and V functions for HV functions without adding separate H and V wrappers. Originally committed as revision 23782 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Native VP8 decoder.David Conrad2010-06-221-0/+13
| | | | | | Patch by David Conrad <lessen42 gmail com> and myself. Originally committed as revision 23719 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add const to ff_emulated_edge_mcDavid Conrad2010-05-271-1/+1
| | | | Originally committed as revision 23348 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add more const to _l4 pixel functionsDavid Conrad2010-05-271-4/+4
| | | | Originally committed as revision 23347 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-201-1/+1
| | | | | | | | 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
* vp3: DC-only IDCTDavid Conrad2010-04-171-0/+1
| | | | | | 2-4% faster overall decode Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move H264 dsputil functions into their own structMåns Rullgård2010-03-161-288/+0
| | | | | | | | | | | 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
* Separate DWT from snow and dsputilMåns Rullgård2010-03-141-109/+3
| | | | | | | | This moves the DWT functions from snow.c and dsputil.c to a file of their own. A new struct, DWTContext, holds the function pointers previously part of DSPContext. Originally committed as revision 22522 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud