ref: c63ecdce467b4bafeec19d220f3ea1b885f1c5fc
parent: b7918d52403ac97ed524c306f02e8c030e26e98b
parent: 0e78efad0be73d293880d1b71053c0d70a50a080
author: John Koleszar <jkoleszar@google.com>
date: Tue Aug 31 20:05:08 EDT 2010
Merge remote branch 'internal/upstream' into HEAD
--- a/vp8/common/threading.h
+++ b/vp8/common/threading.h
@@ -75,7 +75,8 @@
#define thread_sleep(nms) // { struct timespec ts;ts.tv_sec=0; ts.tv_nsec = 1000*nms;nanosleep(&ts, NULL);}
#else
#include <unistd.h>
-#define thread_sleep(nms) usleep(nms*1000);// {struct timespec ts;ts.tv_sec=0; ts.tv_nsec = 1000*nms;nanosleep(&ts, NULL);}
+#include <sched.h>
+#define thread_sleep(nms) sched_yield();// {struct timespec ts;ts.tv_sec=0; ts.tv_nsec = 1000*nms;nanosleep(&ts, NULL);}
#endif
/* Not Windows. Assume pthreads */
--- a/vp8/decoder/threading.c
+++ b/vp8/decoder/threading.c
@@ -611,15 +611,12 @@
for (mb_col = 0; mb_col < pc->mb_cols; mb_col++)
{
-
if ( mb_row > 0 && (mb_col & 7) == 0){
- //if ( mb_row > 0 ){
- while (mb_col > (*last_row_current_mb_col - 8) && *last_row_current_mb_col != pc->mb_cols - 1)
- {
- x86_pause_hint();
- thread_sleep(0);
- }
-
+ while (mb_col > (*last_row_current_mb_col - 8) && *last_row_current_mb_col != pc->mb_cols - 1)
+ {
+ x86_pause_hint();
+ thread_sleep(0);
+ }
}
if (xd->mode_info_context->mbmi.mode == SPLITMV || xd->mode_info_context->mbmi.mode == B_PRED)
@@ -762,7 +759,6 @@
for (mb_col = 0; mb_col < cm->mb_cols; mb_col++)
{
int Segment = (alt_flt_enabled) ? mbd->mode_info_context->mbmi.segment_id : 0;
-
if ( mb_row > 0 && (mb_col & 7) == 0){
// if ( mb_row > 0 ){
--
⑨