#include "dsputil.h"
Go to the source code of this file.
Defines | |
#define | VC1_MSPEL_FILTER_16B(DIR, TYPE) |
Filter in case of 2 filters. | |
#define | PUT_VC1_MSPEL(a, b) |
Functions | |
static void | vc1_v_overlap_c (uint8_t *src, int stride) |
Apply overlap transform to horizontal edge. | |
static void | vc1_h_overlap_c (uint8_t *src, int stride) |
Apply overlap transform to vertical edge. | |
static void | vc1_inv_trans_8x8_c (DCTELEM block[64]) |
Do inverse transform on 8x8 block. | |
static void | vc1_inv_trans_8x4_c (uint8_t *dest, int linesize, DCTELEM *block) |
Do inverse transform on 8x4 part of block. | |
static void | vc1_inv_trans_4x8_c (uint8_t *dest, int linesize, DCTELEM *block) |
Do inverse transform on 4x8 parts of block. | |
static void | vc1_inv_trans_4x4_c (uint8_t *dest, int linesize, DCTELEM *block) |
Do inverse transform on 4x4 part of block. | |
VC1_MSPEL_FILTER_16B (ver, uint8_t) | |
VC1_MSPEL_FILTER_16B (hor, int16_t) | |
static av_always_inline int | vc1_mspel_filter (const uint8_t *src, int stride, int mode, int r) |
Filter used to interpolate fractional pel values. | |
static void | vc1_mspel_mc (uint8_t *dst, const uint8_t *src, int stride, int hmode, int vmode, int rnd) |
Function used to do motion compensation with bicubic interpolation. | |
void | ff_put_vc1_mspel_mc00_c (uint8_t *dst, const uint8_t *src, int stride, int rnd) |
void | ff_vc1dsp_init (DSPContext *dsp, AVCodecContext *avctx) |
Definition in file vc1dsp.c.
#define PUT_VC1_MSPEL | ( | a, | |||
b | ) |
Value:
static void put_vc1_mspel_mc ## a ## b ##_c(uint8_t *dst, const uint8_t *src, int stride, int rnd) { \ vc1_mspel_mc(dst, src, stride, a, b, rnd); \ }
#define VC1_MSPEL_FILTER_16B | ( | DIR, | |||
TYPE | ) |
Value:
static av_always_inline int vc1_mspel_ ## DIR ## _filter_16bits(const TYPE *src, int stride, int mode) \ { \ switch(mode){ \ case 0: /* no shift - should not occur */ \ return 0; \ case 1: /* 1/4 shift */ \ return -4*src[-stride] + 53*src[0] + 18*src[stride] - 3*src[stride*2]; \ case 2: /* 1/2 shift */ \ return -src[-stride] + 9*src[0] + 9*src[stride] - src[stride*2]; \ case 3: /* 3/4 shift */ \ return -3*src[-stride] + 18*src[0] + 53*src[stride] - 4*src[stride*2]; \ } \ return 0; /* should not occur */ \ }
void ff_put_vc1_mspel_mc00_c | ( | uint8_t * | dst, | |
const uint8_t * | src, | |||
int | stride, | |||
int | rnd | |||
) |
Referenced by ff_vc1dsp_init().
void ff_vc1dsp_init | ( | DSPContext * | dsp, | |
AVCodecContext * | avctx | |||
) |
static void vc1_h_overlap_c | ( | uint8_t * | src, | |
int | stride | |||
) | [static] |
Apply overlap transform to vertical edge.
Definition at line 58 of file vc1dsp.c.
Referenced by ff_vc1dsp_init().
static void vc1_inv_trans_4x4_c | ( | uint8_t * | dest, | |
int | linesize, | |||
DCTELEM * | block | |||
) | [static] |
Do inverse transform on 4x4 part of block.
Definition at line 269 of file vc1dsp.c.
Referenced by ff_vc1dsp_init().
static void vc1_inv_trans_4x8_c | ( | uint8_t * | dest, | |
int | linesize, | |||
DCTELEM * | block | |||
) | [static] |
Do inverse transform on 4x8 parts of block.
Definition at line 212 of file vc1dsp.c.
Referenced by ff_vc1dsp_init().
static void vc1_inv_trans_8x4_c | ( | uint8_t * | dest, | |
int | linesize, | |||
DCTELEM * | block | |||
) | [static] |
Do inverse transform on 8x4 part of block.
Definition at line 155 of file vc1dsp.c.
Referenced by ff_vc1dsp_init().
static void vc1_inv_trans_8x8_c | ( | DCTELEM | block[64] | ) | [static] |
Do inverse transform on 8x8 block.
Definition at line 84 of file vc1dsp.c.
Referenced by ff_vc1dsp_init().
static av_always_inline int vc1_mspel_filter | ( | const uint8_t * | src, | |
int | stride, | |||
int | mode, | |||
int | r | |||
) | [static] |
Filter used to interpolate fractional pel values.
Definition at line 334 of file vc1dsp.c.
Referenced by vc1_mspel_mc().
VC1_MSPEL_FILTER_16B | ( | hor | , | |
int16_t | ||||
) |
VC1_MSPEL_FILTER_16B | ( | ver | , | |
uint8_t | ||||
) |
static void vc1_mspel_mc | ( | uint8_t * | dst, | |
const uint8_t * | src, | |||
int | stride, | |||
int | hmode, | |||
int | vmode, | |||
int | rnd | |||
) | [static] |
static void vc1_v_overlap_c | ( | uint8_t * | src, | |
int | stride | |||
) | [static] |
Apply overlap transform to horizontal edge.
Definition at line 33 of file vc1dsp.c.
Referenced by ff_vc1dsp_init().