summaryrefslogtreecommitdiff
path: root/libavcodec/vp8.h
Commit message (Collapse)AuthorAge
* vp8: pack struct VP8ThreadData more efficientlyMans Rullgard2012-08-02
| | | | | | | | Reordering the members in this struct reduces the holes required to maintain alignment. With this order, the only remaining, and unavoidable, hole is 3 bytes following left_nnz. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp8: Enclose pthread function calls in ifdefsMartin Storsjö2012-07-15
| | | | | | This fixes building with threads disabled. Signed-off-by: Martin Storsjö <martin@martin.st>
* vp8: Include the thread headers before using the pthread typesMartin Storsjö2012-07-14
| | | | | | | This was unnoticed on linux, since stdlib.h apparently includes files declaring the pthread_mutex_t and pthread_cond_t types. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* vp8: implement sliced threadingDaniel Kang2012-07-14
| | | | | | | | | | | | Testing gives 25-30% gain on HD clips with two threads and up to 50% gain with eight threads. Sliced threading uses more memory than single or frame threading. Frame threading and single threading keep the previous memory layout. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vp8: move data from VP8Context->VP8MacroblockDaniel Kang2012-07-14
| | | | | | In preparation for sliced threading. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* doxygen: Do not include license boilerplates in Doxygen comment blocks.Diego Biurrun2012-02-06
|
* vp8: fix up handling of segmentation_maps in reference frames.Ronald S. Bultje2011-10-21
| | | | | | | | | Associate segmentation_map[] with reference frame, rather than decoding instance. This fixes cases where the map would be free()'ed on e.g. a size change in one thread, whereas the other thread was still accessing it. Also, it fixes cases where threads overwrite data that is still being referenced by the previous thread, who thinks that it's part of the frame previously decoded by the next thread.
* multiple inclusion guard cleanupDiego Biurrun2011-05-21
| | | | | Add missing multiple inclusion guards; clean up #endif comments; add missing library prefixes; keep guard names consistent.
* vp8: frame-multithreading.Ronald S. Bultje2011-05-02
| | | | | | | | | | | | | | | | | | | | | | Tested on a Mac Pro, 2 CPUs, 2 cores each, OSX 10.6.6: time ./ffmpeg -v 0 -vsync 0 -threads [1234] -i \ ~/Downloads/sintel_trailer_1080p_vp8_vorbis.webm \ -f null -vcodec rawvideo -an - 1: 0m14.630s (89.9 fps) 2: 0m8.056s (163.2 fps) 3: 0m5.882s (223.6 fps) 4: 0m4.952s (265.6 fps) time ./ffmpeg -v 0 -vsync 0 -threads [1234] -i \ ~/Downloads/Elephants_Dream-720p-Stereo.webm \ -f null -vcodec rawvideo -an - 1: 1m12.962s (215.1 fps) 2: 0m44.682s (351.2 fps) 3: 0m31.183s (503.2 fps) 4: 0m25.284s (620.6 fps) Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* VP8: optimize VP8Context struct orderingJason Garrett-Glaser2011-03-12
| | | | | Shaves at least 3KB off code size on x86, should improve cache utilization. This would probably be useful to do for other decoders/encoders as well.
* VP8: token probs doesn't need paddingJason Garrett-Glaser2011-03-12
| | | | | prob[0] is the only prob array ever accessed, so prob[1] can serve as padding for prob[0].
* VP8: split out declarations to new headerJason Garrett-Glaser2011-02-17