FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
h264_altivec_template.c File Reference
#include "libavutil/mem.h"

Go to the source code of this file.

Macros

#define ASSERT_ALIGNED(ptr)   ;
 
#define CHROMA_MC8_ALTIVEC_CORE(BIAS1, BIAS2)
 
#define CHROMA_MC8_ALTIVEC_CORE_SIMPLE
 
#define noop(a)   a
 
#define add28(a)   vec_add(v28ss, a)
 

Macro Definition Documentation

#define ASSERT_ALIGNED (   ptr)    ;

Definition at line 26 of file h264_altivec_template.c.

#define CHROMA_MC8_ALTIVEC_CORE (   BIAS1,
  BIAS2 
)
Value:
vsrc2ssH = (vec_s16)vec_mergeh(zero_u8v,(vec_u8)vsrc2uc);\
vsrc3ssH = (vec_s16)vec_mergeh(zero_u8v,(vec_u8)vsrc3uc);\
\
psum = vec_mladd(vA, vsrc0ssH, BIAS1);\
psum = vec_mladd(vB, vsrc1ssH, psum);\
psum = vec_mladd(vC, vsrc2ssH, psum);\
psum = vec_mladd(vD, vsrc3ssH, psum);\
psum = BIAS2(psum);\
psum = vec_sr(psum, v6us);\
\
vdst = vec_ld(0, dst);\
ppsum = (vec_u8)vec_pack(psum, psum);\
vfdst = vec_perm(vdst, ppsum, fperm);\
OP_U8_ALTIVEC(fsum, vfdst, vdst);\
\
vec_st(fsum, 0, dst);\
\
vsrc0ssH = vsrc2ssH;\
vsrc1ssH = vsrc3ssH;\
\
dst += stride;\
src += stride;

Definition at line 31 of file h264_altivec_template.c.

#define CHROMA_MC8_ALTIVEC_CORE_SIMPLE
Value:
\
vsrc0ssH = (vec_s16)vec_mergeh(zero_u8v,(vec_u8)vsrc0uc);\
vsrc1ssH = (vec_s16)vec_mergeh(zero_u8v,(vec_u8)vsrc1uc);\
\
psum = vec_mladd(vA, vsrc0ssH, v32ss);\
psum = vec_mladd(vE, vsrc1ssH, psum);\
psum = vec_sr(psum, v6us);\
\
vdst = vec_ld(0, dst);\
ppsum = (vec_u8)vec_pack(psum, psum);\
vfdst = vec_perm(vdst, ppsum, fperm);\
OP_U8_ALTIVEC(fsum, vfdst, vdst);\
\
vec_st(fsum, 0, dst);\
\
dst += stride;\
src += stride;

Definition at line 56 of file h264_altivec_template.c.

#define noop (   a)    a

Definition at line 76 of file h264_altivec_template.c.

#define add28 (   a)    vec_add(v28ss, a)

Definition at line 77 of file h264_altivec_template.c.