diff options
-rw-r--r-- | vp8/common/threading.h | 4 | ||||
-rw-r--r-- | vp8/encoder/ethreading.c | 2 | ||||
-rw-r--r-- | vp8/encoder/onyx_if.c | 4 | ||||
-rw-r--r-- | vp8/encoder/onyx_int.h | 1 |
4 files changed, 4 insertions, 7 deletions
diff --git a/vp8/common/threading.h b/vp8/common/threading.h index b7542b306..5927cb165 100644 --- a/vp8/common/threading.h +++ b/vp8/common/threading.h @@ -59,9 +59,9 @@ #ifdef _WIN32 #define sem_t HANDLE #define pause(voidpara) __asm PAUSE -#define sem_init(sem, sem_attr1, sem_init_value) (int)((*sem = CreateEvent(NULL,FALSE,FALSE,NULL))==NULL) +#define sem_init(sem, sem_attr1, sem_init_value) (int)((*sem = CreateSemaphore(NULL,0,32768,NULL))==NULL) #define sem_wait(sem) (int)(WAIT_OBJECT_0 != WaitForSingleObject(*sem,INFINITE)) -#define sem_post(sem) SetEvent(*sem) +#define sem_post(sem) ReleaseSemaphore(*sem,1,NULL) #define sem_destroy(sem) if(*sem)((int)(CloseHandle(*sem))==TRUE) #define thread_sleep(nms) Sleep(nms) diff --git a/vp8/encoder/ethreading.c b/vp8/encoder/ethreading.c index c92a366e8..c00494dcf 100644 --- a/vp8/encoder/ethreading.c +++ b/vp8/encoder/ethreading.c @@ -514,7 +514,6 @@ void vp8cx_create_encoder_threads(VP8_COMP *cpi) LPFTHREAD_DATA * lpfthd = &cpi->lpf_thread_data; sem_init(&cpi->h_event_start_lpf, 0, 0); - sem_init(&cpi->h_event_end_picklpf, 0, 0); sem_init(&cpi->h_event_end_lpf, 0, 0); lpfthd->ptr1 = (void *)cpi; @@ -548,7 +547,6 @@ void vp8cx_remove_encoder_threads(VP8_COMP *cpi) sem_destroy(&cpi->h_event_end_encoding); sem_destroy(&cpi->h_event_end_lpf); - sem_destroy(&cpi->h_event_end_picklpf); sem_destroy(&cpi->h_event_start_lpf); //free thread related resources diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 78f86557d..1738e5699 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -3140,7 +3140,7 @@ void loopfilter_frame(VP8_COMP *cpi, VP8_COMMON *cm) #if CONFIG_MULTITHREAD if (cpi->b_multi_threaded) - sem_post(&cpi->h_event_end_picklpf); /* signal that we have set filter_level */ + sem_post(&cpi->h_event_end_lpf); /* signal that we have set filter_level */ #endif if (cm->filter_level > 0) @@ -4135,7 +4135,7 @@ static void encode_frame_to_data_rate #if CONFIG_MULTITHREAD /* wait that filter_level is picked so that we can continue with stream packing */ if (cpi->b_multi_threaded) - sem_wait(&cpi->h_event_end_picklpf); + sem_wait(&cpi->h_event_end_lpf); #endif // build the bitstream diff --git a/vp8/encoder/onyx_int.h b/vp8/encoder/onyx_int.h index c2fcff88c..e2e6b367c 100644 --- a/vp8/encoder/onyx_int.h +++ b/vp8/encoder/onyx_int.h @@ -590,7 +590,6 @@ typedef struct sem_t *h_event_start_encoding; sem_t h_event_end_encoding; sem_t h_event_start_lpf; - sem_t h_event_end_picklpf; sem_t h_event_end_lpf; #endif |