Libav
Macros | Functions
hevcpred_template.c File Reference
#include "libavutil/pixdesc.h"
#include "hevc.h"
#include "bit_depth_template.c"

Go to the source code of this file.

Macros

#define POS(x, y)   src[(x) + stride * (y)]
 
#define PU(x)   ((x) >> s->sps->log2_min_pu_size)
 
#define MVF(x, y)   (s->ref->tab_mvf[(x) + (y) * min_pu_width])
 
#define MVF_PU(x, y)   MVF(PU(x0 + ((x) << hshift)), PU(y0 + ((y) << vshift)))
 
#define IS_INTRA(x, y)   MVF_PU(x, y).is_intra
 
#define MIN_TB_ADDR_ZS(x, y)   s->pps->min_tb_addr_zs[(y) * s->sps->min_tb_width + (x)]
 
#define EXTEND(ptr, val, len)
 
#define EXTEND_LEFT_CIP(ptr, start, length)
 
#define EXTEND_RIGHT_CIP(ptr, start, length)
 
#define EXTEND_UP_CIP(ptr, start, length)
 
#define EXTEND_UP_CIP_0(ptr, start, length)
 
#define EXTEND_DOWN_CIP(ptr, start, length)
 
#define INTRA_PRED(size)
 
#define PRED_PLANAR(size)
 

Functions

static av_always_inline void FUNC() intra_pred (HEVCContext *s, 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)
 
static void FUNC() pred_angular_0 (uint8_t *src, const uint8_t *top, const uint8_t *left, ptrdiff_t stride, int c_idx, int mode)
 
static void FUNC() pred_angular_1 (uint8_t *src, const uint8_t *top, const uint8_t *left, ptrdiff_t stride, int c_idx, int mode)
 
static void FUNC() pred_angular_2 (uint8_t *src, const uint8_t *top, const uint8_t *left, ptrdiff_t stride, int c_idx, int mode)
 
static void FUNC() 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,
 
)    src[(x) + stride * (y)]

Definition at line 29 of file hevcpred_template.c.

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

§ PU

#define PU (   x)    ((x) >> s->sps->log2_min_pu_size)

Referenced by intra_pred().

§ MVF

#define MVF (   x,
 
)    (s->ref->tab_mvf[(x) + (y) * min_pu_width])

Referenced by intra_pred().

§ MVF_PU

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

§ IS_INTRA

#define IS_INTRA (   x,
 
)    MVF_PU(x, y).is_intra

§ MIN_TB_ADDR_ZS

#define MIN_TB_ADDR_ZS (   x,
 
)    s->pps->min_tb_addr_zs[(y) * s->sps->min_tb_width + (x)]

Referenced by intra_pred().

§ EXTEND

#define EXTEND (   ptr,
  val,
  len 
)
Value:
do { \
pixel4 pix = PIXEL_SPLAT_X4(val); \
for (i = 0; i < (len); i += 4) \
AV_WN4P(ptr + i, pix); \
} while (0)
#define AV_WN4P
int len
#define PIXEL_SPLAT_X4(x)

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]
#define IS_INTRA(x, y)

Referenced by intra_pred().

§ EXTEND_RIGHT_CIP

#define EXTEND_RIGHT_CIP (   ptr,
  start,
  length 
)
Value:
for (i = (start); i < (start) + (length); i++) \
if (!IS_INTRA(i, -1)) \
ptr[i] = ptr[i - 1]
#define IS_INTRA(x, y)

Referenced by intra_pred().

§ EXTEND_UP_CIP

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

Referenced by intra_pred().

§ EXTEND_UP_CIP_0

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

Referenced by intra_pred().

§ EXTEND_DOWN_CIP

#define EXTEND_DOWN_CIP (   ptr,
  start,
  length 
)
Value:
for (i = (start); i < (start) + (length); i++) \
if (!IS_INTRA(-1, i)) \
ptr[i] = ptr[i - 1]
#define IS_INTRA(x, y)

Referenced by intra_pred().

§ INTRA_PRED

#define INTRA_PRED (   size)
Value:
static void FUNC(intra_pred_ ## size)(HEVCContext *s, int x0, int y0, int c_idx) \
{ \
FUNC(intra_pred)(s, x0, y0, size, c_idx); \
}
int size
#define FUNC(a)
static av_always_inline void FUNC() intra_pred(HEVCContext *s, int x0, int y0, int log2_size, int c_idx)

Definition at line 336 of file hevcpred_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); \
}
int size
int stride
Definition: mace.c:144
uint8_t
#define FUNC(a)
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 364 of file hevcpred_template.c.

Function Documentation

§ intra_pred()

static av_always_inline void FUNC() intra_pred ( HEVCContext s,
int  x0,
int  y0,
int  log2_size,
int  c_idx 
)
static

Definition at line 31 of file hevcpred_template.c.

§ 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 349 of file hevcpred_template.c.

§ 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 378 of file hevcpred_template.c.

Referenced by ff_h263_encode_mb(), ff_h263_pred_acdc(), and ff_h263_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

§ pred_angular_0()

static void FUNC() pred_angular_0 ( uint8_t src,
const uint8_t top,
const uint8_t left,
ptrdiff_t  stride,
int  c_idx,
int  mode 
)
static

Definition at line 492 of file hevcpred_template.c.

§ pred_angular_1()

static void FUNC() pred_angular_1 ( uint8_t src,
const uint8_t top,
const uint8_t left,
ptrdiff_t  stride,
int  c_idx,
int  mode 
)
static

Definition at line 499 of file hevcpred_template.c.

§ pred_angular_2()

static void FUNC() pred_angular_2 ( uint8_t src,
const uint8_t top,
const uint8_t left,
ptrdiff_t  stride,
int  c_idx,
int  mode 
)
static

Definition at line 506 of file hevcpred_template.c.

§ pred_angular_3()

static void FUNC() pred_angular_3 ( uint8_t src,
const uint8_t top,
const uint8_t left,
ptrdiff_t  stride,
int  c_idx,
int  mode 
)
static

Definition at line 513 of file hevcpred_template.c.