diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c index bd84f746888b9ee595db8a10cd0d69772cc4ab48..aa481879bf2103e451c05b392614cb1c59492305 100644 --- a/av1/common/entropymode.c +++ b/av1/common/entropymode.c @@ -3610,9 +3610,8 @@ static const aom_cdf_prob }; #endif -// CDF version of 'av1_kf_y_mode_prob'. const aom_cdf_prob - av1_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = { + default_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = { #if CONFIG_SMOOTH_HV { { AOM_ICDF(14208), AOM_ICDF(16238), AOM_ICDF(19079), AOM_ICDF(22512), @@ -4714,6 +4713,7 @@ static void init_mode_probs(FRAME_CONTEXT *fc) { av1_copy(fc->palette_uv_size_cdf, default_palette_uv_size_cdf); av1_copy(fc->palette_y_color_index_cdf, default_palette_y_color_index_cdf); av1_copy(fc->palette_uv_color_index_cdf, default_palette_uv_color_index_cdf); + av1_copy(fc->kf_y_cdf, default_kf_y_mode_cdf); #if CONFIG_MRC_TX av1_copy(fc->mrc_mask_inter_cdf, default_mrc_mask_inter_cdf); av1_copy(fc->mrc_mask_intra_cdf, default_mrc_mask_intra_cdf); diff --git a/av1/common/entropymode.h b/av1/common/entropymode.h index bfb2a703eb64ba739cab4de04b8ee017761fb84f..51f6cfd8f9a7d3064fdd8c309591b1dcf0dfb8a6 100644 --- a/av1/common/entropymode.h +++ b/av1/common/entropymode.h @@ -533,9 +533,8 @@ typedef struct FRAME_COUNTS { #endif // CONFIG_FILTER_INTRA } FRAME_COUNTS; -// CDF version of 'av1_kf_y_mode_prob'. -extern const aom_cdf_prob av1_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES] - [CDF_SIZE(INTRA_MODES)]; +extern const aom_cdf_prob default_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES] + [CDF_SIZE(INTRA_MODES)]; extern const aom_prob av1_default_palette_y_mode_prob[PALETTE_BLOCK_SIZES] [PALETTE_Y_MODE_CONTEXTS]; diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 12ecc44eb9a4c5272e1bcdea0a0d2c30f97e7178..10c358226bf139aa8190a62be3e1d3361904e5e7 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c @@ -5130,9 +5130,7 @@ static int read_compressed_header(AV1Decoder *pbi, const uint8_t *data, av1_diff_update_prob(&r, &fc->skip_probs[i], ACCT_STR); #endif - if (frame_is_intra_only(cm)) { - av1_copy(cm->fc->kf_y_cdf, av1_kf_y_mode_cdf); - } else { + if (!frame_is_intra_only(cm)) { #if !CONFIG_NEW_MULTISYMBOL read_inter_mode_probs(fc, &r); #endif diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index d28244b8e7b018dd7e647b886dc574c846d96e3f..e798fca7abfd1f040015c97391beb9501d94d963 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c @@ -5162,9 +5162,7 @@ static uint32_t write_compressed_header(AV1_COMP *cpi, uint8_t *data) { update_skip_probs(cm, header_bc, counts); #endif - if (frame_is_intra_only(cm)) { - av1_copy(cm->fc->kf_y_cdf, av1_kf_y_mode_cdf); - } else { + if (!frame_is_intra_only(cm)) { #if !CONFIG_NEW_MULTISYMBOL update_inter_mode_probs(cm, header_bc, counts); #endif diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c index 7d90d537e43ba400aae6c02016ca2101845a8c73..f66ac0558be3ac689a57c61f414e8db8a346b1d0 100644 --- a/av1/encoder/rd.c +++ b/av1/encoder/rd.c @@ -136,7 +136,7 @@ void av1_fill_mode_rates(AV1_COMMON *const cm, MACROBLOCK *x, for (i = 0; i < INTRA_MODES; ++i) for (j = 0; j < INTRA_MODES; ++j) - av1_cost_tokens_from_cdf(x->y_mode_costs[i][j], av1_kf_y_mode_cdf[i][j], + av1_cost_tokens_from_cdf(x->y_mode_costs[i][j], fc->kf_y_cdf[i][j], av1_intra_mode_inv); for (i = 0; i < BLOCK_SIZE_GROUPS; ++i)