OSDN Git Service

hevc: do not store rqt_root_cbf in the context
authorAnton Khirnov <anton@khirnov.net>
Sat, 15 Nov 2014 19:00:22 +0000 (20:00 +0100)
committerAnton Khirnov <anton@khirnov.net>
Mon, 17 Nov 2014 08:25:12 +0000 (09:25 +0100)
It does not need to be accessed outside of hls_coding_unit().

libavcodec/hevc.c
libavcodec/hevc.h

index 5dbcc70..4557bdf 100644 (file)
@@ -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;
index 2cc2608..37131cd 100644 (file)
@@ -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