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 904 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 504 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 514 of file hevc_cabac.c.

Referenced by ff_hevc_cabac_init().

static void cabac_reinit ( HEVCLocalContext lc)
static

Definition at line 519 of file hevc_cabac.c.

Referenced by ff_hevc_cabac_init().

static void cabac_init_decoder ( HEVCContext s)
static

Definition at line 524 of file hevc_cabac.c.

Referenced by ff_hevc_cabac_init().

static void cabac_init_state ( HEVCContext s)
static

Definition at line 534 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 555 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 600 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_type_idx_decode ( HEVCContext s)

Definition at line 605 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_band_position_decode ( HEVCContext s)

Definition at line 615 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_offset_abs_decode ( HEVCContext s)

Definition at line 625 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_offset_sign_decode ( HEVCContext s)

Definition at line 635 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_sao_eo_class_decode ( HEVCContext s)

Definition at line 640 of file hevc_cabac.c.

Referenced by hls_sao_param().

int ff_hevc_end_of_slice_flag_decode ( HEVCContext s)

Definition at line 647 of file hevc_cabac.c.

Referenced by hls_coding_quadtree().

int ff_hevc_cu_transquant_bypass_flag_decode ( HEVCContext s)

Definition at line 652 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 657 of file hevc_cabac.c.

Referenced by hls_coding_unit().

int ff_hevc_cu_qp_delta_abs ( HEVCContext s)

Definition at line 672 of file hevc_cabac.c.

Referenced by hls_transform_unit().

int ff_hevc_cu_qp_delta_sign_flag ( HEVCContext s)

Definition at line 697 of file hevc_cabac.c.

Referenced by hls_transform_unit().

int ff_hevc_pred_mode_decode ( HEVCContext s)

Definition at line 702 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 707 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 725 of file hevc_cabac.c.

Referenced by hls_coding_unit().

int ff_hevc_pcm_flag_decode ( HEVCContext s)

Definition at line 762 of file hevc_cabac.c.

Referenced by hls_coding_unit().

int ff_hevc_prev_intra_luma_pred_flag_decode ( HEVCContext s)

Definition at line 767 of file hevc_cabac.c.

Referenced by intra_prediction_unit().

int ff_hevc_mpm_idx_decode ( HEVCContext s)

Definition at line 772 of file hevc_cabac.c.

Referenced by intra_prediction_unit().

int ff_hevc_rem_intra_luma_pred_mode_decode ( HEVCContext s)

Definition at line 780 of file hevc_cabac.c.

Referenced by intra_prediction_unit().

int ff_hevc_intra_chroma_pred_mode_decode ( HEVCContext s)

Definition at line 790 of file hevc_cabac.c.

Referenced by intra_prediction_unit().

int ff_hevc_merge_idx_decode ( HEVCContext s)

Definition at line 801 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

int ff_hevc_merge_flag_decode ( HEVCContext s)

Definition at line 812 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 817 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 827 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

int ff_hevc_mvp_lx_flag_decode ( HEVCContext s)

Definition at line 843 of file hevc_cabac.c.

Referenced by hls_prediction_unit().

int ff_hevc_no_residual_syntax_flag_decode ( HEVCContext s)

Definition at line 848 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 853 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 858 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 863 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 879 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 884 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 889 of file hevc_cabac.c.

Referenced by hls_transform_tree().

int ff_hevc_cbf_luma_decode ( HEVCContext s,
int  trafo_depth 
)

Definition at line 894 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 899 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 921 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 927 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 933 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 945 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 954 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 1006 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 1015 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 1023 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 1048 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 1058 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 1401 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 332 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 336 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 340 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 344 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 351 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 358 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 369 of file hevc_cabac.c.

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

Definition at line 373 of file hevc_cabac.c.

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

Definition at line 377 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 381 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 385 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 390 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 397 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 404 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 409 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 416 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 423 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 434 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 441 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 448 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 455 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 474 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 493 of file hevc_cabac.c.

Referenced by ff_hevc_hls_residual_coding().