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 132 of file vvc_ps.h.

◆ ALF_NUM_FILTERS_LUMA

#define ALF_NUM_FILTERS_LUMA   25

Definition at line 153 of file vvc_ps.h.

◆ ALF_NUM_FILTERS_CHROMA

#define ALF_NUM_FILTERS_CHROMA   8

Definition at line 154 of file vvc_ps.h.

◆ ALF_NUM_FILTERS_CC

#define ALF_NUM_FILTERS_CC   4

Definition at line 155 of file vvc_ps.h.

◆ ALF_NUM_COEFF_LUMA

#define ALF_NUM_COEFF_LUMA   12

Definition at line 157 of file vvc_ps.h.

◆ ALF_NUM_COEFF_CHROMA

#define ALF_NUM_COEFF_CHROMA   6

Definition at line 158 of file vvc_ps.h.

◆ ALF_NUM_COEFF_CC

#define ALF_NUM_COEFF_CC   7

Definition at line 159 of file vvc_ps.h.

◆ SL_MAX_MATRIX_SIZE

#define SL_MAX_MATRIX_SIZE   8

Definition at line 183 of file vvc_ps.h.

◆ VVC_MAX_ALF_COUNT

#define VVC_MAX_ALF_COUNT   8

Definition at line 203 of file vvc_ps.h.

◆ VVC_MAX_LMCS_COUNT

#define VVC_MAX_LMCS_COUNT   4

Definition at line 204 of file vvc_ps.h.

◆ VVC_MAX_SL_COUNT

#define VVC_MAX_SL_COUNT   8

Definition at line 205 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 173 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 760 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 975 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 1164 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 776 of file vvc_ps.c.

Referenced by frame_context_free().

◆ ff_vvc_ps_uninit()

void ff_vvc_ps_uninit ( VVCParamSets ps)

Definition at line 786 of file vvc_ps.c.

Referenced by vvc_decode_free().