FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
hevc_cabac.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "cabac_functions.h"
#include "hevc.h"

Go to the source code of this file.

Macros

#define CABAC_MAX_BIN   100
 
#define CNU   154
 
#define GET_CABAC(ctx)   get_cabac(&s->HEVClc->cc, &s->HEVClc->cabac_state[ctx])
 
#define LAST_SIG_COEFF(elem)
 
#define GET_COORD(offset, n)
 

Functions

void ff_hevc_save_states (HEVCContext *s, int ctb_addr_ts)
 
static void load_states (HEVCContext *s)
 
static void cabac_reinit (HEVCLocalContext *lc)
 
static void cabac_init_decoder (HEVCContext *s)
 
static void cabac_init_state (HEVCContext *s)
 
void ff_hevc_cabac_init (HEVCContext *s, int ctb_addr_ts)
 
int ff_hevc_sao_merge_flag_decode (HEVCContext *s)
 
int ff_hevc_sao_type_idx_decode (HEVCContext *s)
 
int ff_hevc_sao_band_position_decode (HEVCContext *s)
 
int ff_hevc_sao_offset_abs_decode (HEVCContext *s)
 
int ff_hevc_sao_offset_sign_decode (HEVCContext *s)
 
int ff_hevc_sao_eo_class_decode (HEVCContext *s)
 
int ff_hevc_end_of_slice_flag_decode (HEVCContext *s)
 
int ff_hevc_cu_transquant_bypass_flag_decode (HEVCContext *s)
 
int ff_hevc_skip_flag_decode (HEVCContext *s, int x0, int y0, int x_cb, int y_cb)
 
int ff_hevc_cu_qp_delta_abs (HEVCContext *s)
 
int ff_hevc_cu_qp_delta_sign_flag (HEVCContext *s)
 
int ff_hevc_pred_mode_decode (HEVCContext *s)
 
int ff_hevc_split_coding_unit_flag_decode (HEVCContext *s, int ct_depth, int x0, int y0)
 
int ff_hevc_part_mode_decode (HEVCContext *s, int log2_cb_size)
 
int ff_hevc_pcm_flag_decode (HEVCContext *s)
 
int ff_hevc_prev_intra_luma_pred_flag_decode (HEVCContext *s)
 
int ff_hevc_mpm_idx_decode (HEVCContext *s)
 
int ff_hevc_rem_intra_luma_pred_mode_decode (HEVCContext *s)
 
int ff_hevc_intra_chroma_pred_mode_decode (HEVCContext *s)
 
int ff_hevc_merge_idx_decode (HEVCContext *s)
 
int ff_hevc_merge_flag_decode (HEVCContext *s)
 
int ff_hevc_inter_pred_idc_decode (HEVCContext *s, int nPbW, int nPbH)
 
int ff_hevc_ref_idx_lx_decode (HEVCContext *s, int num_ref_idx_lx)
 
int ff_hevc_mvp_lx_flag_decode (HEVCContext *s)
 
int ff_hevc_no_residual_syntax_flag_decode (HEVCContext *s)
 
static av_always_inline int abs_mvd_greater0_flag_decode (HEVCContext *s)
 
static av_always_inline int abs_mvd_greater1_flag_decode (HEVCContext *s)
 
static av_always_inline int mvd_decode (HEVCContext *s)
 
static av_always_inline int mvd_sign_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)
 
static av_always_inline int last_significant_coeff_x_prefix_decode (HEVCContext *s, int c_idx, int log2_size)
 
static av_always_inline int last_significant_coeff_y_prefix_decode (HEVCContext *s, int c_idx, int log2_size)
 
static av_always_inline int last_significant_coeff_suffix_decode (HEVCContext *s, int last_significant_coeff_prefix)
 
static av_always_inline int significant_coeff_group_flag_decode (HEVCContext *s, int c_idx, int ctx_cg)
 
static av_always_inline int significant_coeff_flag_decode (HEVCContext *s, int c_idx, int x_c, int y_c, int log2_trafo_size, int scan_idx, int prev_sig)
 
static av_always_inline int coeff_abs_level_greater1_flag_decode (HEVCContext *s, int c_idx, int inc)
 
static av_always_inline int coeff_abs_level_greater2_flag_decode (HEVCContext *s, int c_idx, int inc)
 
static av_always_inline int coeff_abs_level_remaining_decode (HEVCContext *s, int base_level, int rc_rice_param)
 
static av_always_inline int coeff_sign_flag_decode (HEVCContext *s, uint8_t nb)
 
void ff_hevc_hls_residual_coding (HEVCContext *s, int x0, int y0, int log2_trafo_size, enum ScanType scan_idx, int c_idx)
 
void ff_hevc_hls_mvd_coding (HEVCContext *s, int x0, int y0, int log2_cb_size)
 

Variables

static const int8_t num_bins_in_se []
 number of bin by SyntaxElement.
 
static const int elem_offset [sizeof(num_bins_in_se)]
 Offset to ctxIdx 0 in init_values and states, indexed by SyntaxElement.
 
static const uint8_t init_values [3][HEVC_CONTEXTS]
 Indexed by init_type.
 
static const uint8_t scan_1x1 [1]
 
static const uint8_t horiz_scan2x2_x [4]
 
static const uint8_t horiz_scan2x2_y [4]
 
static const uint8_t horiz_scan4x4_x [16]
 
static const uint8_t horiz_scan4x4_y [16]
 
static const uint8_t horiz_scan8x8_inv [8][8]
 
static const uint8_t diag_scan4x1_x [4]
 
static const uint8_t diag_scan1x4_y [4]
 
static const uint8_t diag_scan2x2_x [4]
 
static const uint8_t diag_scan2x2_y [4]
 
static const uint8_t diag_scan2x2_inv [2][2]
 
static const uint8_t diag_scan8x2_x [16]
 
static const uint8_t diag_scan8x2_y [16]
 
static const uint8_t diag_scan8x2_inv [2][8]
 
static const uint8_t diag_scan2x8_x [16]
 
static const uint8_t diag_scan2x8_y [16]
 
static const uint8_t diag_scan2x8_inv [8][2]
 
const uint8_t ff_hevc_diag_scan4x4_x [16]
 
const uint8_t ff_hevc_diag_scan4x4_y [16]
 
static const uint8_t diag_scan4x4_inv [4][4]
 
const uint8_t ff_hevc_diag_scan8x8_x [64]
 
const uint8_t ff_hevc_diag_scan8x8_y [64]
 
static const uint8_t diag_scan8x8_inv [8][8]
 

Macro Definition Documentation

#define CABAC_MAX_BIN   100
#define CNU   154

Definition at line 130 of file hevc_cabac.c.

#define GET_CABAC (   ctx)    get_cabac(&s->HEVClc->cc, &s->HEVClc->cabac_state[ctx])
#define LAST_SIG_COEFF (   elem)
Value:
int i = 0; \
int max = (log2_size << 1) - 1; \
int ctx_offset, ctx_shift; \
if (c_idx == 0) { \
ctx_offset = 3 * (log2_size - 2) + ((log2_size - 1) >> 2); \
ctx_shift = (log2_size + 1) >> 2; \
} else { \
ctx_offset = 15; \
ctx_shift = log2_size - 2; \
} \
while (i < max && \
GET_CABAC(elem_offset[elem] + (i >> ctx_shift) + ctx_offset)) \
i++; \
return i;

Definition at line 900 of file hevc_cabac.c.

Referenced by last_significant_coeff_x_prefix_decode(), and last_significant_coeff_y_prefix_decode().

#define GET_COORD (   offset,
  n 
)
Value:
do { \
x_c = (scan_x_cg[offset >> 4] << 2) + scan_x_off[n]; \
y_c = (scan_y_cg[offset >> 4] << 2) + scan_y_off[n]; \
} while (0)

Referenced by ff_hevc_hls_residual_coding().

Function Documentation

void ff_hevc_save_states ( HEVCContext s,
int  ctb_addr_ts 
)

Definition at line 498 of file hevc_cabac.c.

Referenced by hls_decode_entry(), and hls_decode_entry_wpp().

static void load_states ( HEVCContext s)
static

Definition at line 508 of file hevc_cabac.c.

Referenced by ff_hevc_cabac_init().

static void cabac_reinit ( HEVCLocalContext lc)
static

Definition at line 513 of file hevc_cabac.c.

Referenced by ff_hevc_cabac_init().

static void cabac_init_decoder ( HEVCContext s)
static

Definition at line 518 of file hevc_cabac.c.

Referenced by ff_hevc_cabac_init().

static void cabac_init_state ( HEVCContext s)
static

Definition at line 528 of file hevc_cabac.c.

Referenced by ff_hevc_cabac_init().

void ff_hevc_cabac_init ( HEVCContext s,
int  ctb_addr_ts 
)

Definition at line 549 of file hevc_cabac.c.

Referenced by hls_decode_entry(), and hls_decode_entry_wpp().

int ff_hevc_sao_merge_flag_decode ( HEVCContext s)

Definition at line 595 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_type_idx_decode ( HEVCContext s)

Definition at line 600 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_band_position_decode ( HEVCContext s)

Definition at line 610 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_offset_abs_decode ( HEVCContext s)

Definition at line 620 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_offset_sign_decode ( HEVCContext s)

Definition at line 630 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_eo_class_decode ( HEVCContext s)

Definition at line 635 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_end_of_slice_flag_decode ( HEVCContext s)

Definition at line 642 of file hevc_cabac.c.

Referenced by hls_coding_quadtree().

int ff_hevc_cu_transquant_bypass_flag_decode ( HEVCContext s)

Definition at line 647 of file hevc_cabac.c.

Referenced by hls_coding_unit().

int ff_hevc_skip_flag_decode ( HEVCContext s,
int  x0,
int  y0,
int  x_cb,
int  y_cb 
)

Definition at line 652 of file hevc_cabac.c.

Referenced by hls_coding_unit().

int ff_hevc_cu_qp_delta_abs ( HEVCContext s)

Definition at line 667 of file hevc_cabac.c.

Referenced by hls_transform_unit().

int ff_hevc_cu_qp_delta_sign_flag ( HEVCContext s)

Definition at line 692 of file hevc_cabac.c.

Referenced by hls_transform_unit().

int ff_hevc_pred_mode_decode ( HEVCContext s)

Definition at line 697 of file hevc_cabac.c.

Referenced by hls_coding_unit().

int ff_hevc_split_coding_unit_flag_decode ( HEVCContext s,
int  ct_depth,
int  x0,
int  y0 
)

Definition at line 702 of file hevc_cabac.c.

Referenced by hls_coding_quadtree().

int ff_hevc_part_mode_decode ( HEVCContext s,
int  log2_cb_size 
)

Definition at line 721 of file hevc_cabac.c.

Referenced by hls_coding_unit().

int ff_hevc_pcm_flag_decode ( HEVCContext s)

Definition at line 758 of file hevc_cabac.c.

Referenced by hls_coding_unit().

int ff_hevc_prev_intra_luma_pred_flag_decode ( HEVCContext s)

Definition at line 763 of file hevc_cabac.c.

Referenced by intra_prediction_unit().

int ff_hevc_mpm_idx_decode ( HEVCContext s)

Definition at line 768 of file hevc_cabac.c.

Referenced by intra_prediction_unit().

int ff_hevc_rem_intra_luma_pred_mode_decode ( HEVCContext s)

Definition at line 776 of file hevc_cabac.c.

Referenced by intra_prediction_unit().

int ff_hevc_intra_chroma_pred_mode_decode ( HEVCContext s)

Definition at line 786 of file hevc_cabac.c.

Referenced by intra_prediction_unit().

int ff_hevc_merge_idx_decode ( HEVCContext s)

Definition at line 797 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

int ff_hevc_merge_flag_decode ( HEVCContext s)

Definition at line 808 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

int ff_hevc_inter_pred_idc_decode ( HEVCContext s,
int  nPbW,
int  nPbH 
)

Definition at line 813 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

int ff_hevc_ref_idx_lx_decode ( HEVCContext s,
int  num_ref_idx_lx 
)

Definition at line 823 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

int ff_hevc_mvp_lx_flag_decode ( HEVCContext s)

Definition at line 839 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

int ff_hevc_no_residual_syntax_flag_decode ( HEVCContext s)

Definition at line 844 of file hevc_cabac.c.

Referenced by hls_coding_unit().

static av_always_inline int abs_mvd_greater0_flag_decode ( HEVCContext s)
static

Definition at line 849 of file hevc_cabac.c.

Referenced by ff_hevc_hls_mvd_coding().

static av_always_inline int abs_mvd_greater1_flag_decode ( HEVCContext s)
static

Definition at line 854 of file hevc_cabac.c.

Referenced by ff_hevc_hls_mvd_coding().

static av_always_inline int mvd_decode ( HEVCContext s)
static

Definition at line 859 of file hevc_cabac.c.

Referenced by ff_hevc_hls_mvd_coding().

static av_always_inline int mvd_sign_flag_decode ( HEVCContext s)
static

Definition at line 875 of file hevc_cabac.c.

Referenced by ff_hevc_hls_mvd_coding().

int ff_hevc_split_transform_flag_decode ( HEVCContext s,
int  log2_trafo_size 
)

Definition at line 880 of file hevc_cabac.c.

Referenced by hls_transform_tree().

int ff_hevc_cbf_cb_cr_decode ( HEVCContext s,
int  trafo_depth 
)

Definition at line 885 of file hevc_cabac.c.

Referenced by hls_transform_tree().

int ff_hevc_cbf_luma_decode ( HEVCContext s,
int  trafo_depth 
)

Definition at line 890 of file hevc_cabac.c.

Referenced by hls_transform_tree().

int ff_hevc_transform_skip_flag_decode ( HEVCContext s,
int  c_idx 
)

Definition at line 895 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int last_significant_coeff_x_prefix_decode ( HEVCContext s,
int  c_idx,
int  log2_size 
)
static

Definition at line 917 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int last_significant_coeff_y_prefix_decode ( HEVCContext s,
int  c_idx,
int  log2_size 
)
static

Definition at line 923 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int last_significant_coeff_suffix_decode ( HEVCContext s,
int  last_significant_coeff_prefix 
)
static

Definition at line 929 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int significant_coeff_group_flag_decode ( HEVCContext s,
int  c_idx,
int  ctx_cg 
)
static

Definition at line 941 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int significant_coeff_flag_decode ( HEVCContext s,
int  c_idx,
int  x_c,
int  y_c,
int  log2_trafo_size,
int  scan_idx,
int  prev_sig 
)
static

Definition at line 950 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int coeff_abs_level_greater1_flag_decode ( HEVCContext s,
int  c_idx,
int  inc 
)
static

Definition at line 1001 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int coeff_abs_level_greater2_flag_decode ( HEVCContext s,
int  c_idx,
int  inc 
)
static

Definition at line 1010 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int coeff_abs_level_remaining_decode ( HEVCContext s,
int  base_level,
int  rc_rice_param 
)
static

Definition at line 1018 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

static av_always_inline int coeff_sign_flag_decode ( HEVCContext s,
uint8_t  nb 
)
static

Definition at line 1043 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

void ff_hevc_hls_residual_coding ( HEVCContext s,
int  x0,
int  y0,
int  log2_trafo_size,
enum ScanType  scan_idx,
int  c_idx 
)

Definition at line 1053 of file hevc_cabac.c.

Referenced by hls_transform_unit().

void ff_hevc_hls_mvd_coding ( HEVCContext s,
int  x0,
int  y0,
int  log2_cb_size 
)

Definition at line 1396 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

Variable Documentation

const int8_t num_bins_in_se[]
static

number of bin by SyntaxElement.

Definition at line 35 of file hevc_cabac.c.

const int elem_offset[sizeof(num_bins_in_se)]
static
const uint8_t init_values[3][HEVC_CONTEXTS]
static

Indexed by init_type.

Definition at line 134 of file hevc_cabac.c.

Referenced by cabac_init_state().

const uint8_t scan_1x1[1]
static
Initial value:
= {
0,
}

Definition at line 326 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t horiz_scan2x2_x[4]
static
Initial value:
= {
0, 1, 0, 1,
}

Definition at line 330 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t horiz_scan2x2_y[4]
static
Initial value:
= {
0, 0, 1, 1
}

Definition at line 334 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t horiz_scan4x4_x[16]
static
Initial value:
= {
0, 1, 2, 3,
0, 1, 2, 3,
0, 1, 2, 3,
0, 1, 2, 3,
}

Definition at line 338 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t horiz_scan4x4_y[16]
static
Initial value:
= {
0, 0, 0, 0,
1, 1, 1, 1,
2, 2, 2, 2,
3, 3, 3, 3,
}

Definition at line 345 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t horiz_scan8x8_inv[8][8]
static
Initial value:
= {
{ 0, 1, 2, 3, 16, 17, 18, 19, },
{ 4, 5, 6, 7, 20, 21, 22, 23, },
{ 8, 9, 10, 11, 24, 25, 26, 27, },
{ 12, 13, 14, 15, 28, 29, 30, 31, },
{ 32, 33, 34, 35, 48, 49, 50, 51, },
{ 36, 37, 38, 39, 52, 53, 54, 55, },
{ 40, 41, 42, 43, 56, 57, 58, 59, },
{ 44, 45, 46, 47, 60, 61, 62, 63, },
}

Definition at line 352 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t diag_scan4x1_x[4]
static
Initial value:
= {
0, 1, 2, 3,
}

Definition at line 363 of file hevc_cabac.c.

const uint8_t diag_scan1x4_y[4]
static
Initial value:
= {
0, 1, 2, 3,
}

Definition at line 367 of file hevc_cabac.c.

const uint8_t diag_scan2x2_x[4]
static
Initial value:
= {
0, 0, 1, 1,
}

Definition at line 371 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t diag_scan2x2_y[4]
static
Initial value:
= {
0, 1, 0, 1,
}

Definition at line 375 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t diag_scan2x2_inv[2][2]
static
Initial value:
= {
{ 0, 2, },
{ 1, 3, },
}

Definition at line 379 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t diag_scan8x2_x[16]
static
Initial value:
= {
0, 0, 1, 1,
2, 2, 3, 3,
4, 4, 5, 5,
6, 6, 7, 7,
}

Definition at line 384 of file hevc_cabac.c.

const uint8_t diag_scan8x2_y[16]
static
Initial value:
= {
0, 1, 0, 1,
0, 1, 0, 1,
0, 1, 0, 1,
0, 1, 0, 1,
}

Definition at line 391 of file hevc_cabac.c.

const uint8_t diag_scan8x2_inv[2][8]
static
Initial value:
= {
{ 0, 2, 4, 6, 8, 10, 12, 14, },
{ 1, 3, 5, 7, 9, 11, 13, 15, },
}

Definition at line 398 of file hevc_cabac.c.

const uint8_t diag_scan2x8_x[16]
static
Initial value:
= {
0, 0, 1, 0,
1, 0, 1, 0,
1, 0, 1, 0,
1, 0, 1, 1,
}

Definition at line 403 of file hevc_cabac.c.

const uint8_t diag_scan2x8_y[16]
static
Initial value:
= {
0, 1, 0, 2,
1, 3, 2, 4,
3, 5, 4, 6,
5, 7, 6, 7,
}

Definition at line 410 of file hevc_cabac.c.

const uint8_t diag_scan2x8_inv[8][2]
static
Initial value:
= {
{ 0, 2, },
{ 1, 4, },
{ 3, 6, },
{ 5, 8, },
{ 7, 10, },
{ 9, 12, },
{ 11, 14, },
{ 13, 15, },
}

Definition at line 417 of file hevc_cabac.c.

const uint8_t ff_hevc_diag_scan4x4_x[16]
Initial value:
= {
0, 0, 1, 0,
1, 2, 0, 1,
2, 3, 1, 2,
3, 2, 3, 3,
}

Definition at line 428 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding(), and scaling_list_data().

const uint8_t ff_hevc_diag_scan4x4_y[16]
Initial value:
= {
0, 1, 0, 2,
1, 0, 3, 2,
1, 0, 3, 2,
1, 3, 2, 3,
}

Definition at line 435 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding(), and scaling_list_data().

const uint8_t diag_scan4x4_inv[4][4]
static
Initial value:
= {
{ 0, 2, 5, 9, },
{ 1, 4, 8, 12, },
{ 3, 7, 11, 14, },
{ 6, 10, 13, 15, },
}

Definition at line 442 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().

const uint8_t ff_hevc_diag_scan8x8_x[64]
Initial value:
= {
0, 0, 1, 0,
1, 2, 0, 1,
2, 3, 0, 1,
2, 3, 4, 0,
1, 2, 3, 4,
5, 0, 1, 2,
3, 4, 5, 6,
0, 1, 2, 3,
4, 5, 6, 7,
1, 2, 3, 4,
5, 6, 7, 2,
3, 4, 5, 6,
7, 3, 4, 5,
6, 7, 4, 5,
6, 7, 5, 6,
7, 6, 7, 7,
}

Definition at line 449 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding(), and scaling_list_data().

const uint8_t ff_hevc_diag_scan8x8_y[64]
Initial value:
= {
0, 1, 0, 2,
1, 0, 3, 2,
1, 0, 4, 3,
2, 1, 0, 5,
4, 3, 2, 1,
0, 6, 5, 4,
3, 2, 1, 0,
7, 6, 5, 4,
3, 2, 1, 0,
7, 6, 5, 4,
3, 2, 1, 7,
6, 5, 4, 3,
2, 7, 6, 5,
4, 3, 7, 6,
5, 4, 7, 6,
5, 7, 6, 7,
}

Definition at line 468 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding(), and scaling_list_data().

const uint8_t diag_scan8x8_inv[8][8]
static
Initial value:
= {
{ 0, 2, 5, 9, 14, 20, 27, 35, },
{ 1, 4, 8, 13, 19, 26, 34, 42, },
{ 3, 7, 12, 18, 25, 33, 41, 48, },
{ 6, 11, 17, 24, 32, 40, 47, 53, },
{ 10, 16, 23, 31, 39, 46, 52, 57, },
{ 15, 22, 30, 38, 45, 51, 56, 60, },
{ 21, 29, 37, 44, 50, 55, 59, 62, },
{ 28, 36, 43, 49, 54, 58, 61, 63, },
}

Definition at line 487 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().