From 0daa2554636ba1d31f3162ffb86991e84eb938a8 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 27 Jul 2014 09:49:37 +0000 Subject: [PATCH] hevc: do not store the transform inter_split flag in the context It does not need to be preserved. --- libavcodec/hevc.c | 12 ++++++------ libavcodec/hevc.h | 3 --- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 9c5cc50f0c..c2c4006fde 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -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) { diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h index e8f8f1a550..6894160161 100644 --- a/libavcodec/hevc.h +++ b/libavcodec/hevc.h @@ -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 {