summaryrefslogtreecommitdiff
path: root/libavcodec/dsputil.c
Commit message (Collapse)AuthorAge
* Move RV3/4-specific DSP functions into their own contextKostya Shishkov2011-08-11
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* dsputil: move a bink-only function to binkdspMans Rullgard2011-07-27
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: remove some unused functionsMans Rullgard2011-07-27
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* bink: make IDCT take 32-bit inputKostya Shishkov2011-07-27
| | | | | | | | | | | Since IDCT transforming 32-bit input to 8-bit output is unusual and unpractical for most codecs, move Bink IDCT into separate context. Get rid of an additional permutation table while at it since SIMD support for Bink IDCT is unlikely to be implemented in foreseeable future. Quantisation tables also have to change type to signed for proper dequantisation of DCT coefficients. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: template get_pixels() for different bit depthsMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: create 16/32-bit dctcoef versions of some functionsMans Rullgard2011-07-21
| | | | | | | | | | High bitdepth H.264 needs 32-bit transform coefficients, whereas dnxhd does not. This creates a conflict with the templated functions operating on DCTELEM data. This patch adds a field allowing the caller to choose the element size in dsputil_init() and adds the required functions. Signed-off-by: Mans Rullgard <mans@mansr.com>
* jfdctint: add 10-bit versionMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: allow 9/10-bit functions for non-h264 codecsMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: Remove extra blank line at end.Alex Converse2011-07-20
|
* dsputil: Replace a LONG_MAX check with HAVE_FAST_64BIT.Alex Converse2011-07-20
|
* simple_idct: add 10-bit versionMans Rullgard2011-07-20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove h264_lowres_idct_put/add functionsMans Rullgard2011-07-20
| | | | | | | | Use of these has been broken ever since the h264 idct was changed to always use transposed inputs. Furthermore, they were only ever used if some *other* non-default idct was requested. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: fix ff_check_alignment()Mans Rullgard2011-07-19
| | | | | | | | | The change to LOCAL_ALIGNED means the declared object must be an array and the subsequent test should not use the & operator. Noticed by Uoti Urpala. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: restore mistakenly removed hunk of disabled codeDiego Biurrun2011-07-18
| | | | This particular part serves to document the optimized code variant.
* dsputil: remove disabled codeDiego Biurrun2011-07-18
|
* Use LOCAL_ALIGNED in ff_check_alignment()Mans Rullgard2011-07-16
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3enc: add int32_t array clipping function to DSPUtil, including x86 versions.Justin Ruggles2011-07-01
|
* Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-05-10
| | | | | | | | | | | | | | | | | 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-10
| | | | | | | 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>
* Remove some disabled printf debug cruft.Diego Biurrun2011-04-29
|
* Eliminate pointless '#if 1' statements without matching '#else'.Diego Biurrun2011-04-26
|
* Replace more FFmpeg references by Libav.Diego Biurrun2011-04-17
|
* Convert some undefined 1<<31 shifts into 1U<<31.Alex Converse2011-04-11
| | | | | | | | | | | 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.
* dsputil: allow to skip drawing of top/bottom edges.Alexander Strange2011-03-26
|
* Add apply_window_int16() to DSPContext with x86-optimized versions and use itJustin Ruggles2011-03-22
| | | | in the ac3_fixed encoder.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: add bswap16_buf()Mans Rullgard2011-03-16
| | | | | | | | 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-21
|
* dsputil: move VC1-specific stuff into VC1DSPContext.Ronald S. Bultje2011-02-17
|
* Merge libavcore into libavutilReinhard Tartler2011-02-15
| | | | | | | | | | | | 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-02
| | | | | | | 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-31
| | | | | | | | 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-28
|
* Optimize C version of ff_emulated_edge_mc().Ronald S. Bultje2011-01-28
| | | | | 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-28
| | | | 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-28
|
* Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.Justin Ruggles2011-01-22
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.Justin Ruggles2011-01-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove unneeded #includeJustin Ruggles2011-01-09
| | | | 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-07
| | | | | | 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-25
| | | | | | | 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-25
| | | | Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move cavs dsp functions to their own structMåns Rullgård2010-08-03
| | | | 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-21
| | | | | | | | | | | | | | | | | | | 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-10
| | | | Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix grammar errors in documentationMåns Rullgård2010-06-30
| | | | 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-28
| | | | Originally committed as revision 23845 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add const to some pointer parameters.Eli Friedman2010-06-27
| | | | | | 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-25
| | | | | | | 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-22
| | | | | | Patch by David Conrad <lessen42 gmail com> and myself. Originally committed as revision 23719 to svn://svn.ffmpeg.org/ffmpeg/trunk