summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_thread.c
AgeCommit message (Collapse)Author
2014-01-31vp9 decoder: row-based multi-threaded loopfilterYunqing Wang
Implemented parallel loopfiltering, which uses existing tile- decoding threads. Each thread works on one row, and when that row is loopfiltered, it moves to next unattended row. To ensure the correct filtering order, threads are synchronized and one superblock is filtered only if the superblocks it depends on are filtered already. To reduce synchronization overhead and speed up the decoder, we use nsync > 1 for high resolution. Performance tests: 1. on desktop: 8-tile 4k video using 8 threads, speedup: 70% - 80% 4-tile HD video using 4 threads, speedup: ~35% 2. on mobile device(Nexus 7): 4-tile 1080p video using 4 threads, speedup: 18% - 25% 4-tile 1080p video using 2 threads, speedup: 10% - 15% Change-Id: If54b4a11960dd706c22d5ad145ad94156031f36a
2013-10-17vp9_thread: add vp9_worker_execute()James Zern
cherry-picked from: commit 988b70844e03efcfcc075a9bc25d846670494f36 Author: Pascal Massimino <pascal.massimino@gmail.com> Date: Fri Aug 2 11:15:16 2013 -0700 add WebPWorkerExecute() for convenient bypass This is mainly for re-using the worker structs without using the thread. Change-Id: I8e1be29e53874ef425b15c192fb68036b4c0a359 Original source: http://git.chromium.org/webm/libwebp.git 100644 blob c0d318aee628fdf9ba4876451a28aa978f1066b8 src/utils/thread.c 100644 blob c2b92c9fe353f8e514f78922f3d237204a9cbc66 src/utils/thread.h Change-Id: I13fe92b1e94062bb99fdeeb7cb0b4b0575d27793
2013-10-05NOLINT issue with headers that's hard to avoid do to config.h issueJim Bankoski
Change-Id: Ibd0b3414cdea05bc2fd6d0aa35808e44b3db8d96
2013-08-05vp9/decoder: add thread workerJames Zern
vp9/decoder/vp9_thread.[hc] Original source: http://git.chromium.org/webm/libwebp.git 100644 blob b1615d0fb8d311666b2fa4561076c62d72c2e3ff src/utils/thread.c 100644 blob 13a61a4c84194c3374080cbf03d881d3cd6af40d src/utils/thread.h Local modifications: - s/WebP/VP9/g - camelcase functions -> lower with _'s Change-Id: Ib6932640ee34f8b4782c6fbd15864a59d5d4c5fe