Line
Link Here
|
0 |
-- a/common/ppc/dct.c |
0 |
++ b/common/ppc/dct.c |
Lines 91-104
void x264_sub8x8_dct_altivec( int16_t dct[4][16], uint8_t *pix1, uint8_t *pix2 )
Link Here
|
91 |
VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v ); |
91 |
VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v ); |
92 |
VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v ); |
92 |
VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v ); |
93 |
|
93 |
|
94 |
vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, dct); |
94 |
vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, *dct); |
95 |
vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, dct); |
95 |
vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, *dct); |
96 |
vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, dct); |
96 |
vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, *dct); |
97 |
vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, dct); |
97 |
vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, *dct); |
98 |
vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, dct); |
98 |
vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, *dct); |
99 |
vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, dct); |
99 |
vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, *dct); |
100 |
vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, dct); |
100 |
vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, *dct); |
101 |
vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, dct); |
101 |
vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, *dct); |
102 |
} |
102 |
} |
103 |
|
103 |
|
104 |
void x264_sub16x16_dct_altivec( int16_t dct[16][16], uint8_t *pix1, uint8_t *pix2 ) |
104 |
void x264_sub16x16_dct_altivec( int16_t dct[16][16], uint8_t *pix1, uint8_t *pix2 ) |
105 |
-- a/common/ppc/mc.c |
105 |
++ b/common/ppc/mc.c |
Lines 460-467
static void mc_chroma_altivec_8xh( uint8_t *dstu, uint8_t *dstv, int i_dst_strid
Link Here
|
460 |
dstv_16h = vec_sr( dstv_16h, shiftv ); |
460 |
dstv_16h = vec_sr( dstv_16h, shiftv ); |
461 |
dstv_16l = vec_sr( dstv_16l, shiftv ); |
461 |
dstv_16l = vec_sr( dstv_16l, shiftv ); |
462 |
|
462 |
|
463 |
dstuv = vec_perm( dstv_16h, dstv_16l, perm0v ); |
463 |
dstuv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm0v ); |
464 |
dstvv = vec_perm( dstv_16h, dstv_16l, perm1v ); |
464 |
dstvv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm1v ); |
465 |
|
465 |
|
466 |
VEC_STORE8( dstuv, dstu ); |
466 |
VEC_STORE8( dstuv, dstu ); |
467 |
VEC_STORE8( dstvv, dstv ); |
467 |
VEC_STORE8( dstvv, dstv ); |
Lines 498-505
static void mc_chroma_altivec_8xh( uint8_t *dstu, uint8_t *dstv, int i_dst_strid
Link Here
|
498 |
dstv_16h = vec_sr( dstv_16h, shiftv ); |
498 |
dstv_16h = vec_sr( dstv_16h, shiftv ); |
499 |
dstv_16l = vec_sr( dstv_16l, shiftv ); |
499 |
dstv_16l = vec_sr( dstv_16l, shiftv ); |
500 |
|
500 |
|
501 |
dstuv = vec_perm( dstv_16h, dstv_16l, perm0v ); |
501 |
dstuv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm0v ); |
502 |
dstvv = vec_perm( dstv_16h, dstv_16l, perm1v ); |
502 |
dstvv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm1v ); |
503 |
|
503 |
|
504 |
VEC_STORE8( dstuv, dstu ); |
504 |
VEC_STORE8( dstuv, dstu ); |
505 |
VEC_STORE8( dstvv, dstv ); |
505 |
VEC_STORE8( dstvv, dstv ); |