libavcodec/ppc/mpegvideo_altivec.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include "libavcodec/dsputil.h"
#include "libavcodec/mpegvideo.h"
#include "gcc_fixes.h"
#include "dsputil_ppc.h"
#include "util_altivec.h"

Go to the source code of this file.

Defines

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

Functions

int dct_quantize_altivec (MpegEncContext *s, DCTELEM *data, int n, int qscale, int *overflow)
void dct_unquantize_h263_altivec (MpegEncContext *s, DCTELEM *block, int n, int qscale)
void idct_put_altivec (uint8_t *dest, int line_size, int16_t *block)
void idct_add_altivec (uint8_t *dest, int line_size, int16_t *block)
void MPV_common_init_altivec (MpegEncContext *s)


Define Documentation

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

Definition at line 69 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 59 of file mpegvideo_altivec.c.

Referenced by dct_quantize_altivec().

#define SWAP ( a,
 ) 

Value:

do { \
    __typeof__(a) swap_temp=a; \
    a=b; \
    b=swap_temp; \
} while (0)

Definition at line 34 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 42 of file mpegvideo_altivec.c.

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


Function Documentation

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

Definition at line 71 of file mpegvideo_altivec.c.

Referenced by MPV_common_init_altivec().

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

Definition at line 478 of file mpegvideo_altivec.c.

Referenced by MPV_common_init_altivec().

void idct_add_altivec ( uint8_t *  dest,
int  line_size,
int16_t *  block 
)

void idct_put_altivec ( uint8_t *  dest,
int  line_size,
int16_t *  block 
)

void MPV_common_init_altivec ( MpegEncContext s  ) 

Definition at line 591 of file mpegvideo_altivec.c.

Referenced by ff_dct_common_init().


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