FFmpeg
Loading...
Searching...
No Matches
data.h
Go to the documentation of this file.
1/*
2 * VVC shared tables
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21#ifndef AVCODEC_VVC_DATA_H
22#define AVCODEC_VVC_DATA_H
23
24#include <stdint.h>
25
27
29extern const uint8_t ff_vvc_diag_scan_x[5][5][16 * 16];
30extern const uint8_t ff_vvc_diag_scan_y[5][5][16 * 16];
31
32extern const uint8_t ff_vvc_scaling_pred_8[8 * 8];
33extern const uint8_t ff_vvc_scaling_pred_16[8 * 8];
34extern const int ff_vvc_scaling_list0[8 * 8];
35
36extern const int8_t ff_vvc_dct8_4x4[4][4];
37extern const int8_t ff_vvc_dct8_8x8[8][8];
38extern const int8_t ff_vvc_dct8_16x16[16][16];
39extern const int8_t ff_vvc_dct8_32x32[32][32];
40extern const int8_t ff_vvc_dst7_4x4[4][4];
41extern const int8_t ff_vvc_dst7_8x8[8][8];
42extern const int8_t ff_vvc_dst7_16x16[16][16];
43extern const int8_t ff_vvc_dst7_32x32[32][32];
44extern const int8_t ff_vvc_lfnst_4x4[4][2][16][16];
45extern const int8_t ff_vvc_lfnst_8x8[4][2][16][48];
46extern const uint8_t ff_vvc_lfnst_tr_set_index[95];
47extern uint8_t ff_vvc_default_scale_m[64 * 64];
48
49#define VVC_INTER_LUMA_FILTER_TYPE_AFFINE 4
50
51#define VVC_INTER_LUMA_FILTER_TYPES 7
52#define VVC_INTER_CHROMA_FILTER_TYPES 3
53
54#define VVC_INTER_LUMA_FACTS 16
55#define VVC_INTER_LUMA_TAPS 8
56#define VVC_INTER_CHROMA_FACTS 32
57#define VVC_INTER_CHROMA_TAPS 4
58#define VVC_INTER_LUMA_DMVR_FACTS 16
59#define VVC_INTER_LUMA_DMVR_TAPS 2
63
64#define VVC_INTRA_LUMA_TYPES 2
65#define VVC_INTRA_LUMA_FACTS 32
66#define VVC_INTRA_LUMA_TAPS 4
68
69#define VVC_GPM_NUM_PARTITION 64
70#define VVC_GPM_NUM_ANGLES 32
71#define VVC_GPM_WEIGHT_SIZE 112
77extern const uint8_t ff_vvc_gpm_weights_offset_x[VVC_GPM_NUM_PARTITION][4][4];
78extern const uint8_t ff_vvc_gpm_weights_offset_y[VVC_GPM_NUM_PARTITION][4][4];
80
81extern const int16_t ff_vvc_alf_fix_filt_coeff[64][12];
82extern const uint8_t ff_vvc_alf_class_to_filt_map[16][25];
83extern const uint8_t ff_vvc_alf_aps_class_to_filt_map[25];
84
85const uint8_t* ff_vvc_get_mip_matrix(const int size_id, const int mode_idx);
87
88#endif /* AVCODEC_VVC_DATA_H */
#define FF_VISIBILITY_PUSH_HIDDEN
#define FF_VISIBILITY_POP_HIDDEN
const uint8_t ff_vvc_scaling_pred_16[8 *8]
Definition data.c:288
const int8_t ff_vvc_dst7_16x16[16][16]
Definition data.c:1318
const uint8_t ff_vvc_gpm_angle_to_mirror[VVC_GPM_NUM_ANGLES]
Definition data.c:2095
const int8_t ff_vvc_dct8_4x4[4][4]
Definition data.c:1234
const int8_t ff_vvc_dst7_4x4[4][4]
Definition data.c:1316
const int8_t ff_vvc_dst7_32x32[32][32]
Definition data.c:1319
const uint8_t ff_vvc_scaling_pred_8[8 *8]
Definition data.c:277
const uint8_t ff_vvc_gpm_weights_offset_y[VVC_GPM_NUM_PARTITION][4][4]
Definition data.c:2493
const int8_t ff_vvc_dct8_8x8[8][8]
Definition data.c:1235
const int8_t ff_vvc_intra_luma_filter[VVC_INTRA_LUMA_TYPES][VVC_INTRA_LUMA_FACTS][VVC_INTRA_LUMA_TAPS]
Definition data.c:2006
const int8_t ff_vvc_inter_luma_dmvr_filters[VVC_INTER_LUMA_DMVR_FACTS][VVC_INTER_LUMA_DMVR_TAPS]
Definition data.c:1985
uint8_t ff_vvc_default_scale_m[64 *64]
Definition data.c:1641
const uint8_t ff_vvc_gpm_angle_idx[VVC_GPM_NUM_PARTITION]
Definition data.c:2077
const int16_t ff_vvc_alf_fix_filt_coeff[64][12]
Definition data.c:1644
const uint8_t ff_vvc_lfnst_tr_set_index[95]
Definition data.c:1631
const int8_t ff_vvc_lfnst_4x4[4][2][16][16]
Definition data.c:1476
const int8_t ff_vvc_gpm_distance_lut[VVC_GPM_NUM_ANGLES]
Definition data.c:2091
const uint8_t ff_vvc_gpm_angle_to_weights_idx[VVC_GPM_NUM_ANGLES]
Definition data.c:2100
const int8_t ff_vvc_lfnst_8x8[4][2][16][48]
Definition data.c:1321
const uint8_t ff_vvc_gpm_weights_offset_x[VVC_GPM_NUM_PARTITION][4][4]
Definition data.c:2106
const int8_t ff_vvc_dst7_8x8[8][8]
Definition data.c:1317
const uint8_t ff_vvc_gpm_distance_idx[VVC_GPM_NUM_PARTITION]
Definition data.c:2084
const int8_t ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPES][VVC_INTER_LUMA_FACTS][VVC_INTER_LUMA_TAPS]
Definition data.c:1735
const int ff_vvc_scaling_list0[8 *8]
Definition data.c:299
const uint8_t ff_vvc_gpm_weights[6][VVC_GPM_WEIGHT_SIZE *VVC_GPM_WEIGHT_SIZE]
Definition data.c:2880
const uint8_t ff_vvc_diag_scan_y[5][5][16 *16]
Definition data.c:152
const uint8_t ff_vvc_alf_class_to_filt_map[16][25]
Definition data.c:1712
const int8_t ff_vvc_dct8_16x16[16][16]
Definition data.c:1236
const int8_t ff_vvc_inter_chroma_filters[VVC_INTER_CHROMA_FILTER_TYPES][VVC_INTER_CHROMA_FACTS][VVC_INTER_CHROMA_TAPS]
Definition data.c:1877
const uint8_t ff_vvc_diag_scan_x[5][5][16 *16]
Definition data.c:27
const uint8_t ff_vvc_alf_aps_class_to_filt_map[25]
Definition data.c:1731
const int8_t ff_vvc_dct8_32x32[32][32]
Definition data.c:1237
#define VVC_INTRA_LUMA_TAPS
Definition data.h:66
#define VVC_INTER_LUMA_FILTER_TYPES
Definition data.h:51
#define VVC_INTRA_LUMA_TYPES
Definition data.h:64
#define VVC_GPM_NUM_ANGLES
Definition data.h:70
#define VVC_INTER_CHROMA_TAPS
Definition data.h:57
const uint8_t * ff_vvc_get_mip_matrix(const int size_id, const int mode_idx)
Definition data.c:1147
#define VVC_INTER_LUMA_FACTS
Definition data.h:54
#define VVC_INTER_LUMA_DMVR_FACTS
Definition data.h:58
#define VVC_INTER_CHROMA_FILTER_TYPES
Definition data.h:52
#define VVC_INTRA_LUMA_FACTS
Definition data.h:65
#define VVC_GPM_WEIGHT_SIZE
Definition data.h:71
#define VVC_INTER_LUMA_TAPS
Definition data.h:55
#define VVC_INTER_LUMA_DMVR_TAPS
Definition data.h:59
#define VVC_INTER_CHROMA_FACTS
Definition data.h:56
#define VVC_GPM_NUM_PARTITION
Definition data.h:69