summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* 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
* Fix stupid bug in VP8 prefetching codeJason Garrett-Glaser2010-07-22
| | | | Originally committed as revision 24443 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Eliminate a LUT in escape decoding in VP8 decode_block_coeffsJason Garrett-Glaser2010-07-22
| | | | Originally committed as revision 24441 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Eliminate some repeated dereferences in VP8 inter_predictJason Garrett-Glaser2010-07-22
| | | | Originally committed as revision 24438 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use pextrw for SSE4 mbedge filter result writing, speedup 5-10cycles onRonald S. Bultje2010-07-22
| | | | | | CPUs supporting it. Originally committed as revision 24437 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Map settings for 2-pass libvpx encoding.James Zern2010-07-22
| | | | | | Patch by James Zern, jzern at google Originally committed as revision 24430 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Eliminate a pointless memset for intra blocks in P-frames in VP8Jason Garrett-Glaser2010-07-22
| | | | Originally committed as revision 24429 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: Don't store segment in macroblock struct anymore.Jason Garrett-Glaser2010-07-22
| | | | | | Not necessary with the previous patch. Originally committed as revision 24427 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Convert VP8 macroblock structures to a ring buffer.Jason Garrett-Glaser2010-07-22
| | | | | | | | | 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
* Calculate deblock strength per-MB instead of per-rowJason Garrett-Glaser2010-07-22
| | | | | | | 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
* Avoid tracking i4x4 modes in P-frames in VP8Jason Garrett-Glaser2010-07-22
| | | | | | | 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
* Avoid useless fill_rectangle in P-frames in VP8Jason Garrett-Glaser2010-07-22
| | | | | | In VP8, i4x4 only uses contexts based on neighbors in I-frames. Originally committed as revision 24415 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Optimize partition mv decoding in VP8Jason Garrett-Glaser2010-07-22
| | | | Originally committed as revision 24414 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Take shortcuts for mv0 case in VP8 MCJason Garrett-Glaser2010-07-22
| | | | | | 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
* Much faster VP8 mv and mode predictionJason Garrett-Glaser2010-07-22
| | | | Originally committed as revision 24412 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Convert vp56_mv to 16-bit.Jason Garrett-Glaser2010-07-22
| | | | | | | 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
* Add prefetching to VP8 decoderJason Garrett-Glaser2010-07-22
| | | | | | ~5% faster overall, probably depends on CPU and resolution. Originally committed as revision 24410 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix and enable horizontal >=SSE2 mbedge loopfilter.Ronald S. Bultje2010-07-22
| | | | Originally committed as revision 24409 to svn://svn.ffmpeg.org/ffmpeg/trunk
* relicense h264 deblock sse2 to lgplLoren Merritt2010-07-22
| | | | Originally committed as revision 24408 to svn://svn.ffmpeg.org/ffmpeg/trunk
* sync yasm macros from x264Loren Merritt2010-07-21
| | | | Originally committed as revision 24406 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Eliminate one instruction in VP8 dc_add_sse4Jason Garrett-Glaser2010-07-21
| | | | Originally committed as revision 24405 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Various VP8 x86 deblocking speedupsJason Garrett-Glaser2010-07-21
| | | | | | | 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
* Make mmx VP8 WHT fasterJason Garrett-Glaser2010-07-21
| | | | | | | 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
* Make ff_inverse stay with libavutil, and optional copy it to libavcodec.Diego Pettenò2010-07-21
| | | | | | | | | | | | | | | | | | | 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
* Add header declarations for mmx/sse constants missing themDavid Conrad2010-07-21
| | | | Originally committed as revision 24381 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move ff_pw_* from vc1dsp_mmx.c to dsputil_mmx.cDavid Conrad2010-07-21
| | | | | | Should fix compilation with icc and should help prevent any future duplicates Originally committed as revision 24380 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8 MBedge loopfilter MMX/MMX2/SSE2 functions for both luma (width=16)Ronald S. Bultje2010-07-20
| | | | | | and chroma (width=8). Originally committed as revision 24378 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Chroma (width=8) inner loopfilter MMX/MMX2/SSE2 for VP8 decoder.Ronald S. Bultje2010-07-20
| | | | Originally committed as revision 24377 to svn://svn.ffmpeg.org/ffmpeg/trunk
* remove an unneeded av_realloc()Pascal Massimino2010-07-20
| | | | Originally committed as revision 24375 to svn://svn.ffmpeg.org/ffmpeg/trunk
* vp8: indentMåns Rullgård2010-07-20
| | | | Originally committed as revision 24368 to svn://svn.ffmpeg.org/ffmpeg/trunk
* vp8: add do { } while(0) around XCHG() macro to avoid confusing if/elseMåns Rullgård2010-07-20
| | | | | | | 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
* Add some braces to silence the warning:Diego Biurrun2010-07-20
| | | | | | libavcodec/vp8.c:892: warning: suggest explicit braces to avoid ambiguous `else' Originally committed as revision 24366 to svn://svn.ffmpeg.org/ffmpeg/trunk