xine-lib 1.2.11
|
#include "config.h"
#include <stdio.h>
#include <inttypes.h>
#include "mpeg2_internal.h"
#include <xine/xineutils.h>
Macros | |
#define | avg2(a, b) ((a+b+1)>>1) |
#define | avg4(a, b, c, d) ((a+b+c+d+2)>>2) |
#define | predict_o(i) (ref[i]) |
#define | predict_x(i) (avg2 (ref[i], ref[i+1])) |
#define | predict_y(i) (avg2 (ref[i], (ref+stride)[i])) |
#define | predict_xy(i) |
#define | put(predictor, i) dest[i] = predictor (i) |
#define | avg(predictor, i) dest[i] = avg2 (predictor (i), dest[i]) |
#define | MC_FUNC(op, xy) |
Functions | |
void | mpeg2_mc_init (uint32_t mm_accel) |
static void | MC_put_o_16_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_put_o_8_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_avg_o_16_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_avg_o_8_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_put_x_16_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_put_x_8_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_avg_x_16_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_avg_x_8_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_put_y_16_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_put_y_8_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_avg_y_16_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_avg_y_8_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_put_xy_16_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_put_xy_8_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_avg_xy_16_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
static void | MC_avg_xy_8_c (uint8_t *dest, uint8_t *ref, int stride, int height) |
Variables | |
mpeg2_mc_t | mpeg2_mc |
mpeg2_mc_t | mpeg2_mc_c = { {MC_put_o_16_c , MC_put_x_16_c , MC_put_y_16_c , MC_put_xy_16_c , MC_put_o_8_c , MC_put_x_8_c , MC_put_y_8_c , MC_put_xy_8_c }, {MC_avg_o_16_c , MC_avg_x_16_c , MC_avg_y_16_c , MC_avg_xy_16_c , MC_avg_o_8_c , MC_avg_x_8_c , MC_avg_y_8_c , MC_avg_xy_8_c } } |
#define avg | ( | predictor, | |
i | |||
) | dest[i] = avg2 (predictor (i), dest[i]) |
#define avg2 | ( | a, | |
b | |||
) | ((a+b+1)>>1) |
#define avg4 | ( | a, | |
b, | |||
c, | |||
d | |||
) | ((a+b+c+d+2)>>2) |
#define MC_FUNC | ( | op, | |
xy | |||
) |
#define predict_o | ( | i | ) | (ref[i]) |
#define predict_x | ( | i | ) | (avg2 (ref[i], ref[i+1])) |
#define predict_xy | ( | i | ) |
#define predict_y | ( | i | ) | (avg2 (ref[i], (ref+stride)[i])) |
#define put | ( | predictor, | |
i | |||
) | dest[i] = predictor (i) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
void mpeg2_mc_init | ( | uint32_t | mm_accel | ) |
References MM_ACCEL_MLIB, MM_ACCEL_PPC_ALTIVEC, MM_ACCEL_SPARC_VIS, MM_ACCEL_X86_3DNOW, MM_ACCEL_X86_MMX, MM_ACCEL_X86_MMXEXT, mpeg2_mc, mpeg2_mc_3dnow, mpeg2_mc_altivec, mpeg2_mc_c, mpeg2_mc_mlib, mpeg2_mc_mmx, mpeg2_mc_mmxext, and mpeg2_mc_vis.
Referenced by mpeg2_accel(), and mpeg2_init().
mpeg2_mc_t mpeg2_mc |
Referenced by mpeg2_mc_init(), and mpeg2_xvmc_slice().
mpeg2_mc_t mpeg2_mc_c = { {MC_put_o_16_c , MC_put_x_16_c , MC_put_y_16_c , MC_put_xy_16_c , MC_put_o_8_c , MC_put_x_8_c , MC_put_y_8_c , MC_put_xy_8_c }, {MC_avg_o_16_c , MC_avg_x_16_c , MC_avg_y_16_c , MC_avg_xy_16_c , MC_avg_o_8_c , MC_avg_x_8_c , MC_avg_y_8_c , MC_avg_xy_8_c } } |
Referenced by mpeg2_mc_init().