Libav
Macros | Functions | Variables
hevcdsp.c File Reference
#include "hevcdsp.h"
#include "hevcdsp_template.c"

Go to the source code of this file.

Macros

#define BIT_DEPTH   8
 
#define BIT_DEPTH   9
 
#define BIT_DEPTH   10
 
#define FUNC(a, depth)   a ## _ ## depth
 
#define QPEL_FUNC(i, width, depth)
 
#define EPEL_FUNC(i, width, depth)
 
#define PRED_FUNC(i, width, depth)
 
#define PRED_FUNC_CHROMA(i, width, depth)
 
#define HEVC_DSP(depth)
 

Functions

void ff_hevc_dsp_init (HEVCDSPContext *hevcdsp, int bit_depth)
 

Variables

static const int8_t transform [32][32]
 
const int16_t ff_hevc_epel_coeffs [7][16]
 
const int8_t ff_hevc_epel_coeffs8 [7][16]
 
const int16_t ff_hevc_qpel_coeffs [3][8]
 
const int8_t ff_hevc_qpel_coeffs8 [3][16]
 

Macro Definition Documentation

◆ BIT_DEPTH [1/3]

#define BIT_DEPTH   8

Definition at line 132 of file hevcdsp.c.

◆ BIT_DEPTH [2/3]

#define BIT_DEPTH   9

Definition at line 132 of file hevcdsp.c.

◆ BIT_DEPTH [3/3]

#define BIT_DEPTH   10

Definition at line 132 of file hevcdsp.c.

◆ FUNC

#define FUNC (   a,
  depth 
)    a ## _ ## depth

◆ QPEL_FUNC

#define QPEL_FUNC (   i,
  width,
  depth 
)
Value:
hevcdsp->put_hevc_qpel[0][0][i] = FUNC(put_hevc_qpel_pixels_ ## width, depth); \
hevcdsp->put_hevc_qpel[0][1][i] = FUNC(put_hevc_qpel_h_ ## width, depth); \
hevcdsp->put_hevc_qpel[1][0][i] = FUNC(put_hevc_qpel_v_ ## width, depth); \
hevcdsp->put_hevc_qpel[1][1][i] = FUNC(put_hevc_qpel_hv_ ## width, depth); \
#define FUNC(a, depth)
static int width
Definition: utils.c:156

◆ EPEL_FUNC

#define EPEL_FUNC (   i,
  width,
  depth 
)
Value:
hevcdsp->put_hevc_epel[0][0][i] = FUNC(put_hevc_epel_pixels_ ## width, depth); \
hevcdsp->put_hevc_epel[0][1][i] = FUNC(put_hevc_epel_h_ ## width, depth); \
hevcdsp->put_hevc_epel[1][0][i] = FUNC(put_hevc_epel_v_ ## width, depth); \
hevcdsp->put_hevc_epel[1][1][i] = FUNC(put_hevc_epel_hv_ ## width, depth); \
#define FUNC(a, depth)
static int width
Definition: utils.c:156

◆ PRED_FUNC

#define PRED_FUNC (   i,
  width,
  depth 
)
Value:
hevcdsp->put_unweighted_pred[i] = FUNC(put_unweighted_pred_ ## width, depth); \
hevcdsp->put_unweighted_pred_avg[i] = FUNC(put_unweighted_pred_avg_ ## width, depth); \
hevcdsp->weighted_pred[i] = FUNC(put_weighted_pred_ ## width, depth); \
hevcdsp->weighted_pred_avg[i] = FUNC(put_weighted_pred_avg_ ## width, depth); \
#define FUNC(a, depth)
static int width
Definition: utils.c:156

◆ PRED_FUNC_CHROMA

#define PRED_FUNC_CHROMA (   i,
  width,
  depth 
)
Value:
hevcdsp->put_unweighted_pred_chroma[i] = FUNC(put_unweighted_pred_ ## width, depth); \
hevcdsp->put_unweighted_pred_avg_chroma[i] = FUNC(put_unweighted_pred_avg_ ## width, depth); \
hevcdsp->weighted_pred_chroma[i] = FUNC(put_weighted_pred_ ## width, depth); \
hevcdsp->weighted_pred_avg_chroma[i] = FUNC(put_weighted_pred_avg_ ## width, depth); \
#define FUNC(a, depth)
static int width
Definition: utils.c:156

◆ HEVC_DSP

#define HEVC_DSP (   depth)

Referenced by ff_hevc_dsp_init().

Function Documentation

◆ ff_hevc_dsp_init()

void ff_hevc_dsp_init ( HEVCDSPContext hevcdsp,
int  bit_depth 
)

Definition at line 136 of file hevcdsp.c.

Referenced by checkasm_check_hevc_idct(), checkasm_check_hevc_mc(), and set_sps().

Variable Documentation

◆ transform

const int8_t transform[32][32]
static

Definition at line 25 of file hevcdsp.c.

Referenced by main(), reverse_dc_prediction(), and vp8_lossless_decode_frame().

◆ ff_hevc_epel_coeffs

const int16_t ff_hevc_epel_coeffs[7][16]
Initial value:
= {
{ -2, 58, 10, -2, -2, 58, 10, -2, -2, 58, 10, -2, -2, 58, 10, -2 },
{ -4, 54, 16, -2, -4, 54, 16, -2, -4, 54, 16, -2, -4, 54, 16, -2 },
{ -6, 46, 28, -4, -6, 46, 28, -4, -6, 46, 28, -4, -6, 46, 28, -4 },
{ -4, 36, 36, -4, -4, 36, 36, -4, -4, 36, 36, -4, -4, 36, 36, -4 },
{ -4, 28, 46, -6, -4, 28, 46, -6, -4, 28, 46, -6, -4, 28, 46, -6 },
{ -2, 16, 54, -4, -2, 16, 54, -4, -2, 16, 54, -4, -2, 16, 54, -4 },
{ -2, 10, 58, -2, -2, 10, 58, -2, -2, 10, 58, -2, -2, 10, 58, -2 },
}

Definition at line 92 of file hevcdsp.c.

Referenced by put_hevc_epel_h(), put_hevc_epel_hv(), and put_hevc_epel_v().

◆ ff_hevc_epel_coeffs8

const int8_t ff_hevc_epel_coeffs8[7][16]
Initial value:
= {
{ -2, 58, 10, -2, -2, 58, 10, -2, -2, 58, 10, -2, -2, 58, 10, -2 },
{ -4, 54, 16, -2, -4, 54, 16, -2, -4, 54, 16, -2, -4, 54, 16, -2 },
{ -6, 46, 28, -4, -6, 46, 28, -4, -6, 46, 28, -4, -6, 46, 28, -4 },
{ -4, 36, 36, -4, -4, 36, 36, -4, -4, 36, 36, -4, -4, 36, 36, -4 },
{ -4, 28, 46, -6, -4, 28, 46, -6, -4, 28, 46, -6, -4, 28, 46, -6 },
{ -2, 16, 54, -4, -2, 16, 54, -4, -2, 16, 54, -4, -2, 16, 54, -4 },
{ -2, 10, 58, -2, -2, 10, 58, -2, -2, 10, 58, -2, -2, 10, 58, -2 },
}

Definition at line 102 of file hevcdsp.c.

◆ ff_hevc_qpel_coeffs

const int16_t ff_hevc_qpel_coeffs[3][8]
Initial value:
= {
{ -1, 4, -10, 58, 17, -5, 1, 0 },
{ -1, 4, -11, 40, 40, -11, 4, -1 },
{ 0, 1, -5, 17, 58, -10, 4, -1 },
}

Definition at line 112 of file hevcdsp.c.

◆ ff_hevc_qpel_coeffs8

const int8_t ff_hevc_qpel_coeffs8[3][16]
Initial value:
= {
{ -1, 4, -10, 58, 17, -5, 1, 0, -1, 4, -10, 58, 17, -5, 1, 0 },
{ -1, 4, -11, 40, 40, -11, 4, -1, -1, 4, -11, 40, 40, -11, 4, -1 },
{ 0, 1, -5, 17, 58, -10, 4, -1, 0, 1, -5, 17, 58, -10, 4, -1 },
}

Definition at line 118 of file hevcdsp.c.