Justin Ruggles
9d06d7bce3
Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
2011-01-28 00:07:35 +00: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
Mans Rullgard
96aad41e81
Make LOCAL_ALIGNED macro fully C99 compatible
...
C99 variadic macros require more arguments than there are named
parameters in the definition. This means we must use an extra
indirection to avoid having two different macros for arrays with
one resp more than one dimension.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 16:18:45 +00:00
Justin Ruggles
56f8952b25
Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 19:58:59 +00:00
Ronald S. Bultje
66c6b5e2a5
Revert 2a1f431d38
, it broke H264 lossless.
2011-01-20 17:24:44 -05:00
Jason Garrett-Glaser
2a1f431d38
H.264/SVQ3: make chroma DC work the same way as luma DC
...
No speed improvement, but necessary for some future stuff.
Also opens up the possibility of asm chroma dc idct/dequant.
Originally committed as revision 26349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 01:10:46 +00:00
Jason Garrett-Glaser
290fabc684
Port SVQ3 to use the new mb_luma_dc method of storing luma DC coefficients.
...
Doesn't help speed as there isn't an asm implementation yet, but consistency
is a good thing.
Originally committed as revision 26348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 00:41:18 +00:00
Jason Garrett-Glaser
2e18660115
Fix SVQ3
...
Regression in r26336-7.
Originally committed as revision 26341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 22:23:42 +00:00
Jason Garrett-Glaser
19fb234e4a
H.264: split luma dc idct out and implement MMX/SSE2 versions
...
About 2.5x the speed.
NOTE: the way that the asm code handles large qmuls is a bit suboptimal.
If x264-style dequant was used (separate shift and qmul values), it might
be possible to get some extra speed.
Originally committed as revision 26336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 21:34:25 +00: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
9686abb826
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
2010-09-07 21:23:45 +00:00
Måns Rullgård
3d1b1caa6b
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
2010-08-25 20:14:21 +00:00
Ronald S. Bultje
3a0885146c
Move vp6_filter_diag4() from DSPContext to VP56DSPContext.
...
Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 13:42:28 +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
Måns Rullgård
f079a64aea
Move cavs dsp functions to their own struct
...
Originally committed as revision 24685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 20:59:00 +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
David Conrad
910b9f30c8
Add const to ff_emulated_edge_mc
...
Originally committed as revision 23348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:39:27 +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
David Conrad
eb6a6cd788
vp3: DC-only IDCT
...
2-4% faster overall decode
Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:30 +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
Måns Rullgård
05aec7bb87
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
2010-03-14 17:50:12 +00:00
Måns Rullgård
965363f81a
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
2010-03-06 22:36:59 +00:00
Måns Rullgård
4f602a0415
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
2010-03-06 22:36:55 +00:00
Måns Rullgård
7de9da9ba7
Move prototypes for various dsputil init functions to dsputil.h
...
Originally committed as revision 22261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:49 +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
4b9905d1dc
Move DECLARE_ALIGNED_{8,16} macros to mem.h
...
These macros naturally belong next to the generic DECLARE_ALIGNED
macro.
Originally committed as revision 22230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 12:40:43 +00:00
Kostya Shishkov
342c7dfdbb
Bink video decoder
...
Originally committed as revision 21937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 13:28:46 +00:00
Måns Rullgård
1e2245c29b
10l: remove stray '(' I don't know where it came from
...
Originally committed as revision 21867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 21:04:56 +00:00
Måns Rullgård
d96cd42969
Add LOCAL_ALIGNED() macro for declaring aligned local arrays
...
Originally committed as revision 21864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 20:36:12 +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
Vitor Sessak
7f3f5f46c2
Floating point discrete cosine transform
...
Originally committed as revision 21338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:39:47 +00:00
Alexander Strange
f267d3ac75
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
2010-01-14 01:32:49 +00:00
Reimar Döffinger
14b8607065
Add support for hard-coded MDCT-related ff_sine_windows tables.
...
Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 13:28:04 +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
Reimar Döffinger
1ffc6e8327
Add ff_init_ff_cos_tabs function and use it in rdft.c to ensure that the
...
necessary ff_cos_tabs tables are initialized.
Fixes issue 1507 (QDM2 broken since r20237 without hardcoded tables).
Originally committed as revision 20464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 18:29:06 +00:00
Reimar Döffinger
223217746c
Pad ff_cos_tabs and ff_sin_tabs so that index n points to the table for n bits.
...
While this "wastes" up to 2x32 bytes it makes the code slightly simpler and
less confusing.
Originally committed as revision 20449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-04 17:30:23 +00:00
Loren Merritt
e17ccf60fe
huffyuv: add some const qualifiers
...
Originally committed as revision 20290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:47:25 +00:00
Loren Merritt
2f77923d72
simd add_hfyu_left_prediction
...
2.2x faster than C on conroe, 3.6x on penryn.
4-6% faster huffyuv decoding if using left or plane mode and yuv
Originally committed as revision 20287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:10:10 +00:00
Justin Ruggles
fde82ca7e4
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
2009-10-17 21:00:39 +00:00
Alexander Strange
2d4bbdecee
Huffyuv: Add missing const to src pointers in dsputil functions.
...
Originally committed as revision 20259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 23:04:41 +00:00
Reimar Döffinger
75df2edbb9
Add support for hardcoded ff_sin_* tables.
...
Originally committed as revision 20244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 18:04:55 +00:00
Reimar Döffinger
4ee726b670
Move/add COSTABLE/SINTABLE macros to dsputil to add extern definitions
...
for ff_cos_* and ff_sin_* without introducing too much code duplication.
Originally committed as revision 20243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 17:55:51 +00:00
Reimar Döffinger
aafd659518
Do not initialize ff_cos_* tables again in rdft_init, they are already
...
initialized by ff_fft_init and using different code can result in slightly
different values, in addition it crashes when the tables are hardcoded.
On amd64 this slightly changes qdm2 output.
Originally committed as revision 20237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 11:50:32 +00:00
Reimar Döffinger
16aec74761
Use hardcoded instead of runtime-calculated ff_cos_* tables if
...
--enable-hardcoded-tables was used.
Due to the size, the code for the tables is generated at compile time.
Originally committed as revision 20232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-14 21:41:24 +00:00
Nathan Caldwell
73c6f59830
Move HuffYUV left prediction to dsputil.
...
Patch by Nathan Caldwell, saintdev gmail
Originally committed as revision 20179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 16:06:15 +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
53b572118e
Add some dsputil functions useful for AAC decoder
...
Originally committed as revision 19955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 00:48:41 +00:00
Måns Rullgård
94274b82f6
Allow arch-specific mdct code to request interleaving of cos/sin tables
...
Originally committed as revision 19939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:56:06 +00:00
Måns Rullgård
01b2214758
Merge FFTContext and MDCTContext
...
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Måns Rullgård
68336ea8d4
10l: fix ff_fft_init_arm() prototype
...
Originally committed as revision 19865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 23:14:55 +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
Vitor Sessak
6776061b04
Add two more sizes to ff_sine_windows[] and also pad it with NULLs so
...
that FF_ELEMS(ff_sine_windows[x]) == 1 << x.
Fix issue 1384.
Originally committed as revision 19862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 16:18:16 +00:00
Måns Rullgård
edc0f5dcba
ARM: NEON optimised MDCT
...
Originally committed as revision 19819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:22 +00:00
Måns Rullgård
46c32e2654
Prepare for optimised forward MDCT implementations
...
This adds a function pointer for forward MDCT to FFTContext and
initialises it with the existing C function. ff_calc_mdct() is
changed to an inline function calling the selected version as
done for other fft/mdct functions.
Originally committed as revision 19818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:19 +00:00
Måns Rullgård
648d792042
ARM: NEON optimised FFT and MDCT
...
Vorbis and AC3 ~3x faster.
Parts by Naotoshi Nojiri, naonoj gmail
Originally committed as revision 19806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 08:50:03 +00:00
Reimar Döffinger
c55e5b5fee
ff_sine_windows table contains only constant data, too.
...
Originally committed as revision 19785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:56:10 +00:00
Reimar Döffinger
faca56191c
The ff_cos_tabs table itself is constant, too, so mark it as such.
...
Originally committed as revision 19784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:53:14 +00:00
Måns Rullgård
e78516c6d8
One declaration of mm_flags is enough
...
Originally committed as revision 19740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:55 +00:00
Måns Rullgård
4e36a5b46f
Move declarations of some mmx functions to dsputil_mmx.h
...
Originally committed as revision 19739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:50 +00:00
Måns Rullgård
5b1b014761
Move DECLARE_ALIGNED_8 definition next to DECLARE_ALIGNED_16
...
Originally committed as revision 19738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:46 +00:00
Måns Rullgård
c4d6d318cf
Make DECLARE_ALIGNED_8 align to 8 bytes, never to 16
...
The DECLARE_ALIGNED_8 macro is defined to align to 16 bytes instead
the 8 suggested by the name on some CPUs. None of the uses of this
macro ever need 16-byte alignment, cases which once did having been
changed to always specify 16 bytes explicitly.
Originally committed as revision 19737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-28 23:39:02 +00:00
Vitor Sessak
50e23ae9d3
Mark parameter src of vector_clipf() as const
...
Originally committed as revision 19729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 15:38:59 +00:00
Vitor Sessak
0a68cd876e
SSE optimized vector_clipf(). 10% faster TwinVQ decoding.
...
Originally committed as revision 19728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 14:49:36 +00:00
Jason Garrett-Glaser
4f717c69ed
idct_dc for VC-1/WMV3 decoder; ~11% faster decoding overall.
...
Includes mmx2 asm for the various functions.
Note that the actual idct still does not have an x86 SIMD implemtation.
For wmv3 files using regular idct, the decoder just falls back to simple_idct,
since simple_idct_dc doesn't exist (yet).
Originally committed as revision 19204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 09:00:55 +00:00
Siarhei Siamashka
7d485f165f
Support for getting (i)MDCT output multiplied by a constant scaling factor.
...
Scaling (i)MDCT output has no runtime overhead and can be used to improve
performance of audio codecs. All the changes are only needed in
'ff_mdct_init' function and slow down initialization a bit.
Originally committed as revision 18855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 14:17:08 +00:00
Ramiro Polla
13bd2044d3
mlp: Simplify adressing of state and coeffs arrays for both filters by making
...
the arrays sequential.
Originally committed as revision 18841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 15:34:22 +00:00
Ramiro Polla
bf4f19dc65
mlpdec: Move MLP's filter_channel() to dsputils.
...
Originally committed as revision 18721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-30 12:30:05 +00:00
David Conrad
3992526b3c
Split VC1 loop filter into separate functions for h/v and size
...
Originally committed as revision 18521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:22:17 +00:00
David Conrad
0e58865d6e
Move VC1 loop filter to DSPContext
...
Originally committed as revision 18520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:20:22 +00:00
David Conrad
8013da7364
VC1: add and use avg_no_rnd chroma MC functions
...
Originally committed as revision 18518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 23:56:10 +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
David Conrad
6cecd63005
VC1: Do qpel when needed for both MVs in a B frame
...
Originally committed as revision 18511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 19:26:33 +00:00
Alex Converse
184fcc60b7
Mark src constant in copy_block*().
...
Originally committed as revision 18506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 04:07:35 +00:00
Roman Shaposhnik
3899eb2f65
Making the arrays accomodate an extra intra 8x8 cmp function
...
Originally committed as revision 17446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 00:28:08 +00:00
Aurelien Jacobs
26f3ae828b
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
2009-02-09 23:37:31 +00:00
Loren Merritt
3daa434a40
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
2009-02-08 17:45: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
Alex Converse
6860254044
Add the rdft family of transforms (fft/ifft of an all real sequence) to dsputil.
...
Originally committed as revision 16864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 20:15:48 +00:00
Alex Converse
8f05c995fd
Clean up FFT related comments.
...
Originally committed as revision 16721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-22 19:46:23 +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
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
Diego Biurrun
6a5d31ac25
Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
...
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Benjamin Larsson
336c2ca585
Add size that is needed for the wmapro codec
...
Originally committed as revision 16533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 10:40:05 +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
Michael Niedermayer
6a1846eb4a
Document new idct requirements.
...
Originally committed as revision 16237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 09:34:18 +00:00
Jason Garrett-Glaser
712ca84c21
Move filter_luma_intra into dsputil for later addition of asm.
...
Originally committed as revision 16228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 00:44:51 +00:00
Michael Niedermayer
ac22385931
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
2008-12-18 02:36:48 +00:00
Måns Rullgård
a2fc0f6a6d
ARM: replace "armv4l" with "arm"
...
Originally committed as revision 16179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 00:54:54 +00:00
Loren Merritt
5fecfb7d58
clear_block mmx
...
Originally committed as revision 16045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-10 21:35:17 +00:00
Kostya Shishkov
11c0f9eca1
enable RV40 decoder
...
Originally committed as revision 15968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-01 06:40:36 +00:00
Kostya Shishkov
2d8a081511
RV40 MC functions
...
Originally committed as revision 15967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-01 06:36:22 +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
David Conrad
9971331dfb
Move VP3 loop filter to DSPContext
...
Originally committed as revision 15551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 10:26:17 +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
Måns Rullgård
f1424cfd6d
ARM: set STRIDE_ALIGN and DECLARE_ALIGNED_8 to 16 for NEON
...
Originally committed as revision 14961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 01:59:06 +00:00
Loren Merritt
7fadc32de4
document some dsp alignments
...
Originally committed as revision 14935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 04:03:02 +00:00
Loren Merritt
2272e04aa7
document some dsp alignments
...
Originally committed as revision 14771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-15 00:14:07 +00:00
Robert Swain
69fc4da360
Add declarations for the sine tables used in wma.c (half window sizes: 128,
...
256, 512, 1024 and 2048) to mdct.c. Make them accessible via dsputil.h. Make
wma.c use these shared tables.
Originally committed as revision 14758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 14:40:16 +00:00
Loren Merritt
911e21a306
simd int->float
...
20% faster ac3 if downmixing, 15% if not
Originally committed as revision 14743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:35:40 +00:00
Loren Merritt
ac2e556456
simd downmix
...
13% faster ac3 if downmixing
Originally committed as revision 14742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:33:48 +00:00
Loren Merritt
d46ac5bfde
mdct wrapper function to match fft
...
Originally committed as revision 14703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:38:30 +00:00
Loren Merritt
0a570e826d
remove mdct tmp buffer
...
Originally committed as revision 14702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:36:36 +00:00
Loren Merritt
46803f4f67
optimize imdct_half:
...
remove tmp buffer.
skip fft reinterleave pass, leaving data in a format more convenient for simd.
merge post-rotate with post-reorder.
Originally committed as revision 14700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:33:34 +00:00
Loren Merritt
5d0ddd1a9f
split-radix FFT
...
c is 1.9x faster than previous c (on various x86 cpus), sse is 1.6x faster than previous sse.
Originally committed as revision 14698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:26:58 +00:00
Loren Merritt
8a37920c9e
r14205 broke vorbis float_to_int on ppc
...
Originally committed as revision 14466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-29 14:17:13 +00:00
Michael Niedermayer
4f20b45fbe
Fix h264_loop_filter_strength_mmx2() so it works with PAFF.
...
fixed at least:
CVFI1_Sony_D.jsv
CVFI1_SVA_C.264
MR6_BT_B.h264
Originally committed as revision 14310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 21:53:54 +00:00
Loren Merritt
5eb0f2a425
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
2008-07-16 00:50:12 +00:00
Loren Merritt
b9fa32082c
exploit mdct symmetry
...
2% faster vorbis on conroe, k8. 7% on celeron.
Originally committed as revision 14207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 15:03:58 +00:00
Loren Merritt
f27e1d645e
simplify vorbis windowing
...
Originally committed as revision 14205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:56:01 +00:00
Kostya Shishkov
bb68f8a2b6
Monkey's Audio decoder vector functions work on input with length
...
a multiple of 16. Reflect that fact in the documentation for them.
Originally committed as revision 14148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-10 06:15:13 +00:00
Michael Niedermayer
560fa9bf51
Fix x86-64
...
Originally committed as revision 14103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-07 21:04:29 +00:00
Kostya Shishkov
88c0536a42
Add several vector functions used by Monkey's Audio decoder to dsputil
...
Originally committed as revision 14081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-06 06:06:55 +00:00
Alexander Strange
f67a10cd0c
Define mm_flags/support to be 0 on architectures where they don't exist.
...
Make sure we don't try to set them if that's the case.
This lets dct-test and fft-test build with --disable-mmx on x86, but not yet on ARM.
Originally committed as revision 13957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-24 23:51:17 +00:00
Robert Swain
9146e4d61c
Add generic ff_sine_window_init function and implement in codecs appropriately
...
Originally committed as revision 13888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-22 15:12:27 +00:00
Alexander Strange
0e956ba277
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
2008-04-16 01:34:55 +00:00
Diego Biurrun
2cab640129
typo fixes
...
Originally committed as revision 12428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-12 23:58:46 +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
Aurelien Jacobs
cbcd6c8ca9
move EDGE_WIDTH definition allong with draw_edges where it belongs
...
Originally committed as revision 12322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-05 00:38:14 +00:00
Aurelien Jacobs
288a44fb7a
move ff_emulated_edge_mc() to dsputil
...
Originally committed as revision 12318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 23:10:47 +00:00
Aurelien Jacobs
49c35f16fc
Fix compilation on powerpc.
...
DECLARE_ALIGNED_8 is not defined at that point, but this code is powerpc
only, so it's really equivalent to DECLARE_ALIGNED(16...
Originally committed as revision 12313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 18:35:12 +00:00
Aurelien Jacobs
4c79b95c32
move ff_init_scantable() into dsputil
...
Originally committed as revision 12311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 10:26:56 +00:00
Aurelien Jacobs
5a6a9e78ab
move draw_edges() into dsputil
...
Originally committed as revision 12309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 00:07:41 +00:00
Reimar Döffinger
78d3d94f14
__asm __volatile -> asm volatile, improves code consistency and works
...
(as far as that is possible) with the Sun C compiler.
Originally committed as revision 12188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-24 14:46:22 +00:00
Loren Merritt
4a9ca0a279
simd and unroll png_filter_row
...
cycles per 1000 pixels on core2:
left: 9211->5170
top: 9283->2138
avg: 12215->7611
paeth: 64024->17360
overall rgb png decoding speed: +45%
overall greyscale png decoding speed: +6%
Originally committed as revision 12164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-21 07:10:46 +00:00
Måns Rullgård
5c319d3334
clean up definition of DECLARE_ALIGNED_8 and STRIDE_ALIGN
...
Originally committed as revision 12126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-16 19:18:30 +00:00
Michael Niedermayer
96711ecff9
const src for bswap
...
Originally committed as revision 11732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 13:49:15 +00:00
Robert Swain
3ed546fe52
Add variable alpha and size of half window for Kaiser-Bessel Derived window
...
generation. Hard code Bessel I0 approximation iterations to 50.
See thread for discussion:
[FFmpeg-devel] [PATCH] Move Kaiser-Bessel Derived window to mdct.c
Started on the 2008/01/10
Originally committed as revision 11520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-13 11:02:08 +00:00
Robert Swain
4eb7a735cb
Make the Kaiser-Bessel window generator a common function
...
Patch by Robert Swain, robert d swain a gmail d com
Originally committed as revision 11514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-12 11:11:19 +00:00
Diego Biurrun
9fbd14acb8
Fix typo in macro name: WARPER8_16_SQ --> WRAPPER8_16_SQ.
...
Originally committed as revision 11296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-21 12:38:41 +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
Diego Biurrun
8a43317e66
cosmetics: Fix spacial --> spatial typo in function names.
...
Originally committed as revision 10993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-10 12:24:02 +00:00
Michael Niedermayer
9abc7e0fdc
intrax8 decoder patch by "someone"
...
Originally committed as revision 10971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-09 21:37:48 +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
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
Loren Merritt
6810b93a81
sse2 version of compute_autocorr().
...
4x faster than c (somehow, even though doubles only allow 2x simd).
overal flac encoding: 15-50% faster on core2, 4-11% on k8, 3-13% on p4.
Originally committed as revision 10621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 22:31:18 +00:00
Panagiotis Issaris
9846cbdb13
cosmetics: typos
...
Originally committed as revision 10602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-27 11:29:21 +00:00
Diego Biurrun
8b505fc689
VIS-specific code should be enabled conditional to HAVE_VIS, not ARCH_SPARC.
...
Originally committed as revision 10559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-23 21:59:09 +00:00
Diego Biurrun
a41f4eacd6
Do not wrongly mark Apple gcc workarounds as being specific to Darwin.
...
Originally committed as revision 10239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-26 22:06:40 +00:00
Michael Niedermayer
d593e32983
use 16bit IDWT (a SIMD implementation of it should be >2x faster then with
...
the old 32bit code)
disable mmx/sse2 optimizations as they need a rewrite now
Originally committed as revision 10218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-25 03:00:51 +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
Roman Shaposhnik
905694d96e
* renaming (ST|LD)(16|32|64) -> AV_(R|W)N(16|32|64)
...
Originally committed as revision 10023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 17:01:15 +00:00
Ivan Kalvachev
0ac9a875d4
revert commit 9603
...
Originally committed as revision 9605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-11 23:21:13 +00:00
Ivan Kalvachev
ddeaf723c5
Integrate reference mpeg IDCT into dsputil.
...
Originally committed as revision 9603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-11 22:05:43 +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
Måns Rullgård
a1bee08046
move dsputil_init_foo() out from #ifdef
...
Originally committed as revision 9330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 10:44:46 +00:00
Diego Biurrun
755bfeabcc
misc spelling fixes
...
Originally committed as revision 9289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 09:29:25 +00:00
Alex Beregszaszi
43c7c7c7cf
use DECLARE_ALIGNED from mem.h (which is included through common.h)
...
Originally committed as revision 9015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-13 14:01:15 +00:00
Loren Merritt
1edbfe1994
factor sum_abs_dctelem out of dct_sad, and simd it.
...
sum_abs_dctelem_* alone:
core2: c=186 mmx2=39 sse2=21 ssse3=13 (cycles)
k8: c=163 mmx2=33 sse2=31
p4: c=370 mmx2=60 sse2=60
dct_sad including sum_abs_dctelem_*:
core2: c=405 mmx2=258 sse2=240 ssse3=232
k8: c=624 mmx2=394 sse2=392
p4: c=849 mmx2=556 sse2=556
Originally committed as revision 9001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-12 02:41:25 +00:00