Reimar Döffinger
6f2c05f307
Document how the ref_buf is used.
...
Originally committed as revision 24551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 17:11:13 +00:00
Michael Niedermayer
a20df85886
Fix doxy that refers to the wrong variable.
...
Originally committed as revision 24549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 15:54:26 +00:00
Alexander Kojevnikov
49d7ef282d
Show correct bitrate for VBR MP3 files.
...
Patch by Alexander Kojevnikov, alexander kojevnikov com
Originally committed as revision 24539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 10:08:34 +00:00
Stefan Gehrer
de29597680
add Chinese AVS encoding via external library libxavs
...
Originally committed as revision 24533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 07:18:36 +00:00
Stefano Sabatini
126b638ea0
Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
...
in favor of the newly added corresponding functions
av_parse_video_size() and av_parse_video_rate() defined in
libavcore/parseutils.h.
This change also adds a linking-time dependency of libavcodec and of
libavfilter on libavcore.
Originally committed as revision 24518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 23:12:28 +00:00
Ronald S. Bultje
ab4d031889
Use pmaddubsw for the mbedge_filter (>=ssse3), 6-10 cycles faster.
...
Originally committed as revision 24514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 21:18:19 +00:00
Jason Garrett-Glaser
e25dee602f
VP8: Much faster SSE2 MC
...
5-10% faster or more on Phenom, Athlon 64, and some others.
Helps some on pre-SSSE3 Intel chips as well, but not as much.
Originally committed as revision 24513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 19:34:00 +00:00
S.N. Hemanth Meenakshisundaram
9dd9d67bd0
Define static functions fill_image_linesize() and
...
fill_image_data_ptr(). ff_fill_linesize() and ff_fill_pointer() now wrap
these functions.
The new functions are more generic, and are going to be exported in a
future patch.
Patch by S.N. Hemanth Meenakshisundaram smeenaks # ucsd § edu.
Originally committed as revision 24512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 14:30:47 +00:00
Ronald S. Bultje
48adb7e7a4
Enable no-loop memory/register saving for ssse3/sse4 also.
...
Originally committed as revision 24511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 14:07:57 +00:00
Ronald S. Bultje
2a180c69ea
Save a register (or regsize of stackspace for x86-32) for the no-loop
...
mbedge loopfilter functions, by re-using space that holds a variable
that we no longer need.
Originally committed as revision 24510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 14:00:15 +00:00
Ronald S. Bultje
bcd4aa6498
Use nested ifs instead of &&, which appears to not work with %ifidn (i.e. this
...
construct was always enabled, even for <ssse3 versions).
Originally committed as revision 24509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 13:56:51 +00:00
Axel Holzinger
0b2c75cb68
Rename pow variable to pwr.
...
Patch by Axel Holzinger <aholzinger gmx de>.
Originally committed as revision 24508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 13:52:49 +00:00
Ronald S. Bultje
2208053bd3
Split pextrw macro-spaghetti into several opt-specific macros, this will make
...
future new optimizations (imagine a sse5) much easier. Also fix a bug where
we used the direction (%2) rather than optimization (%1) to enable this, which
means it wasn't ever actually used...
Originally committed as revision 24507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 13:50:59 +00:00
Jason Garrett-Glaser
fca05ea8a0
VP8: add missing free
...
Fixes a tiny memory leak.
Originally committed as revision 24504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 07:10:30 +00:00
Carl Eugen Hoyos
28e241de5d
Fix r24445: Instead of needlessly initialising a variable, silence the warning.
...
Originally committed as revision 24498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 14:49:45 +00:00
Carl Eugen Hoyos
b9542223a3
Only 4-bit ADPCM IMA WAV files are supported.
...
Originally committed as revision 24493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 14:33:16 +00:00
Ronald S. Bultje
6de5b7c6b8
Fix obvious bug in assignment. Somehow, the test vectors don't test this...
...
Originally committed as revision 24489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 02:42:40 +00:00
Aurelien Jacobs
ba2c508d0c
add SubRip muxer and demuxer
...
Originally committed as revision 24488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 22:50:12 +00:00
Ronald S. Bultje
e3f7bf774c
Fix SPLATB_REG mess. Used to be a if/elseif/elseif/elseif spaghetti, so this
...
splits it into small optimization-specific macros which are selected for each
DSP function. The advantage of this approach is that the sse4 functions now
use the ssse3 codepath also without needing an explicit sse4 codepath.
Originally committed as revision 24487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 19:33:05 +00:00
Alex Converse
63e1278d88
aacenc: TLS: Save maximum values for each swb in a table.
...
This gives an almost 20% speedup.
Originally committed as revision 24484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 17:11:51 +00:00
Alex Converse
031d5cea04
10l: Remove some commented out code that slipped in.
...
Originally committed as revision 24483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 17:01:50 +00:00
Alex Converse
fe461767e6
aacenc: TLS: Try to preserve some energy in each non-zero band.
...
Reduce scalefactors in non-zero bands that underflow by twice as much as those
in bands that just fail to hit psy targets.
Originally committed as revision 24482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 16:36:01 +00:00
Reimar Döffinger
edac49daf5
Use "const" qualifier for pointers that point to input data of
...
audio encoders.
This is purely for clarity/documentation purposes.
Originally committed as revision 24481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 13:59:49 +00:00
Alex Converse
c226fc5bfb
aacenc: Prevent premature termination of the two loop search.
...
Originally committed as revision 24476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 04:23:26 +00:00
Alex Converse
81824fe059
aacdec: Only load and write each predictor variable once.
...
This is slightly faster and opens the door for further optimization.
Originally committed as revision 24475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:57:08 +00:00
Alex Converse
70c99adb48
aacdec: 4% faster main profile decoding.
...
Originally committed as revision 24474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:41:47 +00:00
Alex Converse
51ffd3a62f
aacenc: Favor log2f() and sqrtf() over log2() and sqrt().
...
Originally committed as revision 24473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:10:59 +00:00
Alex Converse
04d72abf17
aacenc: Factorize some scalefactor utilities.
...
Originally committed as revision 24472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 22:37:42 +00:00
Eli Friedman
3611e7a309
Inline asm for VP56 arith coder
...
This is a lot more reliable to get cmov rather than trying to trick gcc into
generating it, useful since it's 2% faster overall.
Patch by Eli Friedman <eli.friedman at gmail>
Originally committed as revision 24471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:30 +00:00
David Conrad
ca18a478e3
VP8: Inline traversing vp8_small_mvtree
...
Much faster read_mv_component, slightly faster overall
Originally committed as revision 24470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:25 +00:00
David Conrad
7697cdcf95
VP8: Use vp56_rac_get_prob_branchy when the bit is only used by an if()
...
Originally committed as revision 24469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:20 +00:00
David Conrad
fe1b5d974a
Decode DCT tokens by branching to a different code path for each branch
...
on the huffman tree, instead of traversing the tree in a while loop.
Based on the similar optimization in libvpx's detokenize.c
10% faster at normal bitrates, and 30% faster for high-bitrate intra-only
Originally committed as revision 24468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:17 +00:00
David Conrad
5474ec2ac8
Move renormalization of the VP56 arith decoder to before decoding a bit
...
No difference at the moment, but allows a future branchy variant
of vp56_rac_get_prob to be significantly faster
Originally committed as revision 24467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:14 +00:00
David Conrad
b3d755ec8b
Split renorm of vp56 arith decoder to its own function
...
Originally committed as revision 24466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:08 +00:00
David Conrad
24675b8093
vp56's arith decoder's code_word is only 16 bits, no need for unsigned long
...
Originally committed as revision 24465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:01 +00:00
Jason Garrett-Glaser
13a1304bb3
Add myself to VP8 copyright and maintainers.
...
Also add Ronald to maintainers.
Originally committed as revision 24464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:42:35 +00:00
Jason Garrett-Glaser
414ac27d8f
VP8: always_inline some things to force gcc to do the right thing
...
Mostly seems to help in the MC code, which gets a hundred cycles faster.
Originally committed as revision 24463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:36:21 +00:00
Jason Garrett-Glaser
06d50ca804
VP8: use AV_RL24 instead of defining a new RL24.
...
Originally committed as revision 24462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:17:18 +00:00
Jason Garrett-Glaser
9fddd14a8e
VP8: Slightly faster MV selection
...
Don't clamp best mv unless it's actually used.
Originally committed as revision 24461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 19:06:22 +00:00
Jason Garrett-Glaser
14767f35ed
VP8: use AV_ZERO32 instead of AV_WN32A where relevant
...
Originally committed as revision 24460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 10:42:19 +00:00
Jason Garrett-Glaser
09959ec46e
VP8: eliminate redundant code in r24458
...
Originally committed as revision 24459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 10:34:21 +00:00
Jason Garrett-Glaser
a71abb714e
VP8: shave a few clocks off check_intra_pred_mode
...
Originally committed as revision 24458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 10:24:38 +00:00
Jason Garrett-Glaser
0087aa47d0
VP8: fix broken sign bias code in MV pred
...
Apparently the official conformance test vectors don't test this feature,
even though libvpx uses it.
Originally committed as revision 24456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 06:41:35 +00:00
Jason Garrett-Glaser
3ae079a3c8
VP8: optimize DC-only chroma case in the same way as luma.
...
Add MMX idct_dc_add4uv function for this case.
~40% faster chroma idct.
Originally committed as revision 24455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 06:02:52 +00:00
Jason Garrett-Glaser
3df56f4118
VP8: Clean up some variable shadowing.
...
Originally committed as revision 24454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 03:44:37 +00:00
Jason Garrett-Glaser
51c9156438
VP8 asm: cosmetics (spacing)
...
Originally committed as revision 24453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 03:02:56 +00:00
Jason Garrett-Glaser
8a467b2d44
VP8: 30% faster idct_mb
...
Take shortcuts based on statistically common situations.
Add 4-at-a-time idct_dc function (mmx and sse2) since rows of 4 DC-only DCT
blocks are common.
TODO: tie this more directly into the MB mode, since the DC-level transform is
only used for non-splitmv blocks?
Originally committed as revision 24452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 02:58:27 +00:00
Jason Garrett-Glaser
ef38842f0b
VP8: smarter prefetching
...
Don't prefetch reference frames that were used less than 1/32th of the time so
far in the frame.
This helps speed up to ~2% on videos that, in many frames, make near-zero
(but not entirely zero) use of golden and/or alt-refs.
This is a very common property of videos encoded by libvpx.
Originally committed as revision 24451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 01:59:56 +00:00
Baptiste Coudurier
9479415e4e
In h264 parser, return immediately if buf_size is 0, avoid printing
...
erroneous message for last frame.
Originally committed as revision 24450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 00:34:09 +00:00
Jason Garrett-Glaser
c25c776708
VP8: clear DCT blocks in iDCT instead of using clear_blocks.
...
~0.3% faster overall.
Originally committed as revision 24448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 00:07:16 +00:00
Jason Garrett-Glaser
b74f70d646
VP8: avoid a memset for non-i4x4 blocks with no coefficients
...
Originally committed as revision 24447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 00:05:44 +00:00
Jason Garrett-Glaser
145d31865d
Get rid of more unnecessary dereferences in VP8 deblocking
...
Originally committed as revision 24446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 23:11:40 +00:00
Jason Garrett-Glaser
867215336d
Shut up an uninitialized variable GCC warning in VP8.
...
Originally committed as revision 24445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 23:04:51 +00:00
Jason Garrett-Glaser
c4211046d2
Smarter VP8 prefetching
...
Prefetch all refs (including altref), but only if they've been used so far this
frame.
~2.5% faster overall.
TODO: Do something even smarter, like using how often each ref has been used
so far, so that a couple blocks of a rarely-used ref don't force us to prefetch
it.
Originally committed as revision 24444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 23:03:08 +00:00
Jason Garrett-Glaser
8cfae560ad
Fix stupid bug in VP8 prefetching code
...
Originally committed as revision 24443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 22:15:43 +00:00
Jason Garrett-Glaser
2a38c2e99a
Eliminate a LUT in escape decoding in VP8 decode_block_coeffs
...
Originally committed as revision 24441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 22:08:09 +00:00
Jason Garrett-Glaser
d292c3455e
Eliminate some repeated dereferences in VP8 inter_predict
...
Originally committed as revision 24438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 21:05:30 +00:00
Ronald S. Bultje
dc5eec8085
Use pextrw for SSE4 mbedge filter result writing, speedup 5-10cycles on
...
CPUs supporting it.
Originally committed as revision 24437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 19:59:34 +00:00
James Zern
7eb185e0a3
Map settings for 2-pass libvpx encoding.
...
Patch by James Zern, jzern at google
Originally committed as revision 24430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 12:35:32 +00:00
Jason Garrett-Glaser
b946111fde
Eliminate a pointless memset for intra blocks in P-frames in VP8
...
Originally committed as revision 24429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 12:15:29 +00:00
Jason Garrett-Glaser
b9a7186bf4
VP8: Don't store segment in macroblock struct anymore.
...
Not necessary with the previous patch.
Originally committed as revision 24427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 11:55:55 +00:00
Jason Garrett-Glaser
c55e0d34ba
Convert VP8 macroblock structures to a ring buffer.
...
Uses a slightly nonintuitive ring buffer size of (width+height*2) to simplify
addressing logic.
Also split out the segmentation map to a separate structure, necessary to
implement the ring buffer.
Originally committed as revision 24426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 11:45:18 +00:00
Jason Garrett-Glaser
968570d65f
Calculate deblock strength per-MB instead of per-row
...
Gives better cache locality, since the VP8Macroblock structs are still in cache.
Inspired by the way x264 does it.
Originally committed as revision 24417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 07:24:22 +00:00
Jason Garrett-Glaser
d1c58fce20
Avoid tracking i4x4 modes in P-frames in VP8
...
As in the previous commit, they aren't used for context selection, so it saves
memory this way.
Originally committed as revision 24416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 07:04:45 +00:00
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
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
Alex Converse
886385afd6
aacenc: psy_3gpp_init(): Calculate barks on demand.
...
Originally committed as revision 24230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 04:10:31 +00:00
Måns Rullgård
e3a28ea5a9
avfft: remove useless parens
...
Originally committed as revision 24229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-13 18:01:50 +00:00
Måns Rullgård
943ebf2c4e
100l: really fix fft external API init functions
...
Originally committed as revision 24228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-13 06:54:31 +00:00
Alex Converse
afa4248e4e
aacsbr: Eliminate double precision arithmetic.
...
Originally committed as revision 24227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-13 00:49:30 +00:00
Alex Converse
1ac6da3988
aacdec: Eliminate the use of doubles in the MAIN predictor.
...
Originally committed as revision 24226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:36:41 +00:00
Alex Converse
531cfe6e85
aacdec: Eliminate the use of doubles in decode_cce().
...
Originally committed as revision 24225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:36:10 +00:00
Alex Converse
93c6ff6c8c
aacdec: Use a LUT to generate CCE scale.
...
Originally committed as revision 24224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:35:43 +00:00
James Zern
f07c9895e0
Do not map video quantizer scale (from 1-51 to 0-63) for libvpx anymore.
...
Patch by James Zern, jzern google
Originally committed as revision 24223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:23:03 +00:00
Måns Rullgård
b310844756
avfft: make init functions return NULL on failure as intended
...
Originally committed as revision 24219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 19:54:16 +00:00
Diego Biurrun
862be470f3
Use correct length modifier for size comparison in printf expression, fixes:
...
libavcodec/wmavoice.c:1906: warning: format `%lu' expects type `long unsigned int', but argument 5 has type `unsigned int'
approved by Ronald and Mans on IRC
Originally committed as revision 24218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 19:36:35 +00:00
Alex Converse
3cac899af9
Split the ADTS header decoder off of the ADTS parser.
...
The AAC decoder and ADTS-to-ASC BSF both require the header decoder
but not full parsing capabilities.
Originally committed as revision 24217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 18:52:03 +00:00
Alex Converse
7167bc94cb
aacdec: Remove the warning about non-meaningful window transitions.
...
It created false positives on seeks and where the first frame is STOP or SHORT.
It failed to warn in illegal SHORT->LONG transitions. In general it created
much confusion and many junk bug reports from the users.
Originally committed as revision 24214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 18:24:22 +00:00
Christophe Gisquet
f2401c214d
Use math constant instead of hardcoded rounded value for sqrt(0.5).
...
Patch by Christophe.Gisquet (gmail)
Originally committed as revision 24213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 12:32:24 +00:00
Nick Brereton
b12b16c5d3
Fix side channels when XCh extension is present.
...
Patch by Nick Brereton $name AT n$surname DOT net
Originally committed as revision 24210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 09:10:53 +00:00
Nick Brereton
d0a1885018
Move XCH parameters into context structure.
...
Patch by Nick Brereton $name AT n$surname DOT net
Originally committed as revision 24209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 09:00:17 +00:00
David Conrad
faa26db28b
MMX/SSE VC1 loop filter
...
Originally committed as revision 24208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:53:01 +00:00
David Conrad
7af8fbd348
Make ff_pw_4 128 bits
...
Originally committed as revision 24207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:55 +00:00
David Conrad
fca58a815a
vc1: Fix ordering of loop filter for I/B frames
...
All horizontal edges must be filtered before all vertical edges
Originally committed as revision 24206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:51 +00:00
David Conrad
3683b7e570
vc1: ff_draw_horiz_band needs a one row delay when the loop filter is active
...
Originally committed as revision 24205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:47 +00:00
James Zern
83a68cd64f
Set libvpx encoding profile to libavcodec's profile.
...
Patch by James Zern, jzern google
Originally committed as revision 24201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 17:46:44 +00:00
Justin Ruggles
23940f1405
Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
...
Add AVLPCType enum.
Deprecate AVCodecContext.use_lpc.
Originally committed as revision 24199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 16:56:20 +00:00
Kostya Shishkov
231745781f
Do not try to decode less than one frame of data in TrueSpeech decoder.
...
This should solve issue 2085.
Originally committed as revision 24197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 14:50:20 +00:00
Reimar Döffinger
8b834ac5d9
100l, change avsubtitle_free to the actually tested and working version.
...
Originally committed as revision 24188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:53:39 +00:00
Reimar Döffinger
849ff0c4d1
Set pix_fmt to the correct value for the format the PGS decoder actually uses.
...
Originally committed as revision 24187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:48:04 +00:00
Reimar Döffinger
3174073623
Remove useless casts and memset.
...
Originally committed as revision 24186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:45:42 +00:00