FFmpeg
Macros | Functions | Variables
vvc_data.c File Reference
#include <stdint.h>
#include "libavutil/avassert.h"
#include "vvc_data.h"

Go to the source code of this file.

Macros

#define DEFINE_DCT8_P4_MATRIX(a, b, c, d)
 
#define DEFINE_DCT8_P8_MATRIX(a, b, c, d, e, f, g, h)
 
#define DEFINE_DCT8_P16_MATRIX(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
 
#define DEFINE_DCT8_P32_MATRIX(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F)
 
#define DEFINE_DST7_P4_MATRIX(a, b, c, d)
 
#define DEFINE_DST7_P8_MATRIX(a, b, c, d, e, f, g, h)
 
#define DEFINE_DST7_P16_MATRIX(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
 
#define DEFINE_DST7_P32_MATRIX(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F)
 
#define FILTER_G(fact)   { 16 - (fact >> 1), 32 - (fact >> 1), 16 + (fact >> 1), fact >> 1}
 
#define INV   -1
 

Functions

const uint8_t * ff_vvc_get_mip_matrix (const int size_id, const int mode_id)
 

Variables

const uint8_t ff_vvc_diag_scan_x [5][5][16 *16]
 
const uint8_t ff_vvc_diag_scan_y [5][5][16 *16]
 
const uint8_t ff_vvc_scaling_pred_8 [8 *8]
 
const uint8_t ff_vvc_scaling_pred_16 [8 *8]
 
const int ff_vvc_scaling_list0 [8 *8]
 
static const uint8_t mip_matrix_4x4 [16][16][4]
 
static const uint8_t mip_matrix_8x8 [8][16][8]
 
static const uint8_t mip_matrix_16x16 [6][64][7]
 
const int8_t ff_vvc_dct8_4x4 [4][4] = DEFINE_DCT8_P4_MATRIX(84, 74, 55, 29)
 
const int8_t ff_vvc_dct8_8x8 [8][8] = DEFINE_DCT8_P8_MATRIX(86, 85, 78, 71, 60, 46, 32, 17)
 
const int8_t ff_vvc_dct8_16x16 [16][16] = DEFINE_DCT8_P16_MATRIX(88, 88, 87, 85, 81, 77, 73, 68, 62, 55, 48, 40, 33, 25, 17, 8)
 
const int8_t ff_vvc_dct8_32x32 [32][32] = DEFINE_DCT8_P32_MATRIX(90, 90, 89, 88, 87, 86, 85, 84, 82, 80, 78, 77, 74, 72, 68, 66, 63, 60, 56, 53, 50, 46, 42, 38, 34, 30, 26, 21, 17, 13, 9, 4)
 
const int8_t ff_vvc_dst7_4x4 [4][4] = DEFINE_DST7_P4_MATRIX (29, 55, 74, 84)
 
const int8_t ff_vvc_dst7_8x8 [8][8] = DEFINE_DST7_P8_MATRIX (17, 32, 46, 60, 71, 78, 85, 86)
 
const int8_t ff_vvc_dst7_16x16 [16][16] = DEFINE_DST7_P16_MATRIX( 8, 17, 25, 33, 40, 48, 55, 62, 68, 73, 77, 81, 85, 87, 88, 88)
 
const int8_t ff_vvc_dst7_32x32 [32][32] = DEFINE_DST7_P32_MATRIX( 4, 9, 13, 17, 21, 26, 30, 34, 38, 42, 46, 50, 53, 56, 60, 63, 66, 68, 72, 74, 77, 78, 80, 82, 84, 85, 86, 87, 88, 89, 90, 90)
 
const int8_t ff_vvc_lfnst_8x8 [4][2][16][48]
 
const int8_t ff_vvc_lfnst_4x4 [4][2][16][16]
 
const uint8_t ff_vvc_lfnst_tr_set_index [95]
 
uint8_t ff_vvc_default_scale_m [64 *64]
 
const int16_t ff_vvc_alf_fix_filt_coeff [64][12]
 
const uint8_t ff_vvc_alf_class_to_filt_map [16][25]
 
const uint8_t ff_vvc_alf_aps_class_to_filt_map [25]
 
const int8_t ff_vvc_inter_luma_filters [VVC_INTER_FILTER_TYPES][VVC_INTER_LUMA_FACTS][VVC_INTER_LUMA_TAPS]
 
const int8_t ff_vvc_inter_chroma_filters [VVC_INTER_FILTER_TYPES][VVC_INTER_CHROMA_FACTS][VVC_INTER_CHROMA_TAPS]
 
const int8_t ff_vvc_inter_luma_dmvr_filters [VVC_INTER_LUMA_DMVR_FACTS][VVC_INTER_LUMA_DMVR_TAPS]
 
const int8_t ff_vvc_intra_luma_filter [VVC_INTRA_LUMA_TYPES][VVC_INTRA_LUMA_FACTS][VVC_INTRA_LUMA_TAPS]
 
const uint8_t ff_vvc_gpm_angle_idx [VVC_GPM_NUM_PARTITION]
 
const uint8_t ff_vvc_gpm_distance_idx [VVC_GPM_NUM_PARTITION]
 
const int8_t ff_vvc_gpm_distance_lut [VVC_GPM_NUM_ANGLES]
 
const uint8_t ff_vvc_gpm_angle_to_mirror [VVC_GPM_NUM_ANGLES]
 
const uint8_t ff_vvc_gpm_angle_to_weights_idx [VVC_GPM_NUM_ANGLES]
 
const uint8_t ff_vvc_gpm_weights_offset_x [VVC_GPM_NUM_PARTITION][4][4]
 
const uint8_t ff_vvc_gpm_weights_offset_y [VVC_GPM_NUM_PARTITION][4][4]
 
const uint8_t ff_vvc_gpm_weights [6][VVC_GPM_WEIGHT_SIZE *VVC_GPM_WEIGHT_SIZE]
 

Macro Definition Documentation

◆ DEFINE_DCT8_P4_MATRIX

#define DEFINE_DCT8_P4_MATRIX (   a,
  b,
  c,
  d 
)
Value:
{ \
{ a, b, c, d }, \
{ b, 0, -b, -b }, \
{ c, -b, -d, a }, \
{ d, -b, a, -c }, \
}

Definition at line 1158 of file vvc_data.c.

◆ DEFINE_DCT8_P8_MATRIX

#define DEFINE_DCT8_P8_MATRIX (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)
Value:
{ \
{ a, b, c, d, e, f, g, h }, \
{ b, e, h, -g, -d, -a, -c, -f }, \
{ c, h, -e, -a, -f, g, b, d }, \
{ d, -g, -a, -h, c, e, -f, -b }, \
{ e, -d, -f, c, g, -b, -h, a }, \
{ f, -a, g, e, -b, h, d, -c }, \
{ g, -c, b, -f, -h, d, -a, e }, \
{ h, -f, d, -b, a, -c, e, -g }, \
}

Definition at line 1166 of file vvc_data.c.

◆ DEFINE_DCT8_P16_MATRIX

#define DEFINE_DCT8_P16_MATRIX (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
 
)
Value:
{ \
{ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p }, \
{ b, e, h, k, n, 0, -n, -k, -h, -e, -b, -b, -e, -h, -k, -n }, \
{ c, h, m, -p, -k, -f, -a, -e, -j, -o, n, i, d, b, g, l }, \
{ d, k, -p, -i, -b, -f, -m, n, g, a, h, o, -l, -e, -c, -j }, \
{ e, n, -k, -b, -h, 0, h, b, k, -n, -e, -e, -n, k, b, h }, \
{ f, 0, -f, -f, 0, f, f, 0, -f, -f, 0, f, f, 0, -f, -f }, \
{ g, -n, -a, -m, h, f, -o, -b, -l, i, e, -p, -c, -k, j, d }, \
{ h, -k, -e, n, b, 0, -b, -n, e, k, -h, -h, k, e, -n, -b }, \
{ i, -h, -j, g, k, -f, -l, e, m, -d, -n, c, o, -b, -p, a }, \
{ j, -e, -o, a, -n, -f, i, k, -d, -p, b, -m, -g, h, l, -c }, \
{ k, -b, n, h, -e, 0, e, -h, -n, b, -k, -k, b, -n, -h, e }, \
{ l, -b, i, o, -e, f, -p, -h, c, -m, -k, a, -j, -n, d, -g }, \
{ m, -e, d, -l, -n, f, -c, k, o, -g, b, -j, -p, h, -a, i }, \
{ n, -h, b, -e, k, 0, -k, e, -b, h, -n, -n, h, -b, e, -k }, \
{ o, -k, g, -c, b, -f, j, -n, -p, l, -h, d, -a, e, -i, m }, \
{ p, -n, l, -j, h, -f, d, -b, a, -c, e, -g, i, -k, m, -o }, \
}

Definition at line 1178 of file vvc_data.c.

◆ DEFINE_DCT8_P32_MATRIX

#define DEFINE_DCT8_P32_MATRIX (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
  p,
  q,
  r,
  s,
  t,
  u,
  v,
  w,
  x,
  y,
  z,
  A,
  B,
  C,
  D,
  E,
  F 
)

Definition at line 1198 of file vvc_data.c.

◆ DEFINE_DST7_P4_MATRIX

#define DEFINE_DST7_P4_MATRIX (   a,
  b,
  c,
  d 
)
Value:
{ \
{ a, b, c, d }, \
{ c, c, 0, -c }, \
{ d, -a, -c, b }, \
{ b, -d, c, -a }, \
}

Definition at line 1240 of file vvc_data.c.

◆ DEFINE_DST7_P8_MATRIX

#define DEFINE_DST7_P8_MATRIX (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)
Value:
{ \
{ a, b, c, d, e, f, g, h }, \
{ c, f, h, e, b, -a, -d, -g }, \
{ e, g, b, -c, -h, -d, a, f }, \
{ g, c, -d, -f, a, h, b, -e }, \
{ h, -a, -g, b, f, -c, -e, d }, \
{ f, -e, -a, g, -d, -b, h, -c }, \
{ d, -h, e, -a, -c, g, -f, b }, \
{ b, -d, f, -h, g, -e, c, -a }, \
}

Definition at line 1248 of file vvc_data.c.

◆ DEFINE_DST7_P16_MATRIX

#define DEFINE_DST7_P16_MATRIX (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
 
)
Value:
{ \
{ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p }, \
{ c, f, i, l, o, o, l, i, f, c, 0, -c, -f, -i, -l, -o }, \
{ e, j, o, m, h, c, -b, -g, -l, -p, -k, -f, -a, d, i, n }, \
{ g, n, l, e, -b, -i, -p, -j, -c, d, k, o, h, a, -f, -m }, \
{ i, o, f, -c, -l, -l, -c, f, o, i, 0, -i, -o, -f, c, l }, \
{ k, k, 0, -k, -k, 0, k, k, 0, -k, -k, 0, k, k, 0, -k }, \
{ m, g, -f, -n, -a, l, h, -e, -o, -b, k, i, -d, -p, -c, j }, \
{ o, c, -l, -f, i, i, -f, -l, c, o, 0, -o, -c, l, f, -i }, \
{ p, -a, -o, b, n, -c, -m, d, l, -e, -k, f, j, -g, -i, h }, \
{ n, -e, -i, j, d, -o, a, m, -f, -h, k, c, -p, b, l, -g }, \
{ l, -i, -c, o, -f, -f, o, -c, -i, l, 0, -l, i, c, -o, f }, \
{ j, -m, c, g, -p, f, d, -n, i, a, -k, l, -b, -h, o, -e }, \
{ h, -p, i, -a, -g, o, -j, b, f, -n, k, -c, -e, m, -l, d }, \
{ f, -l, o, -i, c, c, -i, o, -l, f, 0, -f, l, -o, i, -c }, \
{ d, -h, l, -p, m, -i, e, -a, -c, g, -k, o, -n, j, -f, b }, \
{ b, -d, f, -h, j, -l, n, -p, o, -m, k, -i, g, -e, c, -a }, \
}

Definition at line 1260 of file vvc_data.c.

◆ DEFINE_DST7_P32_MATRIX

#define DEFINE_DST7_P32_MATRIX (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
  j,
  k,
  l,
  m,
  n,
  o,
  p,
  q,
  r,
  s,
  t,
  u,
  v,
  w,
  x,
  y,
  z,
  A,
  B,
  C,
  D,
  E,
  F 
)

Definition at line 1280 of file vvc_data.c.

◆ FILTER_G

#define FILTER_G (   fact)    { 16 - (fact >> 1), 32 - (fact >> 1), 16 + (fact >> 1), fact >> 1}

Definition at line 1925 of file vvc_data.c.

◆ INV

#define INV   -1

Definition at line 2020 of file vvc_data.c.

Function Documentation

◆ ff_vvc_get_mip_matrix()

const uint8_t* ff_vvc_get_mip_matrix ( const int  size_id,
const int  mode_id 
)

Definition at line 1147 of file vvc_data.c.

Referenced by pred_mip().

Variable Documentation

◆ ff_vvc_diag_scan_x

const uint8_t ff_vvc_diag_scan_x[5][5][16 *16]

Definition at line 27 of file vvc_data.c.

Referenced by ilfnst_transform(), init_residual_coding(), and scaling_derive().

◆ ff_vvc_diag_scan_y

const uint8_t ff_vvc_diag_scan_y[5][5][16 *16]

Definition at line 152 of file vvc_data.c.

Referenced by ilfnst_transform(), init_residual_coding(), and scaling_derive().

◆ ff_vvc_scaling_pred_8

const uint8_t ff_vvc_scaling_pred_8[8 *8]
Initial value:
= {
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
}

Definition at line 277 of file vvc_data.c.

Referenced by scaling_derive().

◆ ff_vvc_scaling_pred_16

const uint8_t ff_vvc_scaling_pred_16[8 *8]
Initial value:
= {
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
}

Definition at line 288 of file vvc_data.c.

Referenced by scaling_derive().

◆ ff_vvc_scaling_list0

const int ff_vvc_scaling_list0[8 *8]
Initial value:
= {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
}

Definition at line 299 of file vvc_data.c.

Referenced by scaling_derive().

◆ mip_matrix_4x4

const uint8_t mip_matrix_4x4[16][16][4]
static

Definition at line 310 of file vvc_data.c.

Referenced by ff_vvc_get_mip_matrix().

◆ mip_matrix_8x8

const uint8_t mip_matrix_8x8[8][16][8]
static

Definition at line 601 of file vvc_data.c.

Referenced by ff_vvc_get_mip_matrix().

◆ mip_matrix_16x16

const uint8_t mip_matrix_16x16[6][64][7]
static

Definition at line 748 of file vvc_data.c.

Referenced by ff_vvc_get_mip_matrix().

◆ ff_vvc_dct8_4x4

const int8_t ff_vvc_dct8_4x4[4][4] = DEFINE_DCT8_P4_MATRIX(84, 74, 55, 29)

Definition at line 1234 of file vvc_data.c.

◆ ff_vvc_dct8_8x8

const int8_t ff_vvc_dct8_8x8[8][8] = DEFINE_DCT8_P8_MATRIX(86, 85, 78, 71, 60, 46, 32, 17)

Definition at line 1235 of file vvc_data.c.

◆ ff_vvc_dct8_16x16

const int8_t ff_vvc_dct8_16x16[16][16] = DEFINE_DCT8_P16_MATRIX(88, 88, 87, 85, 81, 77, 73, 68, 62, 55, 48, 40, 33, 25, 17, 8)

Definition at line 1236 of file vvc_data.c.

◆ ff_vvc_dct8_32x32

const int8_t ff_vvc_dct8_32x32[32][32] = DEFINE_DCT8_P32_MATRIX(90, 90, 89, 88, 87, 86, 85, 84, 82, 80, 78, 77, 74, 72, 68, 66, 63, 60, 56, 53, 50, 46, 42, 38, 34, 30, 26, 21, 17, 13, 9, 4)

Definition at line 1237 of file vvc_data.c.

◆ ff_vvc_dst7_4x4

const int8_t ff_vvc_dst7_4x4[4][4] = DEFINE_DST7_P4_MATRIX (29, 55, 74, 84)

Definition at line 1316 of file vvc_data.c.

◆ ff_vvc_dst7_8x8

const int8_t ff_vvc_dst7_8x8[8][8] = DEFINE_DST7_P8_MATRIX (17, 32, 46, 60, 71, 78, 85, 86)

Definition at line 1317 of file vvc_data.c.

◆ ff_vvc_dst7_16x16

const int8_t ff_vvc_dst7_16x16[16][16] = DEFINE_DST7_P16_MATRIX( 8, 17, 25, 33, 40, 48, 55, 62, 68, 73, 77, 81, 85, 87, 88, 88)

Definition at line 1318 of file vvc_data.c.

◆ ff_vvc_dst7_32x32

const int8_t ff_vvc_dst7_32x32[32][32] = DEFINE_DST7_P32_MATRIX( 4, 9, 13, 17, 21, 26, 30, 34, 38, 42, 46, 50, 53, 56, 60, 63, 66, 68, 72, 74, 77, 78, 80, 82, 84, 85, 86, 87, 88, 89, 90, 90)

Definition at line 1319 of file vvc_data.c.

◆ ff_vvc_lfnst_8x8

const int8_t ff_vvc_lfnst_8x8[4][2][16][48]

Definition at line 1321 of file vvc_data.c.

Referenced by ff_vvc_inv_lfnst_1d().

◆ ff_vvc_lfnst_4x4

const int8_t ff_vvc_lfnst_4x4[4][2][16][16]

Definition at line 1476 of file vvc_data.c.

Referenced by ff_vvc_inv_lfnst_1d().

◆ ff_vvc_lfnst_tr_set_index

const uint8_t ff_vvc_lfnst_tr_set_index[95]
Initial value:
=
{
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
}

Definition at line 1631 of file vvc_data.c.

Referenced by ff_vvc_inv_lfnst_1d().

◆ ff_vvc_default_scale_m

uint8_t ff_vvc_default_scale_m[64 *64]

Definition at line 1641 of file vvc_data.c.

Referenced by derive_scale_m(), and init_default_scale_m().

◆ ff_vvc_alf_fix_filt_coeff

const int16_t ff_vvc_alf_fix_filt_coeff[64][12]

Definition at line 1644 of file vvc_data.c.

Referenced by alf_get_coeff_and_clip().

◆ ff_vvc_alf_class_to_filt_map

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

Definition at line 1712 of file vvc_data.c.

Referenced by alf_get_coeff_and_clip().

◆ ff_vvc_alf_aps_class_to_filt_map

const uint8_t ff_vvc_alf_aps_class_to_filt_map[25]
Initial value:
= {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
}

Definition at line 1731 of file vvc_data.c.

Referenced by alf_get_coeff_and_clip().

◆ ff_vvc_inter_luma_filters

const int8_t ff_vvc_inter_luma_filters[VVC_INTER_FILTER_TYPES][VVC_INTER_LUMA_FACTS][VVC_INTER_LUMA_TAPS]

◆ ff_vvc_inter_chroma_filters

const int8_t ff_vvc_inter_chroma_filters[VVC_INTER_FILTER_TYPES][VVC_INTER_CHROMA_FACTS][VVC_INTER_CHROMA_TAPS]

◆ ff_vvc_inter_luma_dmvr_filters

const int8_t ff_vvc_inter_luma_dmvr_filters[VVC_INTER_LUMA_DMVR_FACTS][VVC_INTER_LUMA_DMVR_TAPS]
Initial value:
= {
{ 16, 0 },
{ 15, 1 },
{ 14, 2 },
{ 13, 3 },
{ 12, 4 },
{ 11, 5 },
{ 10, 6 },
{ 9, 7 },
{ 8, 8 },
{ 7, 9 },
{ 6, 10 },
{ 5, 11 },
{ 4, 12 },
{ 3, 13 },
{ 2, 14 },
{ 1, 15 },
}

Definition at line 1906 of file vvc_data.c.

Referenced by dmvr_h(), dmvr_hv(), and dmvr_v().

◆ ff_vvc_intra_luma_filter

const int8_t ff_vvc_intra_luma_filter[VVC_INTRA_LUMA_TYPES][VVC_INTRA_LUMA_FACTS][VVC_INTRA_LUMA_TAPS]

Definition at line 1927 of file vvc_data.c.

Referenced by pred_angular_h(), and pred_angular_v().

◆ ff_vvc_gpm_angle_idx

const uint8_t ff_vvc_gpm_angle_idx[VVC_GPM_NUM_PARTITION]
Initial value:
= {
0, 0, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5,
5, 5, 8, 8, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13,
14, 14, 14, 14, 16, 16, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21,
21, 21, 24, 24, 27, 27, 27, 28, 28, 28, 29, 29, 29, 30, 30, 30,
}

Definition at line 1998 of file vvc_data.c.

Referenced by ff_vvc_store_gpm_mvf(), and pred_gpm_blk().

◆ ff_vvc_gpm_distance_idx

const uint8_t ff_vvc_gpm_distance_idx[VVC_GPM_NUM_PARTITION]
Initial value:
= {
1, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1,
2, 3, 1, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3,
0, 1, 2, 3, 1, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1,
2, 3, 1, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3,
}

Definition at line 2005 of file vvc_data.c.

Referenced by ff_vvc_store_gpm_mvf().

◆ ff_vvc_gpm_distance_lut

const int8_t ff_vvc_gpm_distance_lut[VVC_GPM_NUM_ANGLES]
Initial value:
= {
8, 8, 8, 8, 4, 4, 2, 1, 0, -1, -2, -4, -4, -8, -8, -8, -8, -8, -8, -8, -4, -4, -2, -1, 0, 1, 2, 4, 4, 8, 8, 8,
}

Definition at line 2012 of file vvc_data.c.

Referenced by ff_vvc_store_gpm_mvf().

◆ ff_vvc_gpm_angle_to_mirror

const uint8_t ff_vvc_gpm_angle_to_mirror[VVC_GPM_NUM_ANGLES]
Initial value:
= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2,
}

Definition at line 2016 of file vvc_data.c.

Referenced by pred_gpm_blk().

◆ ff_vvc_gpm_angle_to_weights_idx

const uint8_t ff_vvc_gpm_angle_to_weights_idx[VVC_GPM_NUM_ANGLES]
Initial value:
= {
0, INV, 1, 2, 3, 4, INV, INV, 5, INV, INV, 4, 3, 2, 1, INV,
0, INV, 1, 2, 3, 4, INV, INV, 5, INV, INV, 4, 3, 2, 1, INV,
}

Definition at line 2021 of file vvc_data.c.

Referenced by pred_gpm_blk().

◆ ff_vvc_gpm_weights_offset_x

const uint8_t ff_vvc_gpm_weights_offset_x[VVC_GPM_NUM_PARTITION][4][4]

Definition at line 2027 of file vvc_data.c.

Referenced by pred_gpm_blk().

◆ ff_vvc_gpm_weights_offset_y

const uint8_t ff_vvc_gpm_weights_offset_y[VVC_GPM_NUM_PARTITION][4][4]

Definition at line 2414 of file vvc_data.c.

Referenced by pred_gpm_blk().

◆ ff_vvc_gpm_weights

const uint8_t ff_vvc_gpm_weights[6][VVC_GPM_WEIGHT_SIZE *VVC_GPM_WEIGHT_SIZE]

Definition at line 2801 of file vvc_data.c.

Referenced by pred_gpm_blk().

b
#define b
Definition: input.c:41
g
const char * g
Definition: vf_curves.c:127
c
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
Definition: undefined.txt:32
f
f
Definition: af_crystalizer.c:121
INV
#define INV
Definition: vvc_data.c:2020
a
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
Definition: undefined.txt:41
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:255
d
d
Definition: ffmpeg_filter.c:409
h
h
Definition: vp9dsp_template.c:2038