diff options
author | Jingning Han <jingning@google.com> | 2019-03-18 13:52:05 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2019-03-18 15:35:17 -0700 |
commit | a7b6c4503a201f7f77bb39aee7312bc5d5a41535 (patch) | |
tree | ec20225340ffc5dd5d1eb5ca57de80d3d9465495 | |
parent | 9e2c09cc2a0e446f4493bb3837adffd95d1879c9 (diff) | |
download | libvpx-a7b6c4503a201f7f77bb39aee7312bc5d5a41535.tar libvpx-a7b6c4503a201f7f77bb39aee7312bc5d5a41535.tar.gz libvpx-a7b6c4503a201f7f77bb39aee7312bc5d5a41535.tar.bz2 libvpx-a7b6c4503a201f7f77bb39aee7312bc5d5a41535.zip |
Normalize the Wiener variance for ranking
Normalize the Wiener variance calculation for stack ranking. Remove
potential dependency on blocks at frame boundary.
Change-Id: I37e8634d714a1c34e99f9f7c4f1bb6ea81d56112
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 825d8d9ac..bc0691bc1 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -3604,9 +3604,11 @@ static int wiener_var_segment(VP9_COMP *cpi, BLOCK_SIZE bsize, int mi_row, for (col = mb_col_start; col < mb_col_end; ++col) wiener_variance += cpi->mb_wiener_variance[row * cm->mb_cols + col]; + wiener_variance /= (mb_row_end - mb_row_start) * (mb_col_end - mb_col_start); #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.0 + wiener_variance) / log(2.0); kmeans_data->pos = mi_row * cpi->kmeans_data_stride + mi_col; |