mirror of
https://github.com/ultravideo/uvg266.git
synced 2024-12-18 03:04:06 +00:00
Move HMVP arrays to more suitable place
This commit is contained in:
parent
f68ba68fb2
commit
a39bc69482
|
@ -674,14 +674,14 @@ static void encoder_state_write_bitstream_seq_parameter_set(bitstream_t* stream,
|
|||
WRITE_U(stream, 0, 1, "sps_mmvd_enabled_flag");
|
||||
|
||||
|
||||
WRITE_UE(stream, MRG_MAX_NUM_CANDS - 6, "six_minus_max_num_merge_cand");
|
||||
WRITE_UE(stream, 6 - MRG_MAX_NUM_CANDS, "six_minus_max_num_merge_cand");
|
||||
WRITE_U(stream, 0, 1, "sps_sbt_enabled_flag");
|
||||
WRITE_U(stream, 0, 1, "sps_affine_enabled_flag");
|
||||
|
||||
WRITE_U(stream, 0, 1, "sps_bcw_enabled_flag");
|
||||
|
||||
WRITE_U(stream, 0, 1, "sps_ciip_enabled_flag");
|
||||
if (6 /*MAX_NUM_MERGE_CAND*/ >= 2)
|
||||
if (MRG_MAX_NUM_CANDS >= 2)
|
||||
{
|
||||
WRITE_U(stream, 0, 1, "sps_gpm_enabled_flag");
|
||||
}
|
||||
|
|
|
@ -83,6 +83,10 @@ static int encoder_state_config_frame_init(encoder_state_t * const state) {
|
|||
|
||||
state->frame->new_ratecontrol = kvz_get_rc_data(NULL);
|
||||
|
||||
|
||||
state->frame->hmvp_lut = malloc(sizeof(cu_info_t) * encoder->in.height_in_lcu * MAX_NUM_HMVP_CANDS);
|
||||
state->frame->hmvp_size = malloc(sizeof(uint8_t) * encoder->in.height_in_lcu);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -96,6 +100,9 @@ static void encoder_state_config_frame_finalize(encoder_state_t * const state) {
|
|||
kvz_image_list_destroy(state->frame->ref);
|
||||
FREE_POINTER(state->frame->lcu_stats);
|
||||
FREE_POINTER(state->frame->aq_offsets);
|
||||
|
||||
FREE_POINTER(state->frame->hmvp_lut);
|
||||
FREE_POINTER(state->frame->hmvp_size);
|
||||
}
|
||||
|
||||
static int encoder_state_config_tile_init(encoder_state_t * const state,
|
||||
|
|
|
@ -1402,6 +1402,7 @@ static void encoder_state_init_new_frame(encoder_state_t * const state, kvz_pict
|
|||
state->tile->frame->width,
|
||||
state->tile->frame->height
|
||||
);
|
||||
memset(state->frame->hmvp_size, 0, sizeof(uint8_t) * state->encoder_control->in.height_in_lcu);
|
||||
|
||||
// Variance adaptive quantization
|
||||
if (cfg->vaq) {
|
||||
|
|
|
@ -177,6 +177,11 @@ typedef struct encoder_state_config_frame_t {
|
|||
|
||||
double *c_para;
|
||||
double *k_para;
|
||||
|
||||
|
||||
cu_info_t* hmvp_lut; //!< \brief Look-up table for HMVP, one for each LCU row
|
||||
uint8_t* hmvp_size; //!< \brief HMVP LUT size
|
||||
|
||||
} encoder_state_config_frame_t;
|
||||
|
||||
typedef struct encoder_state_config_tile_t {
|
||||
|
|
|
@ -224,6 +224,8 @@ typedef int16_t coeff_t;
|
|||
#define AMVP_MAX_NUM_CANDS_MEM 3
|
||||
#define MRG_MAX_NUM_CANDS 6
|
||||
|
||||
#define MAX_NUM_HMVP_CANDS 5
|
||||
|
||||
/* Some tools */
|
||||
#define ABS(a) ((a) >= 0 ? (a) : (-a))
|
||||
#define MAX(a,b) (((a)>(b))?(a):(b))
|
||||
|
|
|
@ -49,10 +49,6 @@ 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(cu_info_t) * frame->height_in_lcu * MAX_NUM_HMVP_CANDS);
|
||||
frame->hmvp_size = calloc(1, sizeof(uint8_t) * frame->height_in_lcu);
|
||||
|
||||
|
||||
return frame;
|
||||
}
|
||||
|
||||
|
@ -82,9 +78,6 @@ int kvz_videoframe_free(videoframe_t * const frame)
|
|||
FREE_POINTER(frame->sao_luma);
|
||||
FREE_POINTER(frame->sao_chroma);
|
||||
|
||||
FREE_POINTER(frame->hmvp_lut);
|
||||
FREE_POINTER(frame->hmvp_size);
|
||||
|
||||
free(frame);
|
||||
|
||||
return 1;
|
||||
|
|
Loading…
Reference in a new issue