diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index bf2d8b5e7f..f8cf7831d4 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -1113,20 +1113,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 || s->sps->chroma_format_idc == 3) { diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h index cd38c461e6..d2a732d620 100644 --- a/libavcodec/hevc.h +++ b/libavcodec/hevc.h @@ -685,9 +685,6 @@ typedef struct PredictionUnit { typedef struct TransformTree { uint8_t cbf_luma; - - // Inferred parameters - uint8_t inter_split_flag; } TransformTree; typedef struct TransformUnit {