Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
Add missing multiple inclusion guards; clean up #endif comments;
add missing library prefixes; keep guard names consistent.
|
|
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>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
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.
|
|
prob[0] is the only prob array ever accessed, so prob[1] can serve as padding
for prob[0].
|
|
|