summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()Stefano Sabatini2010-07-26
| | | | | | | | | | | 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
* Use pmaddubsw for the mbedge_filter (>=ssse3), 6-10 cycles faster.Ronald S. Bultje2010-07-26
| | | | Originally committed as revision 24514 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: Much faster SSE2 MCJason Garrett-Glaser2010-07-26
| | | | | | | 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
* Define static functions fill_image_linesize() andS.N. Hemanth Meenakshisundaram2010-07-26
| | | | | | | | | | | | 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
* Enable no-loop memory/register saving for ssse3/sse4 also.Ronald S. Bultje2010-07-26
| | | | Originally committed as revision 24511 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Save a register (or regsize of stackspace for x86-32) for the no-loopRonald S. Bultje2010-07-26
| | | | | | | 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
* Use nested ifs instead of &&, which appears to not work with %ifidn (i.e. thisRonald S. Bultje2010-07-26
| | | | | | construct was always enabled, even for <ssse3 versions). Originally committed as revision 24509 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename pow variable to pwr.Axel Holzinger2010-07-26
| | | | | | Patch by Axel Holzinger <aholzinger gmx de>. Originally committed as revision 24508 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split pextrw macro-spaghetti into several opt-specific macros, this will makeRonald S. Bultje2010-07-26
| | | | | | | | 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
* VP8: add missing freeJason Garrett-Glaser2010-07-26
| | | | | | Fixes a tiny memory leak. Originally committed as revision 24504 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix r24445: Instead of needlessly initialising a variable, silence the warning.Carl Eugen Hoyos2010-07-25
| | | | Originally committed as revision 24498 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Only 4-bit ADPCM IMA WAV files are supported.Carl Eugen Hoyos2010-07-25
| | | | Originally committed as revision 24493 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix obvious bug in assignment. Somehow, the test vectors don't test this...Ronald S. Bultje2010-07-25
| | | | Originally committed as revision 24489 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add SubRip muxer and demuxerAurelien Jacobs2010-07-24
| | | | Originally committed as revision 24488 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix SPLATB_REG mess. Used to be a if/elseif/elseif/elseif spaghetti, so thisRonald S. Bultje2010-07-24
| | | | | | | | 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
* aacenc: TLS: Save maximum values for each swb in a table.Alex Converse2010-07-24
| | | | | | This gives an almost 20% speedup. Originally committed as revision 24484 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10l: Remove some commented out code that slipped in.Alex Converse2010-07-24
| | | | Originally committed as revision 24483 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: TLS: Try to preserve some energy in each non-zero band.Alex Converse2010-07-24
| | | | | | | 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
* Use "const" qualifier for pointers that point to input data ofReimar Döffinger2010-07-24
| | | | | | | audio encoders. This is purely for clarity/documentation purposes. Originally committed as revision 24481 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Prevent premature termination of the two loop search.Alex Converse2010-07-24
| | | | Originally committed as revision 24476 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacdec: Only load and write each predictor variable once.Alex Converse2010-07-24
| | | | | | This is slightly faster and opens the door for further optimization. Originally committed as revision 24475 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacdec: 4% faster main profile decoding.Alex Converse2010-07-24
| | | | Originally committed as revision 24474 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Favor log2f() and sqrtf() over log2() and sqrt().Alex Converse2010-07-24
| | | | Originally committed as revision 24473 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Factorize some scalefactor utilities.Alex Converse2010-07-23
| | | | Originally committed as revision 24472 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Inline asm for VP56 arith coderEli Friedman2010-07-23
| | | | | | | | | 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
* VP8: Inline traversing vp8_small_mvtreeDavid Conrad2010-07-23
| | | | | | Much faster read_mv_component, slightly faster overall Originally committed as revision 24470 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: Use vp56_rac_get_prob_branchy when the bit is only used by an if()David Conrad2010-07-23
| | | | Originally committed as revision 24469 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Decode DCT tokens by branching to a different code path for each branchDavid Conrad2010-07-23
| | | | | | | | | | 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
* Move renormalization of the VP56 arith decoder to before decoding a bitDavid Conrad2010-07-23
| | | | | | | 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
* Split renorm of vp56 arith decoder to its own functionDavid Conrad2010-07-23
| | | | Originally committed as revision 24466 to svn://svn.ffmpeg.org/ffmpeg/trunk
* vp56's arith decoder's code_word is only 16 bits, no need for unsigned longDavid Conrad2010-07-23
| | | | Originally committed as revision 24465 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add myself to VP8 copyright and maintainers.Jason Garrett-Glaser2010-07-23
| | | | | | Also add Ronald to maintainers. Originally committed as revision 24464 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: always_inline some things to force gcc to do the right thingJason Garrett-Glaser2010-07-23
| | | | | | 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
* VP8: use AV_RL24 instead of defining a new RL24.Jason Garrett-Glaser2010-07-23
| | | | Originally committed as revision 24462 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: Slightly faster MV selectionJason Garrett-Glaser2010-07-23
| | | | | | Don't clamp best mv unless it's actually used. Originally committed as revision 24461 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: use AV_ZERO32 instead of AV_WN32A where relevantJason Garrett-Glaser2010-07-23
| | | | Originally committed as revision 24460 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: eliminate redundant code in r24458Jason Garrett-Glaser2010-07-23
| | | | Originally committed as revision 24459 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: shave a few clocks off check_intra_pred_modeJason Garrett-Glaser2010-07-23
| | | | Originally committed as revision 24458 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: fix broken sign bias code in MV predJason Garrett-Glaser2010-07-23
| | | | | | | 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
* VP8: optimize DC-only chroma case in the same way as luma.Jason Garrett-Glaser2010-07-23
| | | | | | | 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
* VP8: Clean up some variable shadowing.Jason Garrett-Glaser2010-07-23
| | | | Originally committed as revision 24454 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8 asm: cosmetics (spacing)Jason Garrett-Glaser2010-07-23
| | | | Originally committed as revision 24453 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: 30% faster idct_mbJason Garrett-Glaser2010-07-23
| | | | | | | | | | 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
* VP8: smarter prefetchingJason Garrett-Glaser2010-07-23
| | | | | | | | | | 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
* In h264 parser, return immediately if buf_size is 0, avoid printingBaptiste Coudurier2010-07-23
| | | | | | erroneous message for last frame. Originally committed as revision 24450 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: clear DCT blocks in iDCT instead of using clear_blocks.Jason Garrett-Glaser2010-07-23
| | | | | | ~0.3% faster overall. Originally committed as revision 24448 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: avoid a memset for non-i4x4 blocks with no coefficientsJason Garrett-Glaser2010-07-23
| | | | Originally committed as revision 24447 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Get rid of more unnecessary dereferences in VP8 deblockingJason Garrett-Glaser2010-07-22
| | | | Originally committed as revision 24446 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Shut up an uninitialized variable GCC warning in VP8.Jason Garrett-Glaser2010-07-22
| | | | Originally committed as revision 24445 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Smarter VP8 prefetchingJason Garrett-Glaser2010-07-22
| | | | | | | | | | | | 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