libavcodec/ppc/idct_altivec.c File Reference

#include <stdlib.h>
#include <string.h>
#include "dsputil.h"
#include "gcc_fixes.h"
#include "dsputil_ppc.h"

Go to the source code of this file.

Defines

#define vector_s16_t   vector signed short
#define const_vector_s16_t   const vector signed short
#define vector_u16_t   vector unsigned short
#define vector_s8_t   vector signed char
#define vector_u8_t   vector unsigned char
#define vector_s32_t   vector signed int
#define vector_u32_t   vector unsigned int
#define IDCT_HALF
#define IDCT
#define COPY(dest, src)
#define ADD(dest, src, perm)

Functions

void idct_put_altivec (uint8_t *dest, int stride, vector_s16_t *block)
void idct_add_altivec (uint8_t *dest, int stride, vector_s16_t *block)

Variables

static const_vector_s16_t constants [5]


Define Documentation

#define ADD ( dest,
src,
perm   ) 

Value:

/* *(uint64_t *)&tmp = *(uint64_t *)dest; */                        \
    tmp = vec_ld (0, dest);                                             \
    tmp2 = (vector_s16_t)vec_perm (tmp, (vector_u8_t)zero, perm);       \
    tmp3 = vec_adds (tmp2, src);                                        \
    tmp = vec_packsu (tmp3, tmp3);                                      \
    vec_ste ((vector_u32_t)tmp, 0, (unsigned int *)dest);               \
    vec_ste ((vector_u32_t)tmp, 4, (unsigned int *)dest);

#define const_vector_s16_t   const vector signed short

Definition at line 48 of file idct_altivec.c.

#define COPY ( dest,
src   ) 

Value:

tmp = vec_packsu (src, src);                                \
    vec_ste ((vector_u32_t)tmp, 0, (unsigned int *)dest);       \
    vec_ste ((vector_u32_t)tmp, 4, (unsigned int *)dest);

#define IDCT

Definition at line 91 of file idct_altivec.c.

#define IDCT_HALF

Definition at line 55 of file idct_altivec.c.

#define vector_s16_t   vector signed short

Definition at line 47 of file idct_altivec.c.

Referenced by idct_add_altivec().

#define vector_s32_t   vector signed int

Definition at line 52 of file idct_altivec.c.

#define vector_s8_t   vector signed char

Definition at line 50 of file idct_altivec.c.

#define vector_u16_t   vector unsigned short

Definition at line 49 of file idct_altivec.c.

#define vector_u32_t   vector unsigned int

Definition at line 53 of file idct_altivec.c.

#define vector_u8_t   vector unsigned char

Definition at line 51 of file idct_altivec.c.

Referenced by idct_add_altivec(), and idct_put_altivec().


Function Documentation

void idct_add_altivec ( uint8_t dest,
int  stride,
vector_s16_t *  block 
)

Definition at line 195 of file idct_altivec.c.

Referenced by dsputil_init_ppc(), and MPV_common_init_altivec().

void idct_put_altivec ( uint8_t dest,
int  stride,
vector_s16_t *  block 
)

Definition at line 168 of file idct_altivec.c.

Referenced by dsputil_init_ppc(), and MPV_common_init_altivec().


Variable Documentation

const_vector_s16_t constants[5] [static]

Initial value:

 {
    (vector_s16_t) AVV(23170, 13573, 6518, 21895, -23170, -21895, 32, 31),
    (vector_s16_t) AVV(16384, 22725, 21407, 19266, 16384, 19266, 21407, 22725),
    (vector_s16_t) AVV(22725, 31521, 29692, 26722, 22725, 26722, 29692, 31521),
    (vector_s16_t) AVV(21407, 29692, 27969, 25172, 21407, 25172, 27969, 29692),
    (vector_s16_t) AVV(19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722)
}

Definition at line 160 of file idct_altivec.c.


Generated on Thu Apr 2 07:16:13 2009 for ffmpeg by  doxygen 1.5.6