Statistics
| Branch: | Revision:

ffmpeg / libavcodec / dsputil.c @ b5f83deb

History | View | Annotate | Download (157 KB)

# Date Author Comment
b5f83deb 01/30/2011 02:40 AM Alex Converse

Make ff_float_to_int16*_c() static.

Signed-off-by: Mans Rullgard <>
(cherry picked from commit 5ce5dbc5f3d0bce1f8d76fea1907c91469ebdd01)

733dbe7d 01/28/2011 02:15 AM Justin Ruggles

Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
(cherry picked from commit 9d06d7bce3babb82ed650c13ed13a57f6f626a71)

015f9f1a 01/23/2011 06:32 PM Justin Ruggles

Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.

Signed-off-by: Mans Rullgard <>
(cherry picked from commit 6eabb0d3ad42b91c1b4c298718c29961f7c1653a)

0d8837bd 01/23/2011 06:32 PM Justin Ruggles

Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.

Signed-off-by: Mans Rullgard <>
(cherry picked from commit 56f8952b252f85281317ecd3e0b04c4cae93fd72)

14207fd2 01/09/2011 02:04 AM Justin Ruggles

Remove unneeded #include

Originally committed as revision 26272 to svn://svn.ffmpeg.org/ffmpeg/trunk

9686abb8 09/07/2010 09:23 PM Stefano Sabatini

Reimplement ff_img_copy_plane() as av_image_copy_plane() in libavcore,
and deprecate the old function.

Originally committed as revision 25064 to svn://svn.ffmpeg.org/ffmpeg/trunk

3d1b1caa 08/25/2010 08:14 PM Måns Rullgård

Remove duplicate definitions of fullpel MC functions

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

3a088514 08/25/2010 01:42 PM Ronald S. Bultje

Move vp6_filter_diag4() from DSPContext to VP56DSPContext.

Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk

f079a64a 08/03/2010 08:59 PM Måns Rullgård

Move cavs dsp functions to their own struct

Originally committed as revision 24685 to svn://svn.ffmpeg.org/ffmpeg/trunk

3fc548df 07/21/2010 12:37 PM Diego Pettenò

Make ff_inverse stay with libavutil, and optional copy it to libavcodec.

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...

8fc0162a 07/10/2010 10:12 PM Måns Rullgård

Add av_ prefix to bswap macros

Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk

49bd8e4b 06/30/2010 03:38 PM Måns Rullgård

Fix grammar errors in documentation

Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk

eca9e403 06/28/2010 10:56 AM Måns Rullgård

Set rv34 (0,0) subpel mc functions to the optimised h264 ones

Originally committed as revision 23845 to svn://svn.ffmpeg.org/ffmpeg/trunk

b3858964 06/27/2010 03:11 PM Eli Friedman

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

d6f8476b 06/25/2010 06:14 PM Jason Garrett-Glaser

Make VP8 DSP functions take two strides
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

3b636f21 06/22/2010 07:24 PM David Conrad

Native VP8 decoder.

Patch by David Conrad <lessen42 gmail com> and myself.

Originally committed as revision 23719 to svn://svn.ffmpeg.org/ffmpeg/trunk

910b9f30 05/27/2010 04:39 AM David Conrad

Add const to ff_emulated_edge_mc

Originally committed as revision 23348 to svn://svn.ffmpeg.org/ffmpeg/trunk

94b303ba 05/27/2010 04:39 AM David Conrad

Add more const to _l4 pixel functions

Originally committed as revision 23347 to svn://svn.ffmpeg.org/ffmpeg/trunk

ba87f080 04/20/2010 02:45 PM Diego Biurrun

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

eb6a6cd7 04/17/2010 02:04 AM David Conrad

vp3: DC-only IDCT

2-4% faster overall decode

Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk

4693b031 03/16/2010 01:17 AM Måns Rullgård

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...

05aec7bb 03/14/2010 05:50 PM Måns Rullgård

Separate DWT from snow and dsputil

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

2023cfea 03/11/2010 02:32 AM Måns Rullgård

Add some required casts

These casts are correct and safe. The pointers are guaranteed to
have proper alignment, and aliasing is not a problem with character
types.

Originally committed as revision 22446 to svn://svn.ffmpeg.org/ffmpeg/trunk

98713e55 03/06/2010 10:37 PM Måns Rullgård

Move ff_spatial_dwt() prototype to snow.h

Originally committed as revision 22265 to svn://svn.ffmpeg.org/ffmpeg/trunk

965363f8 03/06/2010 10:36 PM Måns Rullgård

Move some dsp func prototypes to dsputil.h; they are defined in dsputil.c

Originally committed as revision 22264 to svn://svn.ffmpeg.org/ffmpeg/trunk

4f602a04 03/06/2010 10:36 PM Måns Rullgård

Move some VC1 dsp prototypes to dsputil.h; they are defined in dsputil.c

Also fix function definitions to match prototypes (missing const).

Originally committed as revision 22263 to svn://svn.ffmpeg.org/ffmpeg/trunk

7de9da9b 03/06/2010 10:36 PM Måns Rullgård

Move prototypes for various dsputil init functions to dsputil.h

Originally committed as revision 22261 to svn://svn.ffmpeg.org/ffmpeg/trunk

3da11804 03/06/2010 10:36 PM Måns Rullgård

Move some prototypes from dsputil.c to reasonable header files

Originally committed as revision 22260 to svn://svn.ffmpeg.org/ffmpeg/trunk

84dc2d8a 03/06/2010 02:24 PM Måns Rullgård

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

342c7dfd 02/21/2010 01:28 PM Kostya Shishkov

Bink video decoder

Originally committed as revision 21937 to svn://svn.ffmpeg.org/ffmpeg/trunk

40d11227 02/17/2010 08:36 PM Måns Rullgård

Use LOCAL_ALIGNED macro for local arrays

Originally committed as revision 21866 to svn://svn.ffmpeg.org/ffmpeg/trunk

2480c390 02/17/2010 08:36 PM Måns Rullgård

Simplify some declarations of aligned arrays

If DECLARE_ALIGNED_16 works on uint64_t it will work smaller types too.

Originally committed as revision 21863 to svn://svn.ffmpeg.org/ffmpeg/trunk

e62a55b9 01/22/2010 11:40 PM Reimar Döffinger

The SSSE3 version of dct_quantize in mpegvideo_mmx_template.c needs
inv_zigzag_direct16 16-byte aligned, so mark it appropriately.
Fixes encoder crashes e.g. with MPlayer's -vf lavc.

Originally committed as revision 21389 to svn://svn.ffmpeg.org/ffmpeg/trunk

c6727809 01/22/2010 03:25 AM Måns Rullgård

Move array specifiers outside DECLARE_ALIGNED() invocations

Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk

3f50965b 01/19/2010 10:54 PM Michael Niedermayer

Mark the h264 c loop filter as av_always_inline av_flatten to make sure its
all inlined, its small and horizontal & vertical versions are build out of
them. no change as gcc already did this.

Originally committed as revision 21333 to svn://svn.ffmpeg.org/ffmpeg/trunk

c9640c17 01/19/2010 10:46 PM Michael Niedermayer

skip outer pixels if possible in h264_loop_filter_luma_c().
overall 3.7% faster loop filtering (C version only)

Originally committed as revision 21332 to svn://svn.ffmpeg.org/ffmpeg/trunk

f267d3ac 01/14/2010 01:32 AM Alexander Strange

Implement alpha channel decoding for BGR HuffYUV.

Since BGR24 is decoded as BGR32, fill its alpha channel with 255
using the appropriate predictors.

Originally committed as revision 21211 to svn://svn.ffmpeg.org/ffmpeg/trunk

0752cd39 01/13/2010 02:16 AM Zuxy Meng

More av_cold for infrequently called functions.

Originally committed as revision 21179 to svn://svn.ffmpeg.org/ffmpeg/trunk

4052cbf1 12/30/2009 11:33 AM Diego Biurrun

Get rid of pointless CONFIG_ANY_H263 preprocessor definition.

Originally committed as revision 20975 to svn://svn.ffmpeg.org/ffmpeg/trunk

af818f7a 12/30/2009 11:22 AM Diego Biurrun

Add required header #includes for mpegvideo.h and config.h.

Originally committed as revision 20974 to svn://svn.ffmpeg.org/ffmpeg/trunk

b1159ad9 12/05/2009 03:09 PM Loren Merritt

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.)...

e17ccf60 10/18/2009 08:47 PM Loren Merritt

huffyuv: add some const qualifiers

Originally committed as revision 20290 to svn://svn.ffmpeg.org/ffmpeg/trunk

f4d608e3 10/18/2009 07:51 PM Justin Ruggles

add CONFIG_LPC to the build system for lpc dsputil functions. fixes build
problems when lpc.c is not compiled.

Originally committed as revision 20285 to svn://svn.ffmpeg.org/ffmpeg/trunk

fde82ca7 10/17/2009 09:00 PM Justin Ruggles

Move autocorrelation function from flacenc.c to lpc.c. Also rename the
corresponding dsputil functions and remove their dependency on the FLAC
encoder.
Fixes Issue1486.

Originally committed as revision 20266 to svn://svn.ffmpeg.org/ffmpeg/trunk

f076fe44 10/16/2009 11:06 PM Alexander Strange

Remove a meaningless 'inline' from add_hfyu_left_prediction_bgr32_c().

Originally committed as revision 20260 to svn://svn.ffmpeg.org/ffmpeg/trunk

2d4bbdec 10/16/2009 11:04 PM Alexander Strange

Huffyuv: Add missing const to src pointers in dsputil functions.

Originally committed as revision 20259 to svn://svn.ffmpeg.org/ffmpeg/trunk

73c6f598 10/06/2009 04:06 PM Nathan Caldwell

Move HuffYUV left prediction to dsputil.

Patch by Nathan Caldwell, saintdev gmail

Originally committed as revision 20179 to svn://svn.ffmpeg.org/ffmpeg/trunk

952e8721 09/27/2009 04:51 PM Måns Rullgård

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...

53b57211 09/22/2009 12:48 AM Måns Rullgård

Add some dsputil functions useful for AAC decoder

Originally committed as revision 19955 to svn://svn.ffmpeg.org/ffmpeg/trunk

1a918c08 09/21/2009 03:01 AM Loren Merritt

extend ff_inverse[], and fix its documentation

Originally committed as revision 19942 to svn://svn.ffmpeg.org/ffmpeg/trunk

50e23ae9 08/27/2009 03:38 PM Vitor Sessak

Mark parameter src of vector_clipf() as const

Originally committed as revision 19729 to svn://svn.ffmpeg.org/ffmpeg/trunk

0a68cd87 08/27/2009 02:49 PM Vitor Sessak

SSE optimized vector_clipf(). 10% faster TwinVQ decoding.

Originally committed as revision 19728 to svn://svn.ffmpeg.org/ffmpeg/trunk

95d36bdb 08/26/2009 01:17 PM Måns Rullgård

dsputil: declare some arrays 16-byte aligned

These arrays are passed to functions for which we promise 16-byte
alignment, so make sure we fulfil that promise.

Originally committed as revision 19716 to svn://svn.ffmpeg.org/ffmpeg/trunk

64e657fd 08/26/2009 09:10 AM Reimar Döffinger

100l, inv_zigzag_direct16 must be aligned to 16 bytes for dct_quantize_SSE2
(which uses movdqa to xmm1 on inv_zigzag_direct16).

Originally committed as revision 19711 to svn://svn.ffmpeg.org/ffmpeg/trunk

dd36b88b 08/25/2009 11:28 PM Måns Rullgård

Remove explicit init to zero of static inv_zigzag_direct16

Originally committed as revision 19704 to svn://svn.ffmpeg.org/ffmpeg/trunk

90d43b52 08/19/2009 09:59 PM Måns Rullgård

Get rid of large stack array in rd8x8_c()

Originally committed as revision 19671 to svn://svn.ffmpeg.org/ffmpeg/trunk

9be6f0d2 07/29/2009 09:54 AM Diego Biurrun

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

99e5a9d1 07/22/2009 10:27 PM Diego Biurrun

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

da00b525 04/30/2009 09:34 PM Ramiro Polla

Don't #if a function declaration and properly indent it.

Originally committed as revision 18722 to svn://svn.ffmpeg.org/ffmpeg/trunk

bf4f19dc 04/30/2009 12:30 PM Ramiro Polla

mlpdec: Move MLP's filter_channel() to dsputils.

Originally committed as revision 18721 to svn://svn.ffmpeg.org/ffmpeg/trunk

8013da73 04/14/2009 11:56 PM David Conrad

VC1: add and use avg_no_rnd chroma MC functions

Originally committed as revision 18518 to svn://svn.ffmpeg.org/ffmpeg/trunk

c374691b 04/14/2009 11:55 PM David Conrad

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

6cecd630 04/14/2009 07:26 PM David Conrad

VC1: Do qpel when needed for both MVs in a B frame

Originally committed as revision 18511 to svn://svn.ffmpeg.org/ffmpeg/trunk

d4efacff 03/26/2009 01:34 AM Ramiro Polla

Use intptr_t when casting pointers to int.

Originally committed as revision 18192 to svn://svn.ffmpeg.org/ffmpeg/trunk

7fb7f636 02/19/2009 12:30 AM Roman Shaposhnik

Adding 2 intra 8x8 cmp functions: vsad, vsse

Originally committed as revision 17448 to svn://svn.ffmpeg.org/ffmpeg/trunk

3899eb2f 02/19/2009 12:28 AM Roman Shaposhnik

Making the arrays accomodate an extra intra 8x8 cmp function

Originally committed as revision 17446 to svn://svn.ffmpeg.org/ffmpeg/trunk

26f3ae82 02/09/2009 11:37 PM Aurelien Jacobs

move vp6_filter_diag4() to a new vp6dsp.c file and use it throught dsputil

Originally committed as revision 17111 to svn://svn.ffmpeg.org/ffmpeg/trunk

3daa434a 02/08/2009 05:45 PM Loren Merritt

ff_add_hfyu_median_prediction_mmx2
overall ffvhuff decoding speedup: 28% on core2, 25% on k8.

Originally committed as revision 17059 to svn://svn.ffmpeg.org/ffmpeg/trunk

bc4cccd4 02/01/2009 02:07 PM Diego Biurrun

Remove H.264 encoder initialization.
We have no H.264 encoder to speak of and this produces warnings.

Originally committed as revision 16914 to svn://svn.ffmpeg.org/ffmpeg/trunk

bad5537e 02/01/2009 02:00 AM Diego Biurrun

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

406792e7 01/19/2009 03:46 PM Diego Biurrun

cosmetics: Remove pointless period after copyright statement non-sentences.

Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk

199436b9 01/18/2009 10:57 PM Aurelien Jacobs

moves mid_pred() into mathops.h (with arch specific code split by directory)

Originally committed as revision 16681 to svn://svn.ffmpeg.org/ffmpeg/trunk

49fb20cb 01/14/2009 05:19 PM Aurelien Jacobs

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

b250f9c6 01/13/2009 11:44 PM Aurelien Jacobs

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

79cb09b2 12/27/2008 11:33 AM Diego Biurrun

consistency cosmetics: Rename POWERPC identifiers to PPC.

Originally committed as revision 16359 to svn://svn.ffmpeg.org/ffmpeg/trunk

6beb8b26 12/20/2008 06:06 PM Kostya Shishkov

RV30 decoder

Originally committed as revision 16247 to svn://svn.ffmpeg.org/ffmpeg/trunk

712ca84c 12/19/2008 12:44 AM Jason Garrett-Glaser

Move filter_luma_intra into dsputil for later addition of asm.

Originally committed as revision 16228 to svn://svn.ffmpeg.org/ffmpeg/trunk

ac223859 12/18/2008 02:36 AM Michael Niedermayer

H.264 idct functions that include the chroma, inter luma and intra16 luma loops
thus avoiding the calling overhead.
New functions are not yet used.

Originally committed as revision 16206 to svn://svn.ffmpeg.org/ffmpeg/trunk

a2fc0f6a 12/17/2008 12:54 AM Måns Rullgård

ARM: replace "armv4l" with "arm"

Originally committed as revision 16179 to svn://svn.ffmpeg.org/ffmpeg/trunk

5fecfb7d 12/10/2008 09:35 PM Loren Merritt

clear_block mmx

Originally committed as revision 16045 to svn://svn.ffmpeg.org/ffmpeg/trunk

2d8a0815 12/01/2008 06:36 AM Kostya Shishkov

RV40 MC functions

Originally committed as revision 15967 to svn://svn.ffmpeg.org/ffmpeg/trunk

28245435 11/08/2008 12:38 AM Peter Ross

Electronic Arts TGQ/TQI/MAD IDCT algorithm

Originally committed as revision 15790 to svn://svn.ffmpeg.org/ffmpeg/trunk

9971331d 10/04/2008 10:26 AM David Conrad

Move VP3 loop filter to DSPContext

Originally committed as revision 15551 to svn://svn.ffmpeg.org/ffmpeg/trunk

911e21a3 08/13/2008 11:35 PM Loren Merritt

simd int->float
20% faster ac3 if downmixing, 15% if not

Originally committed as revision 14743 to svn://svn.ffmpeg.org/ffmpeg/trunk

ac2e5564 08/13/2008 11:33 PM Loren Merritt

simd downmix
13% faster ac3 if downmixing

Originally committed as revision 14742 to svn://svn.ffmpeg.org/ffmpeg/trunk

5eb0f2a4 07/16/2008 12:50 AM Loren Merritt

float_to_int16_interleave: change src to an array of pointers instead of assuming it's contiguous.
this has no immediate effect, but will allow it to be used in more codecs.

Originally committed as revision 14252 to svn://svn.ffmpeg.org/ffmpeg/trunk

b9fa3208 07/13/2008 03:03 PM Loren Merritt

exploit mdct symmetry
2% faster vorbis on conroe, k8. 7% on celeron.

Originally committed as revision 14207 to svn://svn.ffmpeg.org/ffmpeg/trunk

f27e1d64 07/13/2008 02:56 PM Loren Merritt

simplify vorbis windowing

Originally committed as revision 14205 to svn://svn.ffmpeg.org/ffmpeg/trunk

560fa9bf 07/07/2008 09:04 PM Michael Niedermayer

Fix x86-64

Originally committed as revision 14103 to svn://svn.ffmpeg.org/ffmpeg/trunk

88c0536a 07/06/2008 06:06 AM Kostya Shishkov

Add several vector functions used by Monkey's Audio decoder to dsputil

Originally committed as revision 14081 to svn://svn.ffmpeg.org/ffmpeg/trunk

e6dba5df 04/29/2008 02:08 PM Ramiro Polla

Typo: distoration -> distortion.

Originally committed as revision 13019 to svn://svn.ffmpeg.org/ffmpeg/trunk

0e956ba2 04/16/2008 01:34 AM Alexander Strange

Add a new IDCT permutation, used in xvid_sse2 and possibly future similar IDCTs.

Originally committed as revision 12842 to svn://svn.ffmpeg.org/ffmpeg/trunk

fbd4293d 03/05/2008 12:43 AM Aurelien Jacobs

remove more useless mpegvideo.h includes

Originally committed as revision 12323 to svn://svn.ffmpeg.org/ffmpeg/trunk

288a44fb 03/04/2008 11:10 PM Aurelien Jacobs

move ff_emulated_edge_mc() to dsputil

Originally committed as revision 12318 to svn://svn.ffmpeg.org/ffmpeg/trunk

4c79b95c 03/04/2008 10:26 AM Aurelien Jacobs

move ff_init_scantable() into dsputil

Originally committed as revision 12311 to svn://svn.ffmpeg.org/ffmpeg/trunk

5a6a9e78 03/04/2008 12:07 AM Aurelien Jacobs

move draw_edges() into dsputil

Originally committed as revision 12309 to svn://svn.ffmpeg.org/ffmpeg/trunk

6f08c541 02/26/2008 02:59 PM Michael Niedermayer

floating point AAN IDCT

Originally committed as revision 12233 to svn://svn.ffmpeg.org/ffmpeg/trunk

917f55cc 02/22/2008 04:53 PM Loren Merritt

cleaner way of writing packed-byte constants.
suggested by Uoti Urpala

Originally committed as revision 12177 to svn://svn.ffmpeg.org/ffmpeg/trunk

31304587 02/21/2008 07:55 AM Loren Merritt

indent

Originally committed as revision 12166 to svn://svn.ffmpeg.org/ffmpeg/trunk

469bd7b1 02/21/2008 07:54 AM Loren Merritt

pseudo-simd add_bytes and diff_bytes
2x faster than scalar in 32bit, 4x faster in 64bit (as opposed to 8x in mmx)

Originally committed as revision 12165 to svn://svn.ffmpeg.org/ffmpeg/trunk