summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_rdopt.c
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2017-04-26 16:12:14 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-04-26 16:12:14 +0000
commitb68f14d0ed27fafb4593a99fec5361fc023d4488 (patch)
treec99345496726f00e735f74d041e52114de5636af /vp9/encoder/vp9_rdopt.c
parent54c4e0f7a5cc48aa9ddee00f17609f5aba4d96d5 (diff)
parent10a497bd3823d88cf4c2f816a648ca0e79bd07be (diff)
downloadlibvpx-b68f14d0ed27fafb4593a99fec5361fc023d4488.tar
libvpx-b68f14d0ed27fafb4593a99fec5361fc023d4488.tar.gz
libvpx-b68f14d0ed27fafb4593a99fec5361fc023d4488.tar.bz2
libvpx-b68f14d0ed27fafb4593a99fec5361fc023d4488.zip
Merge "Make the row based multi-threaded encoder deterministic"
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r--vp9/encoder/vp9_rdopt.c31
1 files changed, 3 insertions, 28 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 5e566e1da..4882af171 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -3160,11 +3160,6 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, TileDataEnc *tile_data,
for (i = 0; i <= LAST_NEW_MV_INDEX; ++i) mode_threshold[i] = 0;
-#if CONFIG_MULTITHREAD
- if (NULL != tile_data->enc_row_mt_mutex)
- pthread_mutex_lock(tile_data->enc_row_mt_mutex);
-#endif
-
for (i = LAST_NEW_MV_INDEX + 1; i < MAX_MODES; ++i)
mode_threshold[i] = ((int64_t)rd_threshes[i] * rd_thresh_freq_fact[i]) >> 5;
@@ -3186,11 +3181,6 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, TileDataEnc *tile_data,
memcpy(mode_map, tile_mode_map, sizeof(mode_map));
-#if CONFIG_MULTITHREAD
- if (NULL != tile_data->enc_row_mt_mutex)
- pthread_mutex_unlock(tile_data->enc_row_mt_mutex);
-#endif
-
for (midx = 0; midx < MAX_MODES; ++midx) {
int mode_index = mode_map[midx];
int mode_excluded = 0;
@@ -3627,11 +3617,7 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, TileDataEnc *tile_data,
if (!cpi->rc.is_src_frame_alt_ref)
vp9_update_rd_thresh_fact(tile_data->thresh_freq_fact,
- sf->adaptive_rd_thresh, bsize,
-#if CONFIG_MULTITHREAD
- tile_data->enc_row_mt_mutex,
-#endif
- best_mode_index);
+ sf->adaptive_rd_thresh, bsize, best_mode_index);
// macroblock modes
*mi = best_mbmode;
@@ -3771,11 +3757,7 @@ void vp9_rd_pick_inter_mode_sb_seg_skip(VP9_COMP *cpi, TileDataEnc *tile_data,
(cm->interp_filter == mi->interp_filter));
vp9_update_rd_thresh_fact(tile_data->thresh_freq_fact,
- cpi->sf.adaptive_rd_thresh, bsize,
-#if CONFIG_MULTITHREAD
- tile_data->enc_row_mt_mutex,
-#endif
- THR_ZEROMV);
+ cpi->sf.adaptive_rd_thresh, bsize, THR_ZEROMV);
vp9_zero(best_pred_diff);
vp9_zero(best_filter_diff);
@@ -3921,9 +3903,6 @@ void vp9_rd_pick_inter_mode_sub8x8(VP9_COMP *cpi, TileDataEnc *tile_data,
if (!internal_active_edge &&
rd_less_than_thresh(best_rd,
rd_opt->threshes[segment_id][bsize][ref_index],
-#if CONFIG_MULTITHREAD
- tile_data->enc_row_mt_mutex,
-#endif
&rd_thresh_freq_fact[ref_index]))
continue;
@@ -4373,11 +4352,7 @@ void vp9_rd_pick_inter_mode_sub8x8(VP9_COMP *cpi, TileDataEnc *tile_data,
!is_inter_block(&best_mbmode));
vp9_update_rd_thresh_fact(tile_data->thresh_freq_fact, sf->adaptive_rd_thresh,
- bsize,
-#if CONFIG_MULTITHREAD
- tile_data->enc_row_mt_mutex,
-#endif
- best_ref_index);
+ bsize, best_ref_index);
// macroblock modes
*mi = best_mbmode;