hevc: do not store the transform inter_split flag in the context

It does not need to be preserved.
This commit is contained in:
Anton Khirnov 2014-07-27 09:49:37 +00:00
parent 53a11135f2
commit 0daa255463
2 changed files with 6 additions and 9 deletions

View File

@ -1361,20 +1361,20 @@ static int hls_transform_tree(HEVCContext *s, int x0, int y0,
lc->tt.cbf_luma = 1;
lc->tt.inter_split_flag = s->sps->max_transform_hierarchy_depth_inter == 0 &&
lc->cu.pred_mode == MODE_INTER &&
lc->cu.part_mode != PART_2Nx2N &&
trafo_depth == 0;
if (log2_trafo_size <= s->sps->log2_max_trafo_size &&
log2_trafo_size > s->sps->log2_min_tb_size &&
trafo_depth < lc->cu.max_trafo_depth &&
!(lc->cu.intra_split_flag && trafo_depth == 0)) {
split_transform_flag = ff_hevc_split_transform_flag_decode(s, log2_trafo_size);
} else {
int inter_split = s->sps->max_transform_hierarchy_depth_inter == 0 &&
lc->cu.pred_mode == MODE_INTER &&
lc->cu.part_mode != PART_2Nx2N &&
trafo_depth == 0;
split_transform_flag = log2_trafo_size > s->sps->log2_max_trafo_size ||
(lc->cu.intra_split_flag && trafo_depth == 0) ||
lc->tt.inter_split_flag;
inter_split;
}
if (log2_trafo_size > 2) {

View File

@ -650,9 +650,6 @@ typedef struct TransformTree {
uint8_t cbf_cb[MAX_TRANSFORM_DEPTH][MAX_CU_SIZE * MAX_CU_SIZE];
uint8_t cbf_cr[MAX_TRANSFORM_DEPTH][MAX_CU_SIZE * MAX_CU_SIZE];
uint8_t cbf_luma;
// Inferred parameters
uint8_t inter_split_flag;
} TransformTree;
typedef struct TransformUnit {