Jason Garrett-Glaser
158e062c95
Avoid useless fill_rectangle in P-frames in VP8
...
In VP8, i4x4 only uses contexts based on neighbors in I-frames.
Originally committed as revision 24415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 06:39:54 +00:00
Jason Garrett-Glaser
7bf254c41d
Optimize partition mv decoding in VP8
...
Originally committed as revision 24414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 06:29:26 +00:00
Jason Garrett-Glaser
c0498b3031
Take shortcuts for mv0 case in VP8 MC
...
Avoid edge emulation -- it isn't needed if there isn't any subpel.
Originally committed as revision 24413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 05:49:09 +00:00
Jason Garrett-Glaser
702e8d3376
Much faster VP8 mv and mode prediction
...
Originally committed as revision 24412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 04:26:41 +00:00
Jason Garrett-Glaser
d229ae2b62
Convert vp56_mv to 16-bit.
...
Saves nothing except a bit of memory/cache now, but will allow future
optimizations.
Originally committed as revision 24411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 03:33:29 +00:00
Jason Garrett-Glaser
d864dee8ab
Add prefetching to VP8 decoder
...
~5% faster overall, probably depends on CPU and resolution.
Originally committed as revision 24410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 03:09:10 +00:00
Ronald S. Bultje
003243c3c2
Fix and enable horizontal >=SSE2 mbedge loopfilter.
...
Originally committed as revision 24409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 01:35:26 +00:00
Loren Merritt
c7b1d9768c
relicense h264 deblock sse2 to lgpl
...
Originally committed as revision 24408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 00:39:49 +00:00
Loren Merritt
532e769701
sync yasm macros from x264
...
Originally committed as revision 24406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 22:45:16 +00:00
Jason Garrett-Glaser
8731dbd890
Eliminate one instruction in VP8 dc_add_sse4
...
Originally committed as revision 24405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 22:41:37 +00:00
Jason Garrett-Glaser
7dd224a42d
Various VP8 x86 deblocking speedups
...
SSSE3 versions, improve SSE2 versions a bit.
SSE2/SSSE3 mbedge h functions are currently broken, so explicitly disable them.
Originally committed as revision 24403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 22:11:03 +00:00
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