libavcodec/ppc/mpegvideo_altivec.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include "libavcodec/dsputil.h"
#include "libavcodec/mpegvideo.h"
#include "dsputil_ppc.h"
#include "util_altivec.h"
#include "types_altivec.h"
#include "dsputil_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

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)


Define Documentation

#define FOUROF (  )     {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,
 ) 

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(), ff_h264_idct8_add_mmx(), ff_h264_idct_add_mmx(), 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.

Referenced by MPV_common_init_altivec().

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 576 of file mpegvideo_altivec.c.

Referenced by ff_dct_common_init().


Generated on Fri Oct 26 02:36:53 2012 for FFmpeg by  doxygen 1.5.8