Commit 3c4b56c4 authored by Geza Lore's avatar Geza Lore Committed by Debargha Mukherjee

Experiment to use image domain dist in baseline.

Change-Id: Ib29f510289716b5ab5c7d74d32a450c190308a83
parent 272dbaa1
......@@ -5281,7 +5281,8 @@ static void rd_supertx_sb(VP10_COMP *cpi, ThreadData *td,
tx_size = get_uv_tx_size_impl(tx_size, bsize,
cm->subsampling_x, cm->subsampling_y);
vp10_subtract_plane(x, bsize, plane);
vp10_txfm_rd_in_plane_supertx(x, &this_rate, &this_dist, &pnskip, &pnsse,
vp10_txfm_rd_in_plane_supertx(x, cpi, &this_rate, &this_dist,
&pnskip, &pnsse,
INT64_MAX, plane, bsize, tx_size, 0);
#endif // CONFIG_VAR_TX
......@@ -5330,7 +5331,7 @@ static void rd_supertx_sb(VP10_COMP *cpi, ThreadData *td,
bsize, coeff_ctx,
&this_rate, &this_dist, &pnsse, &pnskip);
#else
vp10_txfm_rd_in_plane_supertx(x, &this_rate, &this_dist, &pnskip,
vp10_txfm_rd_in_plane_supertx(x, cpi, &this_rate, &this_dist, &pnskip,
&pnsse, INT64_MAX, 0, bsize, tx_size, 0);
#endif // CONFIG_VAR_TX
......
This diff is collapsed.
......@@ -82,6 +82,7 @@ void vp10_tx_block_rd_b(const VP10_COMP *cpi, MACROBLOCK *x, TX_SIZE tx_size,
#endif
void vp10_txfm_rd_in_plane_supertx(MACROBLOCK *x,
const VP10_COMP *cpi,
int *rate, int64_t *distortion,
int *skippable, int64_t *sse,
int64_t ref_best_rd, int plane,
......
......@@ -159,6 +159,10 @@ static void set_good_speed_feature(VP10_COMP *cpi, VP10_COMMON *cm,
sf->tx_size_search_breakout = 1;
sf->partition_search_breakout_rate_thr = 80;
// Use transform domain distortion.
// Note var-tx expt always uses pixel domain distortion.
sf->use_transform_domain_distortion = 1;
}
if (speed >= 2) {
......@@ -271,6 +275,10 @@ static void set_rt_speed_feature(VP10_COMP *cpi, SPEED_FEATURES *sf,
sf->allow_exhaustive_searches = 0;
sf->exhaustive_searches_thresh = INT_MAX;
// Use transform domain distortion computation
// Note var-tx expt always uses pixel domain distortion.
sf->use_transform_domain_distortion = 1;
if (speed >= 1) {
sf->use_square_partition_only = !frame_is_intra_only(cm);
sf->less_rectangular_check = 1;
......@@ -511,6 +519,9 @@ void vp10_set_speed_features_framesize_independent(VP10_COMP *cpi) {
sf->partition_search_breakout_rate_thr = 0;
sf->simple_model_rd_from_var = 0;
// Set this at the appropriate speed levels
sf->use_transform_domain_distortion = 0;
if (oxcf->mode == REALTIME)
set_rt_speed_feature(cpi, sf, oxcf->speed, oxcf->content);
else if (oxcf->mode == GOOD)
......
......@@ -465,6 +465,10 @@ typedef struct SPEED_FEATURES {
// Fast approximation of vp10_model_rd_from_var_lapndz
int simple_model_rd_from_var;
// Whether to compute distortion in the image domain (slower but
// more accurate), or in the transform domain (faster but less acurate).
int use_transform_domain_distortion;
} SPEED_FEATURES;
struct VP10_COMP;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment