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

Go to the source code of this file.

Macros

#define POS(x, y)
 
#define PU(x)
 
#define MVF(x, y)
 
#define MVF_PU(x, y)
 
#define IS_INTRA(x, y)
 
#define MIN_TB_ADDR_ZS(x, y)
 
#define EXTEND(ptr, val, len)
 
#define EXTEND_RIGHT_CIP(ptr, start, length)
 
#define EXTEND_LEFT_CIP(ptr, start, length)
 
#define EXTEND_UP_CIP(ptr, start, length)
 
#define EXTEND_DOWN_CIP(ptr, start, length)
 
#define INTRA_PRED(size)
 
#define PRED_PLANAR(size)
 

Functions

static void FUNC ref_filter_3tap (uint8_t *filtered_left, uint8_t *filtered_top, const uint8_t *left, const uint8_t *top, int size)
 
static void FUNC ref_filter_strong (uint8_t *filtered_top, uint8_t *left, const uint8_t *top)
 
static av_always_inline void FUNC intra_pred (HEVCLocalContext *lc, const HEVCPPS *pps, int x0, int y0, int log2_size, int c_idx)
 
static av_always_inline void FUNC pred_planar (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, ptrdiff_t stride, int trafo_size)
 
static void FUNC pred_dc (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, ptrdiff_t stride, int log2_size, int c_idx)
 
static av_always_inline void FUNC pred_angular (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, ptrdiff_t stride, int c_idx, int mode, int size)
 
void FUNC ff_hevc_pred_angular_0 (uint8_t *src, const uint8_t *top, const uint8_t *left, ptrdiff_t stride, int c_idx, int mode)
 
void FUNC ff_hevc_pred_angular_1 (uint8_t *src, const uint8_t *top, const uint8_t *left, ptrdiff_t stride, int c_idx, int mode)
 
void FUNC ff_hevc_pred_angular_2 (uint8_t *src, const uint8_t *top, const uint8_t *left, ptrdiff_t stride, int c_idx, int mode)
 
void FUNC ff_hevc_pred_angular_3 (uint8_t *src, const uint8_t *top, const uint8_t *left, ptrdiff_t stride, int c_idx, int mode)
 

Macro Definition Documentation

◆ POS

#define POS ( x,
y )
Value:
src[(x) + stride * (y)]
#define stride
#define src
Definition vp8dsp.c:248

Definition at line 70 of file pred_template.c.

Referenced by intra_pred(), pred_angular(), pred_dc(), and pred_planar().

◆ PU

#define PU ( x)
Value:
((x) >> sps->log2_min_pu_size)
static int FUNC sps(CodedBitstreamContext *ctx, RWContext *rw, H264RawSPS *current)

Referenced by intra_pred(), and reverse_dc_prediction().

◆ MVF

#define MVF ( x,
y )
Value:
(s->cur_frame->tab_mvf[(x) + (y) * min_pu_width])
#define s(width, name)
Definition cbs_vp9.c:198

Referenced by intra_pred().

◆ MVF_PU

#define MVF_PU ( x,
y )
Value:
MVF(PU(x0 + ((x) * (1 << hshift))), PU(y0 + ((y) * (1 << vshift))))
#define PU(x)
#define MVF(x, y)

◆ IS_INTRA

◆ MIN_TB_ADDR_ZS

#define MIN_TB_ADDR_ZS ( x,
y )
Value:
pps->min_tb_addr_zs[(y) * (sps->tb_mask+2) + (x)]
uint64_t pps
Definition dovi_rpuenc.c:36

Referenced by intra_pred().

◆ EXTEND

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

Referenced by intra_pred().

◆ EXTEND_RIGHT_CIP

#define EXTEND_RIGHT_CIP ( ptr,
start,
length )
Value:
for (i = start; i < (start) + (length); i += 4) \
if (!IS_INTRA(i, -1)) \
AV_WN4P(&ptr[i], a); \
else \
a = PIXEL_SPLAT_X4(ptr[i+3])
int a
#define IS_INTRA(x, y)

Referenced by intra_pred().

◆ EXTEND_LEFT_CIP

#define EXTEND_LEFT_CIP ( ptr,
start,
length )
Value:
for (i = start; i > (start) - (length); i--) \
if (!IS_INTRA(i - 1, -1)) \
ptr[i - 1] = ptr[i]

Referenced by intra_pred().

◆ EXTEND_UP_CIP

#define EXTEND_UP_CIP ( ptr,
start,
length )
Value:
for (i = (start); i > (start) - (length); i -= 4) \
if (!IS_INTRA(-1, i - 3)) \
AV_WN4P(&ptr[i - 3], a); \
else \
a = PIXEL_SPLAT_X4(ptr[i - 3])

Referenced by intra_pred().

◆ EXTEND_DOWN_CIP

#define EXTEND_DOWN_CIP ( ptr,
start,
length )
Value:
for (i = start; i < (start) + (length); i += 4) \
if (!IS_INTRA(-1, i)) \
AV_WN4P(&ptr[i], a); \
else \
a = PIXEL_SPLAT_X4(ptr[i + 3])

Referenced by intra_pred().

◆ INTRA_PRED

#define INTRA_PRED ( size)
Value:
static void FUNC(intra_pred_ ## size)(HEVCLocalContext *lc, const HEVCPPS *pps, \
int x0, int y0, int c_idx) \
{ \
FUNC(intra_pred)(lc, pps, x0, y0, size, c_idx); \
}
#define FUNC(a)
static av_always_inline void FUNC intra_pred(HEVCLocalContext *lc, const HEVCPPS *pps, int x0, int y0, int log2_size, int c_idx)
Definition ps.h:371
int size

Definition at line 378 of file pred_template.c.

◆ PRED_PLANAR

#define PRED_PLANAR ( size)
Value:
static void FUNC(pred_planar_ ## size)(uint8_t *src, const uint8_t *top, \
const uint8_t *left, ptrdiff_t stride) \
{ \
FUNC(pred_planar)(src, top, left, stride, size + 2); \
}
static int BS_FUNC left(const BSCTX *bc)
Return the number of the bits left in a buffer.
static av_always_inline void FUNC pred_planar(uint8_t *_src, const uint8_t *_top, const uint8_t *_left, ptrdiff_t stride, int trafo_size)

Definition at line 407 of file pred_template.c.

Function Documentation

◆ ref_filter_3tap()

static void FUNC ref_filter_3tap ( uint8_t * filtered_left,
uint8_t * filtered_top,
const uint8_t * left,
const uint8_t * top,
int size )
static

Definition at line 28 of file pred_template.c.

Referenced by ref_filter_3tap().

◆ ref_filter_strong()

static void FUNC ref_filter_strong ( uint8_t * filtered_top,
uint8_t * left,
const uint8_t * top )
static

Definition at line 51 of file pred_template.c.

Referenced by ref_filter_strong().

◆ intra_pred()

static av_always_inline void FUNC intra_pred ( HEVCLocalContext * lc,
const HEVCPPS * pps,
int x0,
int y0,
int log2_size,
int c_idx )
static

Definition at line 72 of file pred_template.c.

Referenced by ff_vvc_intra_dsp_init(), intra_pred(), and intra_pred().

◆ pred_planar()

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

Definition at line 392 of file pred_template.c.

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

◆ pred_dc()

static void FUNC pred_dc ( uint8_t * _src,
const uint8_t * _top,
const uint8_t * _left,
ptrdiff_t stride,
int log2_size,
int c_idx )
static

Definition at line 421 of file pred_template.c.

Referenced by ff_vvc_intra_dsp_init(), h263_pred_acdc(), pred_dc(), and pred_dc().

◆ pred_angular()

static av_always_inline void FUNC pred_angular ( uint8_t * _src,
const uint8_t * _top,
const uint8_t * _left,
ptrdiff_t stride,
int c_idx,
int mode,
int size )
static

◆ ff_hevc_pred_angular_0()

void FUNC ff_hevc_pred_angular_0 ( uint8_t * src,
const uint8_t * top,
const uint8_t * left,
ptrdiff_t stride,
int c_idx,
int mode )

Definition at line 545 of file pred_template.c.

Referenced by ff_hevc_pred_angular_0().

◆ ff_hevc_pred_angular_1()

void FUNC ff_hevc_pred_angular_1 ( uint8_t * src,
const uint8_t * top,
const uint8_t * left,
ptrdiff_t stride,
int c_idx,
int mode )

Definition at line 552 of file pred_template.c.

Referenced by ff_hevc_pred_angular_1().

◆ ff_hevc_pred_angular_2()

void FUNC ff_hevc_pred_angular_2 ( uint8_t * src,
const uint8_t * top,
const uint8_t * left,
ptrdiff_t stride,
int c_idx,
int mode )

Definition at line 559 of file pred_template.c.

Referenced by ff_hevc_pred_angular_2().

◆ ff_hevc_pred_angular_3()

void FUNC ff_hevc_pred_angular_3 ( uint8_t * src,
const uint8_t * top,
const uint8_t * left,
ptrdiff_t stride,
int c_idx,
int mode )

Definition at line 566 of file pred_template.c.

Referenced by ff_hevc_pred_angular_3().