libavcodec/ppc/vc1dsp_altivec.c File Reference

#include "libavcodec/dsputil.h"
#include "gcc_fixes.h"
#include "util_altivec.h"

Go to the source code of this file.

Defines

#define STEP8(s0, s1, s2, s3, s4, s5, s6, s7, vec_rnd)
#define SHIFT_HOR8(s0, s1, s2, s3, s4, s5, s6, s7)
#define SHIFT_VERT8(s0, s1, s2, s3, s4, s5, s6, s7)
#define STEP4(s0, s1, s2, s3, vec_rnd)
#define SHIFT_HOR4(s0, s1, s2, s3)
#define SHIFT_VERT4(s0, s1, s2, s3)
#define ADD(dest, src, perm)

Functions

static void vc1_inv_trans_8x8_altivec (DCTELEM block[64])
 Do inverse transform on 8x8 block.
static void vc1_inv_trans_8x4_altivec (uint8_t *dest, int stride, DCTELEM *block)
 Do inverse transform on 8x4 part of block.
void vc1dsp_init_altivec (DSPContext *dsp, AVCodecContext *avctx)


Define Documentation

#define ADD ( dest,
src,
perm   ) 

Value:

/* *(uint64_t *)&tmp = *(uint64_t *)dest; */                        \
    tmp = vec_ld (0, dest);                                             \
    tmp2 = (vector signed short)vec_perm (tmp, vec_splat_u8(0), perm);  \
    tmp3 = vec_adds (tmp2, src);                                        \
    tmp = vec_packsu (tmp3, tmp3);                                      \
    vec_ste ((vector unsigned int)tmp, 0, (unsigned int *)dest);        \
    vec_ste ((vector unsigned int)tmp, 4, (unsigned int *)dest);

#define SHIFT_HOR4 ( s0,
s1,
s2,
s3   ) 

Value:

s0 = vec_sra(s0, vec_3); \
    s1 = vec_sra(s1, vec_3); \
    s2 = vec_sra(s2, vec_3); \
    s3 = vec_sra(s3, vec_3);

Definition at line 119 of file vc1dsp_altivec.c.

#define SHIFT_HOR8 ( s0,
s1,
s2,
s3,
s4,
s5,
s6,
s7   ) 

Value:

do { \
    s0 = vec_sra(s0, vec_3); \
    s1 = vec_sra(s1, vec_3); \
    s2 = vec_sra(s2, vec_3); \
    s3 = vec_sra(s3, vec_3); \
    s4 = vec_sra(s4, vec_3); \
    s5 = vec_sra(s5, vec_3); \
    s6 = vec_sra(s6, vec_3); \
    s7 = vec_sra(s7, vec_3); \
}while(0)

Definition at line 76 of file vc1dsp_altivec.c.

Referenced by vc1_inv_trans_8x4_altivec(), and vc1_inv_trans_8x8_altivec().

#define SHIFT_VERT4 ( s0,
s1,
s2,
s3   ) 

Value:

s0 = vec_sra(s0, vec_7); \
    s1 = vec_sra(s1, vec_7); \
    s2 = vec_sra(s2, vec_7); \
    s3 = vec_sra(s3, vec_7);

Definition at line 125 of file vc1dsp_altivec.c.

Referenced by vc1_inv_trans_8x4_altivec().

#define SHIFT_VERT8 ( s0,
s1,
s2,
s3,
s4,
s5,
s6,
s7   ) 

Value:

do { \
    s0 = vec_sra(s0, vec_7); \
    s1 = vec_sra(s1, vec_7); \
    s2 = vec_sra(s2, vec_7); \
    s3 = vec_sra(s3, vec_7); \
    s4 = vec_sra(vec_add(s4, vec_1s), vec_7); \
    s5 = vec_sra(vec_add(s5, vec_1s), vec_7); \
    s6 = vec_sra(vec_add(s6, vec_1s), vec_7); \
    s7 = vec_sra(vec_add(s7, vec_1s), vec_7); \
}while(0)

Definition at line 88 of file vc1dsp_altivec.c.

Referenced by vc1_inv_trans_8x8_altivec().

#define STEP4 ( s0,
s1,
s2,
s3,
vec_rnd   ) 

Value:

do { \
    t1 = vec_add(vec_sl(s0, vec_4), s0); \
    t1 = vec_add(t1, vec_rnd); \
    t2 = vec_add(vec_sl(s2, vec_4), s2); \
    t0 = vec_add(t1, t2); \
    t1 = vec_sub(t1, t2); \
    t3 = vec_sl(vec_sub(s3, s1), vec_1); \
    t3 = vec_add(t3, vec_sl(t3, vec_2)); \
    t2 = vec_add(t3, vec_sl(s1, vec_5)); \
    t3 = vec_add(t3, vec_sl(s3, vec_3)); \
    t3 = vec_add(t3, vec_sl(s3, vec_2)); \
    s0 = vec_add(t0, t2); \
    s1 = vec_sub(t1, t3); \
    s2 = vec_add(t1, t3); \
    s3 = vec_sub(t0, t2); \
}while (0)

Definition at line 101 of file vc1dsp_altivec.c.

Referenced by vc1_inv_trans_8x4_altivec().

#define STEP8 ( s0,
s1,
s2,
s3,
s4,
s5,
s6,
s7,
vec_rnd   ) 

Definition at line 29 of file vc1dsp_altivec.c.

Referenced by vc1_inv_trans_8x4_altivec(), and vc1_inv_trans_8x8_altivec().


Function Documentation

static void vc1_inv_trans_8x4_altivec ( uint8_t *  dest,
int  stride,
DCTELEM block 
) [static]

Do inverse transform on 8x4 part of block.

Definition at line 230 of file vc1dsp_altivec.c.

Referenced by vc1dsp_init_altivec().

static void vc1_inv_trans_8x8_altivec ( DCTELEM  block[64]  )  [static]

Do inverse transform on 8x8 block.

Definition at line 133 of file vc1dsp_altivec.c.

Referenced by vc1dsp_init_altivec().

void vc1dsp_init_altivec ( DSPContext dsp,
AVCodecContext avctx 
)

Definition at line 327 of file vc1dsp_altivec.c.

Referenced by dsputil_init_ppc().


Generated on Fri Oct 26 02:35:44 2012 for FFmpeg by  doxygen 1.5.8