summaryrefslogtreecommitdiff
path: root/vp8/encoder/onyx_int.h
diff options
context:
space:
mode:
authorAttila Nagy <attilanagy@google.com>2011-01-26 10:29:46 +0200
committerAttila Nagy <attilanagy@google.com>2011-02-01 12:17:58 +0200
commit385c2a76d151245568b42b3a4efd69fe405a2d01 (patch)
tree4ef8d66ff55d14a24ddfd013fcc12ad7247c5607 /vp8/encoder/onyx_int.h
parente8e09d33df6d9ea0f93307fddfcfa402198b09cc (diff)
downloadlibvpx-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.h10
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;