Commit Graph

12086 Commits

Author SHA1 Message Date
Jason Garrett-Glaser
b8b231b5dc Make mmx VP8 WHT faster
Avoid pextrw, since it's slow on many older CPUs.
Now it doesn't require mmxext either.

Originally committed as revision 24397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 20:51:01 +00:00
Diego Pettenò
3fc548df28 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
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
2010-07-21 12:37:37 +00:00
David Conrad
af521abc28 Add header declarations for mmx/sse constants missing them
Originally committed as revision 24381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 10:02:07 +00:00
David Conrad
c7eec58170 Move ff_pw_* from vc1dsp_mmx.c to dsputil_mmx.c
Should fix compilation with icc and should help prevent any future duplicates

Originally committed as revision 24380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 10:02:03 +00:00
Ronald S. Bultje
e9e456d850 VP8 MBedge loopfilter MMX/MMX2/SSE2 functions for both luma (width=16)
and chroma (width=8).

Originally committed as revision 24378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 22:58:56 +00:00
Ronald S. Bultje
268821e76e Chroma (width=8) inner loopfilter MMX/MMX2/SSE2 for VP8 decoder.
Originally committed as revision 24377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 22:04:18 +00:00
Pascal Massimino
fd7242ddbd remove an unneeded av_realloc()
Originally committed as revision 24375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 21:54:46 +00:00
Måns Rullgård
096971e892 vp8: indent
Originally committed as revision 24368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 17:54:28 +00:00
Måns Rullgård
070ce7efad vp8: add do { } while(0) around XCHG() macro to avoid confusing if/else
This is the correct solution to the warning "fixed" in the previous
commit.

Originally committed as revision 24367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 17:54:25 +00:00
Diego Biurrun
153da88dfb Add some braces to silence the warning:
libavcodec/vp8.c:892: warning: suggest explicit braces to avoid ambiguous `else'

Originally committed as revision 24366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 17:45:54 +00:00
Vitor Sessak
a28cccf6d6 Fix memory leak in ATRAC3 decoder
Originally committed as revision 24361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 15:08:54 +00:00
Ronald S. Bultje
c60ed66dbe Revert r24339 (it causes fate failures on x86-64) - I'll figure out what's
wrong with it tomorrow or so, then re-submit.

Originally committed as revision 24341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 23:57:09 +00:00
Ronald S. Bultje
6526976f0c Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
regular MMX code. Examples of this are the Core1 CPU. Instead, set a new flag,
FF_MM_SSE2/3SLOW, which can be checked for particular SSE2/3 functions that
have been checked specifically on such CPUs and are actually faster than
their MMX counterparts.

In addition, use this flag to enable particular VP8 and LPC SSE2 functions
that are faster than their MMX counterparts.

Based on a patch by Loren Merritt <lorenm AT u washington edu>.

Originally committed as revision 24340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 22:38:23 +00:00
Ronald S. Bultje
1878f685c0 Implement chroma (width=8) inner loopfilter MMX/MMX2/SSE2 functions.
Originally committed as revision 24339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 21:53:28 +00:00
Ronald S. Bultje
fb9bdf048c Be more efficient with registers or stack memory. Saves 8/16 bytes stack
for x86-32, or 2 MM registers on x86-64.

Originally committed as revision 24338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 21:45:36 +00:00
Ronald S. Bultje
3facfc99da Change function prototypes for width=8 inner and mbedge loopfilter functions
so that it does both U and V planes at the same time. This will have speed
advantages when using SSE2 (or higher) optimizations, since we can do both
the U and V rows together in a single xmm register.

This also renames filter16 to filter16y and filter8 to filter8uv so that it's
more obvious what each function is used for.

Originally committed as revision 24337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 21:18:04 +00:00
Alex Converse
581a96976b aacenc: Convert if () abort() to assert().
Originally committed as revision 24336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 20:53:58 +00:00
Alex Converse
6d9f1b67e8 Cosmetics: Whitespace
Originally committed as revision 24333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 18:37:45 +00:00
Nathan Caldwell
2bb1d0e77a aacenc: Adjust array offsets for the current channel before calling ff_psy_suggest_window().
Patch by Nathan Caldwell <saintdev@gmail.com>

Originally committed as revision 24332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 18:22:44 +00:00
Nathan Caldwell
0045499dec aacenc: Refactor apply_window_and_mdct() so it no longer takes an offset channel.
Patch by Nathan Caldwell <saintdev@gmail.com>

Originally committed as revision 24331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 18:19:53 +00:00
Peter Ross
07e6384dd8 Add doxygen @file comment block
Originally committed as revision 24326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 11:50:07 +00:00
Loren Merritt
1ee076b1b1 more credits to D. J. Bernstein for fft
Originally committed as revision 24308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:06:42 +00:00
flybird2k@gmail.com
3aee5f6985 Fix memleak when using mp*float decoder.
Patch by flybird2k at gmail

Originally committed as revision 24307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 19:53:24 +00:00
Peter Ross
beaa963cab ASCII/ANSI art decoder
Originally committed as revision 24299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 08:03:35 +00:00
Peter Ross
7199c3a4e2 Add @file documentation tag
Originally committed as revision 24298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 07:52:47 +00:00
Peter Ross
3625999e15 8088flex TMV video decoder now uses ff_draw_pc_font()
Originally committed as revision 24297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 07:46:29 +00:00
Peter Ross
9e5f3dfe25 Add ff_draw_pc_font()
Originally committed as revision 24296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 07:44:38 +00:00
Peter Ross
ddf9dc453f Add ff_vga16_font
Originally committed as revision 24295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 07:42:15 +00:00
Diego Biurrun
0c733da8e2 Fix Doxygen @param command attribute syntax.
The [in] and [out] attributes have to be appended to the @param command.

Originally committed as revision 24283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 10:43:42 +00:00
Ronald S. Bultje
819b2dd2b1 Attempt to fix x86-64 testsuite on fate.
Originally committed as revision 24275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 21:35:30 +00:00
Alex Converse
a2310d1e41 10l: Add a missing const.
Originally committed as revision 24274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 20:28:55 +00:00
Alex Converse
1676b09994 aacenc: Template quantize_and_encode_band_cost().
Originally committed as revision 24273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 20:02:46 +00:00
Ronald S. Bultje
6f323f1251 Remove duplicate define.
Originally committed as revision 24272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 19:54:47 +00:00
Ronald S. Bultje
889b2c26ee Revert 24270, it contained some stuff that shouldn't have been in there.
Originally committed as revision 24271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 19:54:25 +00:00
Ronald S. Bultje
2356a7834b Remove duplicate define.
Originally committed as revision 24270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 19:42:32 +00:00
Ronald S. Bultje
ede1b9665a Give x86 r%d registers names, this will simplify implementation of the chroma
inner loopfilter, and it also allows us to save one register on x86-64/sse2.

Originally committed as revision 24269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 19:38:10 +00:00
Ronald S. Bultje
526e831a46 Change return statement, the REP_RET is a mistake since the else case (x86-64,
sse2) doesn't actually loop, so REP_RET isn't necessary.

Originally committed as revision 24268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 18:29:14 +00:00
Vitor Sessak
66b84e4ab2 Make Intel Music Coder output SAMPLE_FMT_FLT
Originally committed as revision 24267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 16:50:56 +00:00
Peter Ross
a5b588bcad Use designated initialisers for pcm codec struct
Originally committed as revision 24264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 13:02:48 +00:00
David Conrad
9ac831c2c0 vp8: Save mb border needed for intra prediction so that loop filter can run
immediately after a mb row is decoded

Originally committed as revision 24252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 07:20:35 +00:00
David Conrad
b6c420ce8f vp8: Check for malloc failure
Originally committed as revision 24251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 07:20:31 +00:00
Ronald S. Bultje
a711eb4829 VP8 H/V inner loopfilter MMX/MMXEXT/SSE2 optimizations.
Originally committed as revision 24250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 23:02:34 +00:00
Måns Rullgård
751484372d ARM: NEON H264 chroma loop filter 3 cycles faster
Originally committed as revision 24249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 21:59:27 +00:00
Måns Rullgård
8c55333c99 ARM: remove two insns from NEON chroma loop filter
Originally committed as revision 24243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 06:45:11 +00:00
Diego Biurrun
4563de772c Restore mistakenly removed [in]/[out] Doxygen parameter attributes.
Originally committed as revision 24241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 21:22:06 +00:00
Reimar Döffinger
b834becdae Pass the composition and ancillary ID for DVB subtitles via extradata instead
of sub_id, this allows detecting when that information is not available and
just decode everything.
In addition extradata is required for many codecs and thus in contrast to
sub_id generally already passed on by any programs using libav*.
Also ask for a sample if we encounter a stream with multiple/changing IDs.

Originally committed as revision 24238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 17:28:40 +00:00
Thilo Borgmann
bd7d08e27e Remove incomplete Doxygen for static decode_frame functions.
These functions are not documented for other decoders and
should be obvious enough even without Doxygen.
patch by Thilo Borgmann, thilo.borgmann googlemail com

Originally committed as revision 24237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 13:12:24 +00:00
Alex Converse
49d3aab764 aacenc: psy_3gpp_init(): Fix line_to_frequency for short windows.
Originally committed as revision 24233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 04:10:52 +00:00
Alex Converse
cecaf7d71a aacenc: aac_psy_init(): Factorize line_to_frequency.
Originally committed as revision 24232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 04:10:47 +00:00
Alex Converse
d7194e3b73 aacenc: psy_3gpp_init(): Fix ath for the first line in each sfb.
Fix the MDCT line to frequency calculation for the first line in each sfb.
Use this value to calculate ATH.

Originally committed as revision 24231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 04:10:41 +00:00