diff options
Diffstat (limited to 'libavcodec/hevc.h')
-rw-r--r-- | libavcodec/hevc.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h index 81753e2d25..8272502bff 100644 --- a/libavcodec/hevc.h +++ b/libavcodec/hevc.h @@ -83,6 +83,7 @@ #define SAMPLE(tab, x, y) ((tab)[(y) * s->sps->width + (x)]) #define SAMPLE_CTB(tab, x, y) ((tab)[(y) * min_cb_width + (x)]) #define SAMPLE_CBF(tab, x, y) ((tab)[((y) & ((1<<log2_trafo_size)-1)) * MAX_CU_SIZE + ((x) & ((1<<log2_trafo_size)-1))]) +#define SAMPLE_CBF2(tab, x, y) ((tab)[(y) * MAX_CU_SIZE + (x)]) #define IS_IDR(s) ((s)->nal_unit_type == NAL_IDR_W_RADL || (s)->nal_unit_type == NAL_IDR_N_LP) #define IS_BLA(s) ((s)->nal_unit_type == NAL_BLA_W_RADL || (s)->nal_unit_type == NAL_BLA_W_LP || \ @@ -457,6 +458,13 @@ typedef struct HEVCSPS { int max_transform_hierarchy_depth_inter; int max_transform_hierarchy_depth_intra; + int transform_skip_rotation_enabled_flag; + int transform_skip_context_enabled_flag; + int implicit_rdpcm_enabled_flag; + int explicit_rdpcm_enabled_flag; + int intra_smoothing_disabled_flag; + int persistent_rice_adaptation_enabled_flag; + ///< coded frame dimension in various units int width; int height; @@ -526,6 +534,15 @@ typedef struct HEVCPPS { int log2_parallel_merge_level; ///< log2_parallel_merge_level_minus2 + 2 int num_extra_slice_header_bits; uint8_t slice_header_extension_present_flag; + uint8_t log2_max_transform_skip_block_size; + uint8_t cross_component_prediction_enabled_flag; + uint8_t chroma_qp_offset_list_enabled_flag; + uint8_t diff_cu_chroma_qp_offset_depth; + uint8_t chroma_qp_offset_list_len_minus1; + int8_t cb_qp_offset_list[5]; + int8_t cr_qp_offset_list[5]; + uint8_t log2_sao_offset_scale_luma; + uint8_t log2_sao_offset_scale_chroma; // Inferred parameters unsigned int *column_width; ///< ColumnWidth @@ -661,7 +678,8 @@ typedef struct PredictionUnit { uint8_t intra_pred_mode[4]; Mv mvd; uint8_t merge_flag; - uint8_t intra_pred_mode_c; + uint8_t intra_pred_mode_c[4]; + uint8_t chroma_mode_c[4]; } PredictionUnit; typedef struct TransformTree { @@ -677,7 +695,9 @@ typedef struct TransformUnit { int cu_qp_delta; // Inferred parameters; - int cur_intra_pred_mode; + int intra_pred_mode; + int intra_pred_mode_c; + int chroma_mode_c; uint8_t is_cu_qp_delta_coded; } TransformUnit; @@ -968,7 +988,6 @@ int ff_hevc_no_residual_syntax_flag_decode(HEVCContext *s); int ff_hevc_split_transform_flag_decode(HEVCContext *s, int log2_trafo_size); int ff_hevc_cbf_cb_cr_decode(HEVCContext *s, int trafo_depth); int ff_hevc_cbf_luma_decode(HEVCContext *s, int trafo_depth); -int ff_hevc_transform_skip_flag_decode(HEVCContext *s, int c_idx); /** * Get the number of candidate references for the current frame. |