FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
hevcpred_template.c File Reference
#include "libavutil/pixdesc.h"
#include "bit_depth_template.c"
#include "hevcpred.h"

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_LEFT(ptr, start, length)
 
#define EXTEND_RIGHT(ptr, start, length)
 
#define EXTEND_UP(ptr, start, length)   EXTEND_LEFT(ptr, start, length)
 
#define EXTEND_DOWN(ptr, start, length)   EXTEND_RIGHT(ptr, start, length)
 
#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)
 

Functions

static void FUNC() intra_pred (HEVCContext *s, int x0, int y0, int log2_size, int c_idx)
 
static void FUNC() pred_planar_0 (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, ptrdiff_t stride)
 
static void FUNC() pred_planar_1 (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, ptrdiff_t stride)
 
static void FUNC() pred_planar_2 (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, ptrdiff_t stride)
 
static void FUNC() pred_planar_3 (uint8_t *_src, const uint8_t *_top, const uint8_t *_left, ptrdiff_t stride)
 
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

#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])

Referenced by intra_pred().

#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_LEFT (   ptr,
  start,
  length 
)
Value:
for (i = (start); i > (start) - (length); i--) \
ptr[i - 1] = ptr[i]

Referenced by intra_pred().

#define EXTEND_RIGHT (   ptr,
  start,
  length 
)
Value:
for (i = (start); i < (start) + (length); i++) \
ptr[i] = ptr[i - 1]

Referenced by intra_pred().

#define EXTEND_UP (   ptr,
  start,
  length 
)    EXTEND_LEFT(ptr, start, length)

Referenced by intra_pred().

#define EXTEND_DOWN (   ptr,
  start,
  length 
)    EXTEND_RIGHT(ptr, start, length)

Referenced by intra_pred().

#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().

#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]

Referenced by intra_pred().

#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]

Referenced by intra_pred().

#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().

#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]

Referenced by intra_pred().

Function Documentation

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

Definition at line 29 of file hevcpred_template.c.

static void FUNC() pred_planar_0 ( uint8_t _src,
const uint8_t _top,
const uint8_t _left,
ptrdiff_t  stride 
)
static

Definition at line 359 of file hevcpred_template.c.

static void FUNC() pred_planar_1 ( uint8_t _src,
const uint8_t _top,
const uint8_t _left,
ptrdiff_t  stride 
)
static

Definition at line 373 of file hevcpred_template.c.

static void FUNC() pred_planar_2 ( uint8_t _src,
const uint8_t _top,
const uint8_t _left,
ptrdiff_t  stride 
)
static

Definition at line 386 of file hevcpred_template.c.

static void FUNC() pred_planar_3 ( uint8_t _src,
const uint8_t _top,
const uint8_t _left,
ptrdiff_t  stride 
)
static

Definition at line 399 of file hevcpred_template.c.

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

Referenced by ff_h263_encode_mb(), ff_h263_pred_acdc(), and ff_h263_pred_dc().

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

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

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

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