Fix sending repeated random_seed in film grain
Enable denoising by default
BUG: aomedia:2146
Change-Id: I7917a5cfe97b324cc00487efa0bb9ed59cfe236b
diff --git a/aom_dsp/noise_model.c b/aom_dsp/noise_model.c
index 5975c62..2faee85 100644
--- a/aom_dsp/noise_model.c
+++ b/aom_dsp/noise_model.c
@@ -1135,7 +1135,9 @@
fprintf(stderr, "params.lag = %d > 3\n", noise_model->params.lag);
return 0;
}
+ uint16_t random_seed = film_grain->random_seed;
memset(film_grain, 0, sizeof(*film_grain));
+ film_grain->random_seed = random_seed;
film_grain->apply_grain = 1;
film_grain->update_parameters = 1;
@@ -1633,7 +1635,7 @@
return 0;
}
if (!film_grain->random_seed) {
- film_grain->random_seed = 1071;
+ film_grain->random_seed = 7391;
}
memcpy(raw_data[0], ctx->denoised[0],
(strides[0] * sd->y_height) << use_highbd);
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index f8d05e4..2c4acdb 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2544,9 +2544,9 @@
aom_wb_write_literal(wb, pars->random_seed, 16);
- pars->random_seed += 3245; // For film grain test vectors purposes
+ pars->random_seed += 3381; // Changing random seed for film grain
if (!pars->random_seed) // Random seed should not be zero
- pars->random_seed += 1735;
+ pars->random_seed += 7391;
if (cm->frame_type == INTER_FRAME)
aom_wb_write_bit(wb, pars->update_parameters);
else
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 278d876..a07438c 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -97,7 +97,7 @@
set_aom_config_var(CONFIG_ANALYZER 0 NUMBER "Enables bit stream analyzer.")
set_aom_config_var(CONFIG_COEFFICIENT_RANGE_CHECKING 0 NUMBER
"Coefficient range check.")
-set_aom_config_var(CONFIG_DENOISE 0 NUMBER
+set_aom_config_var(CONFIG_DENOISE 1 NUMBER
"Denoise/noise modeling support in encoder.")
set_aom_config_var(CONFIG_FILEOPTIONS 1 NUMBER
"Enables encoder config file support.")
diff --git a/examples/noise_model.c b/examples/noise_model.c
index 56fd87e..5cc6003 100644
--- a/examples/noise_model.c
+++ b/examples/noise_model.c
@@ -179,7 +179,7 @@
int block_size, aom_film_grain_t *grain) {
aom_image_t renoised;
grain->apply_grain = 1;
- grain->random_seed = 1071;
+ grain->random_seed = 7391;
aom_img_alloc(&renoised, raw->fmt, raw->w, raw->h, 1);
if (av1_add_film_grain(grain, denoised, &renoised)) {
@@ -329,7 +329,7 @@
const int num_blocks_h = (info.frame_height + block_size - 1) / block_size;
uint8_t *flat_blocks = (uint8_t *)aom_malloc(num_blocks_w * num_blocks_h);
// Sets the random seed on the first entry in the output table
- int16_t random_seed = 1071;
+ int16_t random_seed = 7391;
aom_noise_model_t noise_model;
aom_noise_model_params_t params = { AOM_NOISE_SHAPE_SQUARE, 3, args.bit_depth,
high_bd };