Fix warnings/errors

This commit is contained in:
Joose Sainio 2022-04-12 14:51:49 +03:00
parent b093248ca7
commit 88c01b6d32
4 changed files with 43 additions and 52 deletions

View file

@ -83,9 +83,9 @@ static const uint8_t num_ref_pixels_left[16][16] = {
};
void static mip_predict(
static void mip_predict(
const encoder_state_t* const state,
kvz_intra_references* const refs,
const kvz_intra_references* const refs,
const uint16_t pred_block_width,
const uint16_t pred_block_height,
kvz_pixel* dst,
@ -479,7 +479,7 @@ static void linear_transform_cclm(const cclm_parameters_t* cclm_params, kvz_pixe
}
void kvz_predict_cclm(
void predict_cclm(
encoder_state_t const* const state,
const color_t color,
const int8_t width,
@ -488,7 +488,7 @@ void kvz_predict_cclm(
const int16_t y0,
const int16_t stride,
const int8_t mode,
lcu_t* const lcu,
const lcu_t* const lcu,
kvz_intra_references* chroma_ref,
kvz_pixel* dst,
cclm_parameters_t* cclm_params
@ -508,7 +508,7 @@ void kvz_predict_cclm(
int available_left_below = 0;
kvz_pixel *y_rec = lcu->rec.y + x_scu + y_scu * LCU_WIDTH;
const kvz_pixel *y_rec = lcu->rec.y + x_scu + y_scu * LCU_WIDTH;
const int stride2 = (((state->tile->frame->width + 7) & ~7) + FRAME_PADDING_LUMA);
// Essentially what this does is that it uses 6-tap filtering to downsample
@ -520,7 +520,7 @@ void kvz_predict_cclm(
if (y0) {
for (; available_above_right < width / 2; available_above_right++) {
int x_extension = x_scu + width * 2 + 4 * available_above_right;
cu_info_t* pu = LCU_GET_CU_AT_PX(lcu, x_extension, y_scu - 4);
const cu_info_t* pu = LCU_GET_CU_AT_PX(lcu, x_extension, y_scu - 4);
if (x_extension >= LCU_WIDTH || pu->type == CU_NOTSET) break;
}
if(y_scu == 0) {
@ -545,7 +545,7 @@ void kvz_predict_cclm(
if(x0) {
for (; available_left_below < height / 2; available_left_below++) {
int y_extension = y_scu + height * 2 + 4 * available_left_below;
cu_info_t* pu = LCU_GET_CU_AT_PX(lcu, x_scu - 4, y_extension);
const cu_info_t* pu = LCU_GET_CU_AT_PX(lcu, x_scu - 4, y_extension);
if (y_extension >= LCU_WIDTH || pu->type == CU_NOTSET) break;
if(x_scu == 32 && y_scu == 0 && pu->depth == 0) break;
}
@ -742,9 +742,9 @@ void kvz_mip_pred_upsampling_1D(int* const dst, const int* const src, const int*
/** \brief Matrix weighted intra prediction.
*/
void static mip_predict(
static void mip_predict(
const encoder_state_t* const state,
kvz_intra_references* const refs,
const kvz_intra_references* const refs,
const uint16_t pred_block_width,
const uint16_t pred_block_height,
kvz_pixel* dst,
@ -892,7 +892,7 @@ void static mip_predict(
}
void static intra_predict_regular(
static void intra_predict_regular(
const encoder_state_t* const state,
kvz_intra_references *refs,
int_fast8_t log2_width,
@ -1369,15 +1369,14 @@ void kvz_intra_build_reference(
void kvz_intra_predict(
const encoder_state_t* const state,
const kvz_intra_references* const refs,
kvz_intra_references* const refs,
const cu_loc_t* const cu_loc,
const color_t color,
kvz_pixel* dst,
intra_search_data_t* data,
const intra_search_data_t* data,
const lcu_t* lcu
)
{
const kvz_config* cfg = &state->encoder_control->cfg;
const int stride = (((state->tile->frame->width + 7) & ~7) + FRAME_PADDING_LUMA);
// TODO: what is this used for?
// const bool filter_boundary = color == COLOR_Y && !(cfg->lossless && cfg->implicit_rdpcm);
@ -1407,8 +1406,9 @@ void kvz_intra_predict(
else {
kvz_pixels_blit(&state->tile->frame->cclm_luma_rec[x / 2 + (y * stride) / 4], dst, width, width, stride / 2, width);
if (data->pred_cu.depth != data->pred_cu.tr_depth || data->cclm_parameters[color == COLOR_U ? 0 : 1].b <= 0) {
kvz_predict_cclm(
state, color, width, width, x, y, stride, intra_mode, lcu, refs, dst, &data->cclm_parameters[color == COLOR_U ? 0 : 1]);
predict_cclm(
state, color, width, width, x, y, stride, intra_mode, lcu, refs, dst,
(cclm_parameters_t*)&data->cclm_parameters[color == COLOR_U ? 0 : 1]);
}
else {
linear_transform_cclm(&data->cclm_parameters[color == COLOR_U ? 0 : 1], dst, dst, width, width);
@ -1418,7 +1418,7 @@ void kvz_intra_predict(
static void intra_recon_tb_leaf(
const encoder_state_t* const state,
encoder_state_t* const state,
int x,
int y,
int depth,
@ -1472,8 +1472,8 @@ static void intra_recon_tb_leaf(
cu_loc_t loc = {
x, y,
width, width,
width, width,
width, height,
width, height,
};
kvz_intra_predict(state, &refs, &loc, color, pred, search_data, lcu);
@ -1518,7 +1518,7 @@ static void intra_recon_tb_leaf(
* \param lcu containing LCU
*/
void kvz_intra_recon_cu(
const encoder_state_t* const state,
encoder_state_t* const state,
int x,
int y,
int depth,

View file

@ -127,15 +127,16 @@ void kvz_intra_build_reference(
*/
void kvz_intra_predict(
const encoder_state_t* const state,
const kvz_intra_references* const refs,
kvz_intra_references* const refs,
const cu_loc_t* const cu_loc,
const color_t color,
kvz_pixel* dst,
intra_search_data_t* data,
const lcu_t* lcu);
const intra_search_data_t* data,
const lcu_t* lcu
);
void kvz_intra_recon_cu(
const encoder_state_t* const state,
encoder_state_t* const state,
int x,
int y,
int depth,
@ -143,20 +144,4 @@ void kvz_intra_recon_cu(
cu_info_t *cur_cu,
lcu_t *lcu);
void kvz_predict_cclm(
encoder_state_t const* const state,
const color_t color,
const int8_t width,
const int8_t height,
const int16_t x0,
const int16_t y0,
const int16_t stride,
const int8_t mode,
lcu_t* const lcu,
kvz_intra_references* chroma_ref,
kvz_pixel* dst,
cclm_parameters_t* cclm_params
);
int kvz_get_mip_flag_context(int x, int y, int width, int height, const lcu_t* lcu, cu_array_t* const cu_a);

View file

@ -1201,12 +1201,14 @@ static double search_cu(encoder_state_t * const state, int x, int y, int depth,
kvz_lcu_fill_trdepth(lcu, x, y, depth, cur_cu->tr_depth);
lcu_fill_cu_info(lcu, x_local, y_local, cu_width, cu_width, cur_cu);
const bool has_chroma = state->encoder_control->chroma_format != KVZ_CSP_400;
const int8_t mode_chroma = has_chroma ? cur_cu->intra.mode_chroma : -1;
intra_search_data_t proxy;
FILL(proxy, 0);
proxy.pred_cu = *cur_cu;
kvz_intra_recon_cu(state,
x, y,
depth, NULL,
depth,
&proxy,
NULL,
lcu);

View file

@ -171,7 +171,7 @@ static void get_cost_dual(encoder_state_t * const state,
}
double static INLINE rough_cost_prediction_mode(const encoder_state_t* const state,
static INLINE double rough_cost_prediction_mode(encoder_state_t* const state,
kvz_intra_references* const references,
const cu_loc_t* const cu_loc,
kvz_pixel *ref_pixels,
@ -188,6 +188,7 @@ double static INLINE rough_cost_prediction_mode(const encoder_state_t* const sta
kvz_intra_predict(state, references, cu_loc, color, pred, data, lcu);
double cost = get_cost(state, pred, ref_pixels, satd_func, sad_func, width);
return cost;
}
@ -596,8 +597,8 @@ static int8_t search_intra_rough(
int8_t modes[KVZ_NUM_INTRA_MODES];
double costs[KVZ_NUM_INTRA_MODES];
const kvz_config *cfg = &state->encoder_control->cfg;
const bool filter_boundary = !(cfg->lossless && cfg->implicit_rdpcm);
// const kvz_config *cfg = &state->encoder_control->cfg;
// const bool filter_boundary = !(cfg->lossless && cfg->implicit_rdpcm);
// Temporary block arrays
kvz_pixel _preds[PARALLEL_BLKS * 32 * 32 + SIMD_ALIGNMENT];
@ -821,7 +822,7 @@ static int8_t search_intra_rdo(
// Update order according to new costs
double best_cost = MAX_INT;
int best_mode;
int best_mode = 0;
for (int mode = 0; mode < modes_to_check; mode++) {
if(search_data[mode].cost < best_cost) {
best_cost = search_data[mode].cost;
@ -905,9 +906,6 @@ int8_t kvz_search_intra_chroma_rdo(
if (reconstruct_chroma) {
int c_width = MAX(32 >> (depth), 4);
kvz_intra_build_reference(MAX(LOG2_LCU_WIDTH - depth - 1, 2), COLOR_U, &luma_px, &pic_px, lcu, &refs[0], state->encoder_control->cfg.wpp, NULL, 0);
kvz_intra_build_reference(MAX(LOG2_LCU_WIDTH - depth - 1, 2), COLOR_V, &luma_px, &pic_px, lcu, &refs[1], state->encoder_control->cfg.wpp, NULL, 0);
@ -924,7 +922,6 @@ int8_t kvz_search_intra_chroma_rdo(
lcu);
}
double bits = 0;
if(tr_cu->depth != tr_cu->tr_depth || !state->encoder_control->cfg.jccr) {
chroma_data[i].cost = kvz_cu_rd_cost_chroma(state, lcu_px.x, lcu_px.y, depth, tr_cu, lcu);
} else {
@ -1119,13 +1116,20 @@ void kvz_search_cu_intra(
}
}
number_of_modes += num_mip_modes;
int num_mrl_modes = 0;
uint8_t lines = 1;
// Find modes with multiple reference lines if in use. Do not use if CU in first row.
if (state->encoder_control->cfg.mrl && (y_px % LCU_WIDTH) != 0) {
lines = MAX_REF_LINE_IDX;
}
for(int line = 1; line < lines; ++line) {
for(int i = 1; i < INTRA_MPM_COUNT; i++) {
num_mrl_modes++;
}
}
number_of_modes += num_mrl_modes;
// Set transform depth to current depth, meaning no transform splits.
kvz_lcu_fill_trdepth(lcu, x_px, y_px, depth, depth);