FFmpeg
Data Structures | Macros | Enumerations | Functions
vvc_ps.h File Reference
#include "libavcodec/cbs_h266.h"
#include "libavcodec/vvc.h"

Go to the source code of this file.

Data Structures

struct  VVCSPS
 
struct  DBParams
 
struct  VVCPPS
 
struct  PredWeightTable
 
struct  VVCPH
 
struct  VVCALF
 
struct  VVCScalingList
 
struct  VVCLMCS
 
struct  VVCParamSets
 
struct  VVCFrameParamSets
 
struct  VVCSH
 

Macros

#define IS_IDR(s)   ((s)->vcl_unit_type == VVC_IDR_W_RADL || (s)->vcl_unit_type == VVC_IDR_N_LP)
 
#define IS_CRA(s)   ((s)->vcl_unit_type == VVC_CRA_NUT)
 
#define IS_IRAP(s)   (IS_IDR(s) || IS_CRA(s))
 
#define IS_GDR(s)   ((s)->vcl_unit_type == VVC_GDR_NUT)
 
#define IS_CVSS(s)   (IS_IRAP(s)|| IS_GDR(s))
 
#define IS_CLVSS(s)   (IS_CVSS(s) && s->no_output_before_recovery_flag)
 
#define IS_RASL(s)   ((s)->vcl_unit_type == VVC_RASL_NUT)
 
#define IS_RADL(s)   ((s)->vcl_unit_type == VVC_RADL_NUT)
 
#define IS_I(rsh)   ((rsh)->sh_slice_type == VVC_SLICE_TYPE_I)
 
#define IS_P(rsh)   ((rsh)->sh_slice_type == VVC_SLICE_TYPE_P)
 
#define IS_B(rsh)   ((rsh)->sh_slice_type == VVC_SLICE_TYPE_B)
 
#define INV_POC   INT_MIN
 
#define GDR_IS_RECOVERED(s)   (s->gdr_recovery_point_poc == INV_POC)
 
#define GDR_SET_RECOVERED(s)   (s->gdr_recovery_point_poc = INV_POC)
 
#define LMCS_MAX_BIT_DEPTH   12
 
#define LMCS_MAX_LUT_SIZE   (1 << LMCS_MAX_BIT_DEPTH)
 
#define LMCS_MAX_BIN_SIZE   16
 
#define LADF_MAX_INTERVAL   5
 
#define MAX_WEIGHTS   15
 
#define ALF_NUM_FILTERS_LUMA   25
 
#define ALF_NUM_FILTERS_CHROMA   8
 
#define ALF_NUM_FILTERS_CC   4
 
#define ALF_NUM_COEFF_LUMA   12
 
#define ALF_NUM_COEFF_CHROMA   6
 
#define ALF_NUM_COEFF_CC   7
 
#define SL_MAX_MATRIX_SIZE   8
 
#define VVC_MAX_ALF_COUNT   8
 
#define VVC_MAX_LMCS_COUNT   4
 
#define VVC_MAX_SL_COUNT   8
 

Enumerations

enum  { CHROMA_FORMAT_MONO, CHROMA_FORMAT_420, CHROMA_FORMAT_422, CHROMA_FORMAT_444 }
 
enum  {
  SL_START_2x2 = 0, SL_START_4x4 = 2, SL_START_8x8 = 8, SL_START_16x16 = 14,
  SL_START_32x32 = 20, SL_START_64x64 = 26, SL_MAX_ID = 28
}
 

Functions

int ff_vvc_decode_frame_ps (VVCFrameParamSets *fps, struct VVCContext *s)
 
int ff_vvc_decode_aps (VVCParamSets *ps, const CodedBitstreamUnit *unit)
 
int ff_vvc_decode_sh (VVCSH *sh, const VVCFrameParamSets *ps, const CodedBitstreamUnit *unit)
 
void ff_vvc_frame_ps_free (VVCFrameParamSets *fps)
 
void ff_vvc_ps_uninit (VVCParamSets *ps)
 

Macro Definition Documentation

◆ IS_IDR

#define IS_IDR (   s)    ((s)->vcl_unit_type == VVC_IDR_W_RADL || (s)->vcl_unit_type == VVC_IDR_N_LP)

Definition at line 29 of file vvc_ps.h.

◆ IS_CRA

#define IS_CRA (   s)    ((s)->vcl_unit_type == VVC_CRA_NUT)

Definition at line 30 of file vvc_ps.h.

◆ IS_IRAP

#define IS_IRAP (   s)    (IS_IDR(s) || IS_CRA(s))

Definition at line 31 of file vvc_ps.h.

◆ IS_GDR

#define IS_GDR (   s)    ((s)->vcl_unit_type == VVC_GDR_NUT)

Definition at line 32 of file vvc_ps.h.

◆ IS_CVSS

#define IS_CVSS (   s)    (IS_IRAP(s)|| IS_GDR(s))

Definition at line 33 of file vvc_ps.h.

◆ IS_CLVSS

#define IS_CLVSS (   s)    (IS_CVSS(s) && s->no_output_before_recovery_flag)

Definition at line 34 of file vvc_ps.h.

◆ IS_RASL

#define IS_RASL (   s)    ((s)->vcl_unit_type == VVC_RASL_NUT)

Definition at line 35 of file vvc_ps.h.

◆ IS_RADL

#define IS_RADL (   s)    ((s)->vcl_unit_type == VVC_RADL_NUT)

Definition at line 36 of file vvc_ps.h.

◆ IS_I

#define IS_I (   rsh)    ((rsh)->sh_slice_type == VVC_SLICE_TYPE_I)

Definition at line 38 of file vvc_ps.h.

◆ IS_P

#define IS_P (   rsh)    ((rsh)->sh_slice_type == VVC_SLICE_TYPE_P)

Definition at line 39 of file vvc_ps.h.

◆ IS_B

#define IS_B (   rsh)    ((rsh)->sh_slice_type == VVC_SLICE_TYPE_B)

Definition at line 40 of file vvc_ps.h.

◆ INV_POC

#define INV_POC   INT_MIN

Definition at line 42 of file vvc_ps.h.

◆ GDR_IS_RECOVERED

#define GDR_IS_RECOVERED (   s)    (s->gdr_recovery_point_poc == INV_POC)

Definition at line 43 of file vvc_ps.h.

◆ GDR_SET_RECOVERED

#define GDR_SET_RECOVERED (   s)    (s->gdr_recovery_point_poc = INV_POC)

Definition at line 44 of file vvc_ps.h.

◆ LMCS_MAX_BIT_DEPTH

#define LMCS_MAX_BIT_DEPTH   12

Definition at line 46 of file vvc_ps.h.

◆ LMCS_MAX_LUT_SIZE

#define LMCS_MAX_LUT_SIZE   (1 << LMCS_MAX_BIT_DEPTH)

Definition at line 47 of file vvc_ps.h.

◆ LMCS_MAX_BIN_SIZE

#define LMCS_MAX_BIN_SIZE   16

Definition at line 48 of file vvc_ps.h.

◆ LADF_MAX_INTERVAL

#define LADF_MAX_INTERVAL   5

Definition at line 49 of file vvc_ps.h.

◆ MAX_WEIGHTS

#define MAX_WEIGHTS   15

Definition at line 136 of file vvc_ps.h.

◆ ALF_NUM_FILTERS_LUMA

#define ALF_NUM_FILTERS_LUMA   25

Definition at line 157 of file vvc_ps.h.

◆ ALF_NUM_FILTERS_CHROMA

#define ALF_NUM_FILTERS_CHROMA   8

Definition at line 158 of file vvc_ps.h.

◆ ALF_NUM_FILTERS_CC

#define ALF_NUM_FILTERS_CC   4

Definition at line 159 of file vvc_ps.h.

◆ ALF_NUM_COEFF_LUMA

#define ALF_NUM_COEFF_LUMA   12

Definition at line 161 of file vvc_ps.h.

◆ ALF_NUM_COEFF_CHROMA

#define ALF_NUM_COEFF_CHROMA   6

Definition at line 162 of file vvc_ps.h.

◆ ALF_NUM_COEFF_CC

#define ALF_NUM_COEFF_CC   7

Definition at line 163 of file vvc_ps.h.

◆ SL_MAX_MATRIX_SIZE

#define SL_MAX_MATRIX_SIZE   8

Definition at line 187 of file vvc_ps.h.

◆ VVC_MAX_ALF_COUNT

#define VVC_MAX_ALF_COUNT   8

Definition at line 207 of file vvc_ps.h.

◆ VVC_MAX_LMCS_COUNT

#define VVC_MAX_LMCS_COUNT   4

Definition at line 208 of file vvc_ps.h.

◆ VVC_MAX_SL_COUNT

#define VVC_MAX_SL_COUNT   8

Definition at line 209 of file vvc_ps.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
CHROMA_FORMAT_MONO 
CHROMA_FORMAT_420 
CHROMA_FORMAT_422 
CHROMA_FORMAT_444 

Definition at line 51 of file vvc_ps.h.

◆ anonymous enum

anonymous enum
Enumerator
SL_START_2x2 
SL_START_4x4 
SL_START_8x8 
SL_START_16x16 
SL_START_32x32 
SL_START_64x64 
SL_MAX_ID 

Definition at line 177 of file vvc_ps.h.

Function Documentation

◆ ff_vvc_decode_frame_ps()

int ff_vvc_decode_frame_ps ( VVCFrameParamSets fps,
struct VVCContext s 
)

Definition at line 865 of file vvc_ps.c.

Referenced by frame_setup().

◆ ff_vvc_decode_aps()

int ff_vvc_decode_aps ( VVCParamSets ps,
const CodedBitstreamUnit unit 
)

Definition at line 1080 of file vvc_ps.c.

Referenced by decode_nal_unit().

◆ ff_vvc_decode_sh()

int ff_vvc_decode_sh ( VVCSH sh,
const VVCFrameParamSets ps,
const CodedBitstreamUnit unit 
)

Definition at line 1269 of file vvc_ps.c.

Referenced by slice_start().

◆ ff_vvc_frame_ps_free()

void ff_vvc_frame_ps_free ( VVCFrameParamSets fps)

Definition at line 881 of file vvc_ps.c.

Referenced by frame_context_free().

◆ ff_vvc_ps_uninit()

void ff_vvc_ps_uninit ( VVCParamSets ps)

Definition at line 891 of file vvc_ps.c.

Referenced by vvc_decode_free().