From: Angie Chiang Date: Mon, 18 Mar 2019 19:39:04 +0000 (+0000) Subject: Merge "Fix race condition in wiener_var_rd_mult" X-Git-Tag: v1.8.1~182 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=34576dab60758e66fd66aa4c78e038efe21e8d69;p=platform%2Fupstream%2Flibvpx.git Merge "Fix race condition in wiener_var_rd_mult" --- 34576dab60758e66fd66aa4c78e038efe21e8d69 diff --cc vp9/encoder/vp9_encodeframe.c index 17d57f9af,047b06b53..d0ebbae8d --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@@ -3595,9 -3595,15 +3595,15 @@@ static int wiener_var_rdmult(VP9_COMP * for (col = mb_col_start; col < mb_col_end; ++col) wiener_variance += cpi->mb_wiener_variance[row * cm->mb_cols + col]; + #if CONFIG_MULTITHREAD + pthread_mutex_lock(&cpi->kmeans_mutex); + #endif // CONFIG_MULTITHREAD kmeans_data = &cpi->kmeans_data_arr[cpi->kmeans_data_size++]; - kmeans_data->value = log(1 + wiener_variance); + kmeans_data->value = log(1.0 + wiener_variance) / log(2.0); kmeans_data->pos = mi_row * cpi->kmeans_data_stride + mi_col; + #if CONFIG_MULTITHREAD + pthread_mutex_unlock(&cpi->kmeans_mutex); + #endif // CONFIG_MULTITHREAD if (wiener_variance) wiener_variance /= (mb_row_end - mb_row_start) * (mb_col_end - mb_col_start);