History

First modification of multi-thread decoder

This is the first modification of VP8 multi-thread decoder, which uses same threads to decode macroblocks and then do loopfiltering for each frame. Inspired by Rob Clark, synchronization was done on every 8 macroblocks instead of every macroblock to reduce lock contention. Comparing with the original code, this implementation gave about 15%- 20% performance gain while decoding my test clips on a Core2 Quad platform (Linux). The work is not done yet. Test on other platforms are needed.

Yunqing Wang committed 16 years ago

Commit ba2e1071 parent 618c7d24 files · +532 −241Browse files

Showing the changes to vp8/decoder/decoderthreading.h (1 of 4 files). Show all

Unified · Split

vp8/decoder/decoderthreading.h+1−0
@@ -18,6 +18,7 @@ · 17 unmodified lines
1818
1919 extern void vp8_mtdecode_mb_rows(VP8D_COMP *pbi,
2020 MACROBLOCKD *xd);
21+extern void vp8_mt_loop_filter_frame(VP8D_COMP *pbi);
2122 extern void vp8_stop_lfthread(VP8D_COMP *pbi);
2223 extern void vp8_start_lfthread(VP8D_COMP *pbi);
2324 extern void vp8_decoder_remove_threads(VP8D_COMP *pbi);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t