mpegvideo_altivec.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include "libavutil/cpu.h"
#include "libavcodec/dsputil.h"
#include "libavcodec/mpegvideo.h"
#include "util_altivec.h"
#include "types_altivec.h"
#include "dsputil_altivec.h"

Go to the source code of this file.

Macros

#define SWAP(a, b)
#define TRANSPOSE4(a, b, c, d)
#define LOAD4(vec, address)
#define FOUROF(a)   {a,a,a,a}

Functions

static int dct_quantize_altivec (MpegEncContext *s, DCTELEM *data, int n, int qscale, int *overflow)
static void dct_unquantize_h263_altivec (MpegEncContext *s, DCTELEM *block, int n, int qscale)
void MPV_common_init_altivec (MpegEncContext *s)

Macro Definition Documentation

#define FOUROF (   a)    {a,a,a,a}

Definition at line 70 of file mpegvideo_altivec.c.

Referenced by dct_quantize_altivec().

#define LOAD4 (   vec,
  address 
)
Value:
{ \
__typeof__(vec)* _load_addr = (__typeof__(vec)*)(address); \
vector unsigned char _perm_vec = vec_lvsl(0,(address)); \
vec = vec_ld(0, _load_addr); \
vec = vec_perm(vec, vec, _perm_vec); \
vec = vec_splat(vec, 0); \
}

Definition at line 60 of file mpegvideo_altivec.c.

Referenced by dct_quantize_altivec().

#define SWAP (   a,
  b 
)
Value:
do { \
__typeof__(a) swap_temp=a; \
a=b; \
b=swap_temp; \
} while (0)

Definition at line 35 of file mpegvideo_altivec.c.

Referenced by dct_quantize_altivec().

#define TRANSPOSE4 (   a,
  b,
  c,
 
)
Value:
do { \
__typeof__(a) _trans_ach = vec_mergeh(a, c); \
__typeof__(a) _trans_acl = vec_mergel(a, c); \
__typeof__(a) _trans_bdh = vec_mergeh(b, d); \
__typeof__(a) _trans_bdl = vec_mergel(b, d); \
\
a = vec_mergeh(_trans_ach, _trans_bdh); \
b = vec_mergel(_trans_ach, _trans_bdh); \
c = vec_mergeh(_trans_acl, _trans_bdl); \
d = vec_mergel(_trans_acl, _trans_bdl); \
} while (0)

Definition at line 43 of file mpegvideo_altivec.c.

Referenced by cavs_idct8_add_mmx(), dct_quantize_altivec(), and h264_loop_filter_strength_mmx2().

Function Documentation

static int dct_quantize_altivec ( MpegEncContext s,
DCTELEM data,
int  n,
int  qscale,
int *  overflow 
)
static

Definition at line 72 of file mpegvideo_altivec.c.

static void dct_unquantize_h263_altivec ( MpegEncContext s,
DCTELEM block,
int  n,
int  qscale 
)
static

Definition at line 479 of file mpegvideo_altivec.c.

Referenced by MPV_common_init_altivec().

void MPV_common_init_altivec ( MpegEncContext s)

Definition at line 557 of file mpegvideo_altivec.c.

Referenced by ff_dct_common_init().