FFmpeg
Data Structures | Macros | Enumerations | Functions
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 ps.h.

◆ IS_CRA

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

Definition at line 30 of file ps.h.

◆ IS_IRAP

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

Definition at line 31 of file ps.h.

◆ IS_GDR

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

Definition at line 32 of file ps.h.

◆ IS_CVSS

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

Definition at line 33 of file ps.h.

◆ IS_CLVSS

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

Definition at line 34 of file ps.h.

◆ IS_RASL

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

Definition at line 35 of file ps.h.

◆ IS_RADL

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

Definition at line 36 of file ps.h.

◆ IS_I

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

Definition at line 38 of file ps.h.

◆ IS_P

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

Definition at line 39 of file ps.h.

◆ IS_B

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

Definition at line 40 of file ps.h.

◆ INV_POC

#define INV_POC   INT_MIN

Definition at line 42 of file ps.h.

◆ GDR_IS_RECOVERED

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

Definition at line 43 of file ps.h.

◆ GDR_SET_RECOVERED

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

Definition at line 44 of file ps.h.

◆ LMCS_MAX_BIT_DEPTH

#define LMCS_MAX_BIT_DEPTH   12

Definition at line 46 of file ps.h.

◆ LMCS_MAX_LUT_SIZE

#define LMCS_MAX_LUT_SIZE   (1 << LMCS_MAX_BIT_DEPTH)

Definition at line 47 of file ps.h.

◆ LMCS_MAX_BIN_SIZE

#define LMCS_MAX_BIN_SIZE   16

Definition at line 48 of file ps.h.

◆ LADF_MAX_INTERVAL

#define LADF_MAX_INTERVAL   5

Definition at line 49 of file ps.h.

◆ MAX_WEIGHTS

#define MAX_WEIGHTS   15

Definition at line 136 of file ps.h.

◆ ALF_NUM_FILTERS_LUMA

#define ALF_NUM_FILTERS_LUMA   25

Definition at line 163 of file ps.h.

◆ ALF_NUM_FILTERS_CHROMA

#define ALF_NUM_FILTERS_CHROMA   8

Definition at line 164 of file ps.h.

◆ ALF_NUM_FILTERS_CC

#define ALF_NUM_FILTERS_CC   4

Definition at line 165 of file ps.h.

◆ ALF_NUM_COEFF_LUMA

#define ALF_NUM_COEFF_LUMA   12

Definition at line 167 of file ps.h.

◆ ALF_NUM_COEFF_CHROMA

#define ALF_NUM_COEFF_CHROMA   6

Definition at line 168 of file ps.h.

◆ ALF_NUM_COEFF_CC

#define ALF_NUM_COEFF_CC   7

Definition at line 169 of file ps.h.

◆ SL_MAX_MATRIX_SIZE

#define SL_MAX_MATRIX_SIZE   8

Definition at line 194 of file ps.h.

◆ VVC_MAX_ALF_COUNT

#define VVC_MAX_ALF_COUNT   8

Definition at line 214 of file ps.h.

◆ VVC_MAX_LMCS_COUNT

#define VVC_MAX_LMCS_COUNT   4

Definition at line 215 of file ps.h.

◆ VVC_MAX_SL_COUNT

#define VVC_MAX_SL_COUNT   8

Definition at line 216 of file 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 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 184 of file ps.h.

Function Documentation

◆ ff_vvc_decode_frame_ps()

int ff_vvc_decode_frame_ps ( VVCFrameParamSets fps,
struct VVCContext s 
)

Definition at line 933 of file ps.c.

Referenced by frame_setup().

◆ ff_vvc_decode_aps()

int ff_vvc_decode_aps ( VVCParamSets ps,
const CodedBitstreamUnit unit 
)

Definition at line 1159 of file 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 1348 of file ps.c.

Referenced by slice_start().

◆ ff_vvc_frame_ps_free()

void ff_vvc_frame_ps_free ( VVCFrameParamSets fps)

Definition at line 952 of file ps.c.

Referenced by frame_context_free().

◆ ff_vvc_ps_uninit()

void ff_vvc_ps_uninit ( VVCParamSets ps)

Definition at line 962 of file ps.c.

Referenced by vvc_decode_free().