diff options
author | Attila Nagy <attilanagy@google.com> | 2011-01-26 10:29:46 +0200 |
---|---|---|
committer | Attila Nagy <attilanagy@google.com> | 2011-02-01 12:17:58 +0200 |
commit | 385c2a76d151245568b42b3a4efd69fe405a2d01 (patch) | |
tree | 4ef8d66ff55d14a24ddfd013fcc12ad7247c5607 /vp8/encoder/onyx_int.h | |
parent | e8e09d33df6d9ea0f93307fddfcfa402198b09cc (diff) | |
download | libvpx-385c2a76d151245568b42b3a4efd69fe405a2d01.tar libvpx-385c2a76d151245568b42b3a4efd69fe405a2d01.tar.gz libvpx-385c2a76d151245568b42b3a4efd69fe405a2d01.tar.bz2 libvpx-385c2a76d151245568b42b3a4efd69fe405a2d01.zip |
Improved encoder threading
Reduce the number of sync points by letting each thread
continue imediatly with a new MB row.
Better multicore scaling, improves performance by 5-20% on ARM multicore.
Change-Id: Ic97e4d1c4886a842c85dd3539a93cb217188ed1b
Diffstat (limited to 'vp8/encoder/onyx_int.h')
-rw-r--r-- | vp8/encoder/onyx_int.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/vp8/encoder/onyx_int.h b/vp8/encoder/onyx_int.h index 8a97e983b..580e1ee65 100644 --- a/vp8/encoder/onyx_int.h +++ b/vp8/encoder/onyx_int.h @@ -190,11 +190,8 @@ typedef struct typedef struct { MACROBLOCK mb; - int mb_row; - TOKENEXTRA *tp; int segment_counts[MAX_MB_SEGMENTS]; int totalrate; - int current_mb_col; } MB_ROW_COMP; typedef struct @@ -608,7 +605,8 @@ typedef struct signed char *cyclic_refresh_map; // multithread data - int current_mb_col_main; + int * mt_current_mb_col; + int mt_sync_range; int processor_core_count; int b_multi_threaded; int encoding_thread_count; @@ -621,8 +619,8 @@ typedef struct #if CONFIG_MULTITHREAD //events - sem_t *h_event_mbrencoding; - sem_t h_event_main; + sem_t *h_event_start_encoding; + sem_t h_event_end_encoding; #endif TOKENLIST *tplist; |