FFmpeg
Macros | Functions
vvc_intra_template.c File Reference
#include "libavcodec/bit_depth_template.c"
#include "vvc_intra.h"

Go to the source code of this file.

Macros

#define POS(x, y)   src[(x) + stride * (y)]
 
#define MAX_PICK_POS   4
 
#define TOP   0
 
#define LEFT   1
 
#define EXTEND(ptr, val, len)
 
#define INTRA_LUMA_FILTER(p)   CLIP((p[0] * f[0] + p[1] * f[1] + p[2] * f[2] + p[3] * f[3] + 32) >> 6)
 
#define INTRA_CHROMA_FILTER(p)   (((32 - fact) * p[1] + fact * p[2] + 16) >> 5)
 

Functions

static av_always_inline void FUNC() cclm_linear_pred (VVCFrameContext *fc, const int x0, const int y0, const int w, const int h, const pixel *pdsy, const int *a, const int *b, const int *k)
 
static av_always_inline void FUNC() cclm_get_params_default (int *a, int *b, int *k)
 
static av_always_inline int FUNC() cclm_get_select_pos (const VVCLocalContext *lc, const int x, const int y, const int w, const int h, const int avail_t, const int avail_l, int cnt[2], int pos[2][MAX_PICK_POS])
 
static av_always_inline void FUNC() cclm_select_luma_444 (const pixel *src, const int step, const int cnt, const int pos[MAX_PICK_POS], pixel *sel_luma)
 
static av_always_inline void FUNC() cclm_select_luma (const VVCFrameContext *fc, const int x0, const int y0, const int avail_t, const int avail_l, const int cnt[2], const int pos[2][MAX_PICK_POS], pixel *sel_luma)
 
static av_always_inline void FUNC() cclm_select_chroma (const VVCFrameContext *fc, const int x, const int y, const int cnt[2], const int pos[2][MAX_PICK_POS], pixel sel[][MAX_PICK_POS *2])
 
static av_always_inline int FUNC() cclm_select_samples (const VVCLocalContext *lc, const int x0, const int y0, const int w, const int h, const int avail_t, const int avail_l, pixel sel[][MAX_PICK_POS *2])
 
static av_always_inline void FUNC() cclm_get_min_max (const pixel sel[][MAX_PICK_POS *2], int *min, int *max)
 
static av_always_inline void FUNC() cclm_get_params (const VVCLocalContext *lc, const int x0, const int y0, const int w, const int h, const int avail_t, const int avail_l, int *a, int *b, int *k)
 
static av_always_inline void FUNC() cclm_get_luma_rec_pixels (const VVCFrameContext *fc, const int x0, const int y0, const int w, const int h, const int avail_t, const int avail_l, pixel *pdsy)
 
static av_always_inline void FUNC() cclm_pred_default (VVCFrameContext *fc, const int x, const int y, const int w, const int h, const int avail_t, const int avail_l)
 
static void FUNC() intra_cclm_pred (const VVCLocalContext *lc, const int x0, const int y0, const int width, const int height)
 
static int FUNC() lmcs_sum_samples (const pixel *start, ptrdiff_t stride, const int avail, const int target_size)
 
static int FUNC() lmcs_derive_chroma_scale (VVCLocalContext *lc, const int x0, const int y0)
 
static void FUNC() lmcs_scale_chroma (VVCLocalContext *lc, int *dst, const int *coeff, const int width, const int height, const int x0_cu, const int y0_cu)
 
static av_always_inline void FUNC() ref_filter (const pixel *left, const pixel *top, pixel *filtered_left, pixel *filtered_top, const int left_size, const int top_size, const int unfilter_last_one)
 
static av_always_inline void FUNC() prepare_intra_edge_params (const VVCLocalContext *lc, IntraEdgeParams *edge, const pixel *src, const ptrdiff_t stride, const int x, int y, int w, int h, int c_idx, const int is_intra_mip, const int mode, const int ref_idx, const int need_pdpc)
 
static void FUNC() intra_pred (const VVCLocalContext *lc, int x0, int y0, const int width, const int height, int c_idx)
 
static av_always_inline void FUNC() pred_planar (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, const int w, const int h, const ptrdiff_t stride)
 
static av_always_inline void FUNC() mip_downsampling (int *reduced, const int boundary_size, const pixel *ref, const int n_tb_s)
 
static av_always_inline void FUNC() mip_reduced_pred (pixel *src, const ptrdiff_t stride, const int up_hor, const int up_ver, const int pred_size, const int *reduced, const int reduced_size, const int ow, const int temp0, const uint8_t *matrix, int is_transposed)
 
static av_always_inline void FUNC() mip_upsampling_1d (pixel *dst, const int dst_step, const int dst_stride, const int dst_height, const int factor, const pixel *boundary, const int boundary_step, const int pred_size)
 
static av_always_inline void FUNC() pred_mip (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, const int w, const int h, const ptrdiff_t stride, int mode_id, int is_transposed)
 
static av_always_inline pixel FUNC() pred_dc_val (const pixel *top, const pixel *left, const int w, const int h)
 
static av_always_inline void FUNC() pred_dc (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, const int w, const int h, const ptrdiff_t stride)
 
static av_always_inline void FUNC() pred_v (uint8_t *_src, const uint8_t *_top, const int w, const int h, const ptrdiff_t stride)
 
static void FUNC() pred_h (uint8_t *_src, const uint8_t *_left, const int w, const int h, const ptrdiff_t stride)
 
static void FUNC() pred_angular_v (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, const int w, const int h, const ptrdiff_t stride, const int c_idx, const int mode, const int ref_idx, const int filter_flag, const int need_pdpc)
 
static void FUNC() pred_angular_h (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, const int w, const int h, const ptrdiff_t stride, const int c_idx, const int mode, const int ref_idx, const int filter_flag, const int need_pdpc)
 
static void FUNC() ff_vvc_intra_dsp_init (VVCIntraDSPContext *const intra)
 

Macro Definition Documentation

◆ POS

#define POS (   x,
 
)    src[(x) + stride * (y)]

Definition at line 27 of file vvc_intra_template.c.

◆ MAX_PICK_POS

#define MAX_PICK_POS   4

Definition at line 49 of file vvc_intra_template.c.

◆ TOP

#define TOP   0

Definition at line 50 of file vvc_intra_template.c.

◆ LEFT

#define LEFT   1

Definition at line 51 of file vvc_intra_template.c.

◆ EXTEND

#define EXTEND (   ptr,
  val,
  len 
)
Value:
do { \
for (i = 0; i < (len); i++) \
*(ptr + i) = val; \
} while (0)

◆ INTRA_LUMA_FILTER

#define INTRA_LUMA_FILTER (   p)    CLIP((p[0] * f[0] + p[1] * f[1] + p[2] * f[2] + p[3] * f[3] + 32) >> 6)

Definition at line 890 of file vvc_intra_template.c.

◆ INTRA_CHROMA_FILTER

#define INTRA_CHROMA_FILTER (   p)    (((32 - fact) * p[1] + fact * p[2] + 16) >> 5)

Definition at line 891 of file vvc_intra_template.c.

Function Documentation

◆ cclm_linear_pred()

static av_always_inline void FUNC() cclm_linear_pred ( VVCFrameContext fc,
const int  x0,
const int  y0,
const int  w,
const int  h,
const pixel pdsy,
const int a,
const int b,
const int k 
)
static

Definition at line 29 of file vvc_intra_template.c.

Referenced by intra_cclm_pred().

◆ cclm_get_params_default()

static av_always_inline void FUNC() cclm_get_params_default ( int a,
int b,
int k 
)
static

Definition at line 53 of file vvc_intra_template.c.

Referenced by cclm_get_params().

◆ cclm_get_select_pos()

static av_always_inline int FUNC() cclm_get_select_pos ( const VVCLocalContext lc,
const int  x,
const int  y,
const int  w,
const int  h,
const int  avail_t,
const int  avail_l,
int  cnt[2],
int  pos[2][MAX_PICK_POS] 
)
static

Definition at line 61 of file vvc_intra_template.c.

Referenced by cclm_select_samples().

◆ cclm_select_luma_444()

static av_always_inline void FUNC() cclm_select_luma_444 ( const pixel src,
const int  step,
const int  cnt,
const int  pos[MAX_PICK_POS],
pixel sel_luma 
)
static

Definition at line 89 of file vvc_intra_template.c.

Referenced by cclm_select_luma().

◆ cclm_select_luma()

static av_always_inline void FUNC() cclm_select_luma ( const VVCFrameContext fc,
const int  x0,
const int  y0,
const int  avail_t,
const int  avail_l,
const int  cnt[2],
const int  pos[2][MAX_PICK_POS],
pixel sel_luma 
)
static

Definition at line 96 of file vvc_intra_template.c.

Referenced by cclm_select_samples().

◆ cclm_select_chroma()

static av_always_inline void FUNC() cclm_select_chroma ( const VVCFrameContext fc,
const int  x,
const int  y,
const int  cnt[2],
const int  pos[2][MAX_PICK_POS],
pixel  sel[][MAX_PICK_POS *2] 
)
static

Definition at line 167 of file vvc_intra_template.c.

Referenced by cclm_select_samples().

◆ cclm_select_samples()

static av_always_inline int FUNC() cclm_select_samples ( const VVCLocalContext lc,
const int  x0,
const int  y0,
const int  w,
const int  h,
const int  avail_t,
const int  avail_l,
pixel  sel[][MAX_PICK_POS *2] 
)
static

Definition at line 188 of file vvc_intra_template.c.

Referenced by cclm_get_params().

◆ cclm_get_min_max()

static av_always_inline void FUNC() cclm_get_min_max ( const pixel  sel[][MAX_PICK_POS *2],
int min,
int max 
)
static

Definition at line 215 of file vvc_intra_template.c.

Referenced by cclm_get_params().

◆ cclm_get_params()

static av_always_inline void FUNC() cclm_get_params ( const VVCLocalContext lc,
const int  x0,
const int  y0,
const int  w,
const int  h,
const int  avail_t,
const int  avail_l,
int a,
int b,
int k 
)
static

Definition at line 237 of file vvc_intra_template.c.

Referenced by intra_cclm_pred().

◆ cclm_get_luma_rec_pixels()

static av_always_inline void FUNC() cclm_get_luma_rec_pixels ( const VVCFrameContext fc,
const int  x0,
const int  y0,
const int  w,
const int  h,
const int  avail_t,
const int  avail_l,
pixel pdsy 
)
static

Definition at line 282 of file vvc_intra_template.c.

Referenced by intra_cclm_pred().

◆ cclm_pred_default()

static av_always_inline void FUNC() cclm_pred_default ( VVCFrameContext fc,
const int  x,
const int  y,
const int  w,
const int  h,
const int  avail_t,
const int  avail_l 
)
static

Definition at line 336 of file vvc_intra_template.c.

Referenced by intra_cclm_pred().

◆ intra_cclm_pred()

static void FUNC() intra_cclm_pred ( const VVCLocalContext lc,
const int  x0,
const int  y0,
const int  width,
const int  height 
)
static

Definition at line 352 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init().

◆ lmcs_sum_samples()

static int FUNC() lmcs_sum_samples ( const pixel start,
ptrdiff_t  stride,
const int  avail,
const int  target_size 
)
static

Definition at line 377 of file vvc_intra_template.c.

Referenced by lmcs_derive_chroma_scale().

◆ lmcs_derive_chroma_scale()

static int FUNC() lmcs_derive_chroma_scale ( VVCLocalContext lc,
const int  x0,
const int  y0 
)
static

Definition at line 390 of file vvc_intra_template.c.

Referenced by lmcs_scale_chroma().

◆ lmcs_scale_chroma()

static void FUNC() lmcs_scale_chroma ( VVCLocalContext lc,
int dst,
const int coeff,
const int  width,
const int  height,
const int  x0_cu,
const int  y0_cu 
)
static

Definition at line 431 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init().

◆ ref_filter()

static av_always_inline void FUNC() ref_filter ( const pixel left,
const pixel top,
pixel filtered_left,
pixel filtered_top,
const int  left_size,
const int  top_size,
const int  unfilter_last_one 
)
static

Definition at line 450 of file vvc_intra_template.c.

Referenced by prepare_intra_edge_params().

◆ prepare_intra_edge_params()

static av_always_inline void FUNC() prepare_intra_edge_params ( const VVCLocalContext lc,
IntraEdgeParams edge,
const pixel src,
const ptrdiff_t  stride,
const int  x,
int  y,
int  w,
int  h,
int  c_idx,
const int  is_intra_mip,
const int  mode,
const int  ref_idx,
const int  need_pdpc 
)
static

Definition at line 467 of file vvc_intra_template.c.

Referenced by intra_pred().

◆ intra_pred()

static void FUNC() intra_pred ( const VVCLocalContext lc,
int  x0,
int  y0,
const int  width,
const int  height,
int  c_idx 
)
static

Definition at line 595 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init().

◆ pred_planar()

static av_always_inline void FUNC() pred_planar ( uint8_t *  _src,
const uint8_t *  _top,
const uint8_t *  _left,
const int  w,
const int  h,
const ptrdiff_t  stride 
)
static

Definition at line 686 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init().

◆ mip_downsampling()

static av_always_inline void FUNC() mip_downsampling ( int reduced,
const int  boundary_size,
const pixel ref,
const int  n_tb_s 
)
static

Definition at line 708 of file vvc_intra_template.c.

Referenced by pred_mip().

◆ mip_reduced_pred()

static av_always_inline void FUNC() mip_reduced_pred ( pixel src,
const ptrdiff_t  stride,
const int  up_hor,
const int  up_ver,
const int  pred_size,
const int reduced,
const int  reduced_size,
const int  ow,
const int  temp0,
const uint8_t *  matrix,
int  is_transposed 
)
static

Definition at line 728 of file vvc_intra_template.c.

Referenced by pred_mip().

◆ mip_upsampling_1d()

static av_always_inline void FUNC() mip_upsampling_1d ( pixel dst,
const int  dst_step,
const int  dst_stride,
const int  dst_height,
const int  factor,
const pixel boundary,
const int  boundary_step,
const int  pred_size 
)
static

Definition at line 749 of file vvc_intra_template.c.

Referenced by pred_mip().

◆ pred_mip()

static av_always_inline void FUNC() pred_mip ( uint8_t *  _src,
const uint8_t *  _top,
const uint8_t *  _left,
const int  w,
const int  h,
const ptrdiff_t  stride,
int  mode_id,
int  is_transposed 
)
static

Definition at line 773 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init().

◆ pred_dc_val()

static av_always_inline pixel FUNC() pred_dc_val ( const pixel top,
const pixel left,
const int  w,
const int  h 
)
static

Definition at line 826 of file vvc_intra_template.c.

Referenced by pred_dc().

◆ pred_dc()

static av_always_inline void FUNC() pred_dc ( uint8_t *  _src,
const uint8_t *  _top,
const uint8_t *  _left,
const int  w,
const int  h,
const ptrdiff_t  stride 
)
static

Definition at line 847 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init().

◆ pred_v()

static av_always_inline void FUNC() pred_v ( uint8_t *  _src,
const uint8_t *  _top,
const int  w,
const int  h,
const ptrdiff_t  stride 
)
static

Definition at line 866 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init(), and pred_planar().

◆ pred_h()

static void FUNC() pred_h ( uint8_t *  _src,
const uint8_t *  _left,
const int  w,
const int  h,
const ptrdiff_t  stride 
)
static

Definition at line 877 of file vvc_intra_template.c.

Referenced by dmvr_mv_refine(), ff_vvc_intra_dsp_init(), and pred_planar().

◆ pred_angular_v()

static void FUNC() pred_angular_v ( uint8_t *  _src,
const uint8_t *  _top,
const uint8_t *  _left,
const int  w,
const int  h,
const ptrdiff_t  stride,
const int  c_idx,
const int  mode,
const int  ref_idx,
const int  filter_flag,
const int  need_pdpc 
)
static

Definition at line 894 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init().

◆ pred_angular_h()

static void FUNC() pred_angular_h ( uint8_t *  _src,
const uint8_t *  _top,
const uint8_t *  _left,
const int  w,
const int  h,
const ptrdiff_t  stride,
const int  c_idx,
const int  mode,
const int  ref_idx,
const int  filter_flag,
const int  need_pdpc 
)
static

Definition at line 950 of file vvc_intra_template.c.

Referenced by ff_vvc_intra_dsp_init().

◆ ff_vvc_intra_dsp_init()

static void FUNC() ff_vvc_intra_dsp_init ( VVCIntraDSPContext *const  intra)
static

Definition at line 1003 of file vvc_intra_template.c.

val
static double val(void *priv, double ch)
Definition: aeval.c:78
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:255
len
int len
Definition: vorbis_enc_data.h:426