FFmpeg
Loading...
Searching...
No Matches
intra_template.c File Reference

Go to the source code of this file.

Macros

#define POS(x, y)
 
#define MAX_PICK_POS   4
 
#define TOP   0
 
#define LEFT   1
 
#define EXTEND(ptr, val, len)
 
#define INTRA_LUMA_FILTER(p)
 
#define INTRA_CHROMA_FILTER(p)
 

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 *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

◆ MAX_PICK_POS

◆ TOP

#define TOP   0

Definition at line 50 of file intra_template.c.

◆ LEFT

#define LEFT   1

Definition at line 51 of file intra_template.c.

◆ EXTEND

#define EXTEND ( ptr,
val,
len )
Value:
do { \
for (i = 0; i < (len); i++) \
*(ptr + i) = val; \
} while (0)
static double val(void *priv, double ch)
Definition aeval.c:77
#define i(width, name, range_min, range_max)
Definition cbs_h264.c:63
int len

Referenced by prepare_intra_edge_params().

◆ INTRA_LUMA_FILTER

#define INTRA_LUMA_FILTER ( p)
Value:
CLIP((p[0] * f[0] + p[1] * f[1] + p[2] * f[2] + p[3] * f[3] + 32) >> 6)
#define CLIP(a)
#define f(width, name)
Definition cbs_vp8.c:236

Definition at line 890 of file intra_template.c.

Referenced by pred_angular_h(), and pred_angular_v().

◆ INTRA_CHROMA_FILTER

#define INTRA_CHROMA_FILTER ( p)
Value:
(((32 - fact) * p[1] + fact * p[2] + 16) >> 5)
static double fact(double i)
Definition af_aiir.c:935

Definition at line 891 of file intra_template.c.

Referenced by pred_angular_h(), and pred_angular_v().

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 intra_template.c.

Referenced by cclm_linear_pred(), and 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 intra_template.c.

Referenced by cclm_get_params(), and cclm_get_params_default().

◆ 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 intra_template.c.

Referenced by cclm_get_select_pos(), and 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 intra_template.c.

Referenced by cclm_select_luma(), and cclm_select_luma_444().

◆ 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 intra_template.c.

Referenced by cclm_select_luma(), and 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 intra_template.c.

Referenced by cclm_select_chroma(), and 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 intra_template.c.

Referenced by cclm_get_params(), and cclm_select_samples().

◆ 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 intra_template.c.

Referenced by cclm_get_min_max(), and 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 intra_template.c.

Referenced by cclm_get_params(), and 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 intra_template.c.

Referenced by cclm_get_luma_rec_pixels(), and 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 intra_template.c.

Referenced by cclm_pred_default(), and 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 intra_template.c.

Referenced by ff_vvc_intra_dsp_init(), and intra_cclm_pred().

◆ 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 intra_template.c.

Referenced by lmcs_derive_chroma_scale(), and lmcs_sum_samples().

◆ 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 intra_template.c.

Referenced by lmcs_derive_chroma_scale(), and lmcs_scale_chroma().

◆ lmcs_scale_chroma()

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

Definition at line 431 of file intra_template.c.

◆ 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 449 of file intra_template.c.

Referenced by prepare_intra_edge_params(), and ref_filter().

◆ 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 466 of file intra_template.c.

Referenced by intra_pred(), and prepare_intra_edge_params().

◆ 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 594 of file intra_template.c.

◆ 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 intra_template.c.

◆ 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 intra_template.c.

Referenced by mip_downsampling(), and 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 intra_template.c.

Referenced by mip_reduced_pred(), and 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 intra_template.c.

Referenced by mip_upsampling_1d(), and 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 intra_template.c.

Referenced by ff_vvc_intra_dsp_init(), and pred_mip().

◆ 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 intra_template.c.

Referenced by pred_dc(), and pred_dc_val().

◆ 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 intra_template.c.

◆ 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 intra_template.c.

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

◆ 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

◆ 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 intra_template.c.

Referenced by ff_vvc_intra_dsp_init(), and pred_angular_v().

◆ 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 intra_template.c.

Referenced by ff_vvc_intra_dsp_init(), and pred_angular_h().

◆ ff_vvc_intra_dsp_init()

static void FUNC ff_vvc_intra_dsp_init ( VVCIntraDSPContext *const intra)
static

Definition at line 1003 of file intra_template.c.

Referenced by ff_vvc_intra_dsp_init().