[SCM] libav/experimental: hevc: do not store the transform inter_split flag in the context

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Aug 10 16:04:03 UTC 2014


The following commit has been merged in the experimental branch:
commit 0daa2554636ba1d31f3162ffb86991e84eb938a8
Author: Anton Khirnov <anton at khirnov.net>
Date:   Sun Jul 27 09:49:37 2014 +0000

    hevc: do not store the transform inter_split flag in the context
    
    It does not need to be preserved.

diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c
index 9c5cc50..c2c4006 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 e8f8f1a..6894160 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 {

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list