diff options
author | Mickaƫl Raulet <mraulet@insa-rennes.fr> | 2013-10-11 22:07:00 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-10-17 02:41:51 +0200 |
commit | b4948943904a5e496e31c5e7778364fa0b03253c (patch) | |
tree | 0448ef136bfae4d01cad54adf2201e213d8e4cb8 /libavcodec/hevc.h | |
parent | 3ed65d98c616d52e2544c8b81aa3997f28bb88f5 (diff) |
hevc: optimize residual coding(cherry picked from commit 70692a44708157b4dfa50e402e446bfa2b27f55e)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/hevc.h')
-rw-r--r-- | libavcodec/hevc.h | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h index 1aaf584260..9e91c3b59d 100644 --- a/libavcodec/hevc.h +++ b/libavcodec/hevc.h @@ -653,10 +653,6 @@ typedef struct TransformUnit { int cur_intra_pred_mode; } TransformUnit; -typedef struct ResidualCoding { - uint8_t significant_coeff_group_flag[8][8]; -} ResidualCoding; - typedef struct SAOParams { uint8_t type_idx[3]; ///< sao_type_idx @@ -726,16 +722,10 @@ typedef struct HEVCNAL { typedef struct HEVCLocalContext { uint8_t cabac_state[HEVC_CONTEXTS]; - int ctx_set; - int greater1_ctx; - int last_coeff_abs_level_greater1_flag; - int c_rice_param; - int last_coeff_abs_level_remaining; GetBitContext gb; CABACContext cc; TransformTree tt; TransformUnit tu; - ResidualCoding rc; uint8_t first_qp_group; int8_t qp_y; int8_t curr_qp_y; @@ -935,17 +925,12 @@ int ff_hevc_last_significant_coeff_y_prefix_decode(HEVCContext *s, int c_idx, int log2_size); int ff_hevc_last_significant_coeff_suffix_decode(HEVCContext *s, int last_significant_coeff_prefix); -int ff_hevc_significant_coeff_group_flag_decode(HEVCContext *s, int c_idx, int x_cg, - int y_cg, int log2_trafo_size); +int ff_hevc_significant_coeff_group_flag_decode(HEVCContext *s, int c_idx, int ctx_cg); int ff_hevc_significant_coeff_flag_decode(HEVCContext *s, int c_idx, int x_c, int y_c, - int log2_trafo_size, int scan_idx); -int ff_hevc_coeff_abs_level_greater1_flag_decode(HEVCContext *s, int c_idx, - int i, int n, - int first_greater1_coeff_idx, - int first_subset); -int ff_hevc_coeff_abs_level_greater2_flag_decode(HEVCContext *s, int c_idx, - int i, int n); -int ff_hevc_coeff_abs_level_remaining(HEVCContext *s, int n, int base_level); + int log2_trafo_size, int scan_idx, int prev_sig); +int ff_hevc_coeff_abs_level_greater1_flag_decode(HEVCContext *s, int c_idx, int ctx_set); +int ff_hevc_coeff_abs_level_greater2_flag_decode(HEVCContext *s, int c_idx, int inc); +int ff_hevc_coeff_abs_level_remaining(HEVCContext *s, int base_level, int rc_rice_param); int ff_hevc_coeff_sign_flag(HEVCContext *s, uint8_t nb); /** |