Add config parameter "parallel_merge_level" and array for hmvp

This commit is contained in:
Marko Viitanen 2020-12-22 11:05:53 +02:00
parent cb9f9381c3
commit c4dcabe95b
5 changed files with 11 additions and 1 deletions

View file

@ -177,6 +177,7 @@ int kvz_config_init(kvz_config *cfg)
cfg->stats_file_prefix = NULL;
cfg->log2_parallel_merge_level = 2;
cfg->fastrd_sampling_on = 0;
cfg->fastrd_accuracy_check_on = 0;
cfg->fastrd_learning_outdir_fn = NULL;

View file

@ -686,7 +686,7 @@ static void encoder_state_write_bitstream_seq_parameter_set(bitstream_t* stream,
WRITE_U(stream, 0, 1, "sps_gpm_enabled_flag");
}
WRITE_UE(stream, 0, "log2_parallel_merge_level_minus2");
WRITE_UE(stream, encoder->cfg.log2_parallel_merge_level-2, "log2_parallel_merge_level_minus2");
WRITE_U(stream, 0, 1, "sps_isp_enabled_flag");
WRITE_U(stream, 0, 1, "sps_mrl_enabled_flag");

View file

@ -467,6 +467,9 @@ typedef struct kvz_config
enum kvz_file_format file_format;
char *stats_file_prefix;
uint8_t log2_parallel_merge_level;
char *fast_coeff_table_fn; /*!< \brief Pointer to fast coeff table filename */
/** \brief whether we're sampling TBs and their costs for fast cost

View file

@ -49,6 +49,9 @@ videoframe_t * kvz_videoframe_alloc(int32_t width,
frame->sao_chroma = MALLOC(sao_info_t, frame->width_in_lcu * frame->height_in_lcu);
}
frame->hmvp_lut = calloc(1, sizeof(vector2d_t) * frame->height_in_lcu);
return frame;
}
@ -78,6 +81,8 @@ int kvz_videoframe_free(videoframe_t * const frame)
FREE_POINTER(frame->sao_luma);
FREE_POINTER(frame->sao_chroma);
FREE_POINTER(frame->hmvp_lut);
free(frame);
return 1;

View file

@ -57,6 +57,7 @@ typedef struct videoframe
struct param_set_map* alf_param_set_map;
int32_t poc; //!< \brief Picture order count
vector2d_t* hmvp_lut; //!< \brief Look-up table for HMVP, one for each LCU row
bool source_lmcs_mapped; //!< \brief Indicate if source_lmcs is available and mapped to LMCS
bool lmcs_top_level; //!< \brief Indicate that in this level the LMCS images are allocated