summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2014-07-27 09:49:37 +0000
committerAnton Khirnov <anton@khirnov.net>2014-07-28 08:05:47 +0000
commit0daa2554636ba1d31f3162ffb86991e84eb938a8 (patch)
tree830a6605ea69af33d98f054d131433bc800ce570
parent53a11135f2fb2123408b295f9aaae3d6f861aea5 (diff)
downloadffmpeg-streaming-0daa2554636ba1d31f3162ffb86991e84eb938a8.zip
ffmpeg-streaming-0daa2554636ba1d31f3162ffb86991e84eb938a8.tar.gz
hevc: do not store the transform inter_split flag in the context
It does not need to be preserved.
-rw-r--r--libavcodec/hevc.c12
-rw-r--r--libavcodec/hevc.h3
2 files changed, 6 insertions, 9 deletions
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 {
OpenPOWER on IntegriCloud