From 2c6a7f9348378f887066fb1669c46b9485e8ef3e Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 15 Nov 2014 20:00:22 +0100 Subject: [PATCH] hevc: do not store rqt_root_cbf in the context It does not need to be accessed outside of hls_coding_unit(). --- libavcodec/hevc.c | 7 ++++--- libavcodec/hevc.h | 2 -- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 5dbcc70290..4557bdf5bd 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -2061,7 +2061,6 @@ static int hls_coding_unit(HEVCContext *s, int x0, int y0, int log2_cb_size) lc->cu.x = x0; lc->cu.y = y0; - lc->cu.rqt_root_cbf = 1; lc->cu.pred_mode = MODE_INTRA; lc->cu.part_mode = PART_2Nx2N; lc->cu.intra_split_flag = 0; @@ -2163,11 +2162,13 @@ static int hls_coding_unit(HEVCContext *s, int x0, int y0, int log2_cb_size) } if (!pcm_flag) { + int rqt_root_cbf = 1; + if (lc->cu.pred_mode != MODE_INTRA && !(lc->cu.part_mode == PART_2Nx2N && lc->pu.merge_flag)) { - lc->cu.rqt_root_cbf = ff_hevc_no_residual_syntax_flag_decode(s); + rqt_root_cbf = ff_hevc_no_residual_syntax_flag_decode(s); } - if (lc->cu.rqt_root_cbf) { + if (rqt_root_cbf) { lc->cu.max_trafo_depth = lc->cu.pred_mode == MODE_INTRA ? s->sps->max_transform_hierarchy_depth_intra + lc->cu.intra_split_flag : s->sps->max_transform_hierarchy_depth_inter; diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h index 2cc2608fef..37131cd726 100644 --- a/libavcodec/hevc.h +++ b/libavcodec/hevc.h @@ -605,8 +605,6 @@ typedef struct CodingUnit { enum PredMode pred_mode; ///< PredMode enum PartMode part_mode; ///< PartMode - uint8_t rqt_root_cbf; - // Inferred parameters uint8_t intra_split_flag; ///< IntraSplitFlag uint8_t max_trafo_depth; ///< MaxTrafoDepth