From 1927b27504ebee226b5eb1a51461b35e72a6d542 Mon Sep 17 00:00:00 2001 From: Eric Petit Date: Sun, 16 Apr 2006 18:24:38 +0000 Subject: [PATCH] restored AltiVec dct git-svn-id: svn://svn.videolan.org/x264/trunk@500 df754926-b1dd-0310-bc7b-ec298dee348c --- common/dct.c | 2 - common/ppc/dct.c | 252 +++++++++++++++++++++-------------------------- common/ppc/dct.h | 6 +- 3 files changed, 118 insertions(+), 142 deletions(-) diff --git a/common/dct.c b/common/dct.c index 1881e21e..99f95fe0 100644 --- a/common/dct.c +++ b/common/dct.c @@ -431,7 +431,6 @@ void x264_dct_init( int cpu, x264_dct_function_t *dctf ) } #endif -/* FIXME altivec dct is not transposed yet #ifdef ARCH_PPC if( cpu&X264_CPU_ALTIVEC ) { @@ -440,6 +439,5 @@ void x264_dct_init( int cpu, x264_dct_function_t *dctf ) dctf->sub16x16_dct = x264_sub16x16_dct_altivec; } #endif -*/ } diff --git a/common/ppc/dct.c b/common/ppc/dct.c index adeb6915..864a0703 100644 --- a/common/ppc/dct.c +++ b/common/ppc/dct.c @@ -41,45 +41,43 @@ b3 = vec_sub( b3, a1 ) void x264_sub4x4_dct_altivec( int16_t dct[4][4], - uint8_t *pix1, int i_pix1, uint8_t *pix2, int i_pix2 ) + uint8_t *pix1, uint8_t *pix2 ) { PREP_DIFF; PREP_STORE8; vec_s16_t dct0v, dct1v, dct2v, dct3v; vec_s16_t tmp0v, tmp1v, tmp2v, tmp3v; - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 4, dct0v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 4, dct1v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 4, dct2v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 4, dct3v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 4, dct0v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 4, dct1v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 4, dct2v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 4, dct3v ); VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v ); VEC_TRANSPOSE_4( tmp0v, tmp1v, tmp2v, tmp3v, dct0v, dct1v, dct2v, dct3v ); VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v ); - VEC_TRANSPOSE_4( tmp0v, tmp1v, tmp2v, tmp3v, - dct0v, dct1v, dct2v, dct3v ); - VEC_STORE8( dct0v, dct[0] ); - VEC_STORE8( dct1v, dct[1] ); - VEC_STORE8( dct2v, dct[2] ); - VEC_STORE8( dct3v, dct[3] ); + VEC_STORE8( tmp0v, dct[0] ); + VEC_STORE8( tmp1v, dct[1] ); + VEC_STORE8( tmp2v, dct[2] ); + VEC_STORE8( tmp3v, dct[3] ); } void x264_sub8x8_dct_altivec( int16_t dct[4][4][4], - uint8_t *pix1, int i_pix1, uint8_t *pix2, int i_pix2 ) + uint8_t *pix1, uint8_t *pix2 ) { PREP_DIFF; PREP_STORE8_HL; vec_s16_t dct0v, dct1v, dct2v, dct3v, dct4v, dct5v, dct6v, dct7v; vec_s16_t tmp0v, tmp1v, tmp2v, tmp3v, tmp4v, tmp5v, tmp6v, tmp7v; - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 8, dct0v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 8, dct1v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 8, dct2v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 8, dct3v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 8, dct4v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 8, dct5v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 8, dct6v ); - VEC_DIFF_H( pix1, i_pix1, pix2, i_pix2, 8, dct7v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 8, dct0v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 8, dct1v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 8, dct2v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 8, dct3v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 8, dct4v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 8, dct5v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 8, dct6v ); + VEC_DIFF_H( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, 8, dct7v ); VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v ); VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v ); VEC_TRANSPOSE_8( tmp0v, tmp1v, tmp2v, tmp3v, @@ -87,31 +85,27 @@ void x264_sub8x8_dct_altivec( int16_t dct[4][4][4], dct0v, dct1v, dct2v, dct3v, dct4v, dct5v, dct6v, dct7v ); VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v ); + VEC_STORE8_H( tmp0v, dct[0][0] ); + VEC_STORE8_H( tmp1v, dct[0][1] ); + VEC_STORE8_H( tmp2v, dct[0][2] ); + VEC_STORE8_H( tmp3v, dct[0][3] ); + VEC_STORE8_L( tmp0v, dct[2][0] ); + VEC_STORE8_L( tmp1v, dct[2][1] ); + VEC_STORE8_L( tmp2v, dct[2][2] ); + VEC_STORE8_L( tmp3v, dct[2][3] ); VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v ); - VEC_TRANSPOSE_8( tmp0v, tmp1v, tmp2v, tmp3v, - tmp4v, tmp5v, tmp6v, tmp7v, - dct0v, dct1v, dct2v, dct3v, - dct4v, dct5v, dct6v, dct7v ); - VEC_STORE8_H( dct0v, dct[0][0] ); - VEC_STORE8_L( dct0v, dct[1][0] ); - VEC_STORE8_H( dct1v, dct[0][1] ); - VEC_STORE8_L( dct1v, dct[1][1] ); - VEC_STORE8_H( dct2v, dct[0][2] ); - VEC_STORE8_L( dct2v, dct[1][2] ); - VEC_STORE8_H( dct3v, dct[0][3] ); - VEC_STORE8_L( dct3v, dct[1][3] ); - VEC_STORE8_H( dct4v, dct[2][0] ); - VEC_STORE8_L( dct4v, dct[3][0] ); - VEC_STORE8_H( dct5v, dct[2][1] ); - VEC_STORE8_L( dct5v, dct[3][1] ); - VEC_STORE8_H( dct6v, dct[2][2] ); - VEC_STORE8_L( dct6v, dct[3][2] ); - VEC_STORE8_H( dct7v, dct[2][3] ); - VEC_STORE8_L( dct7v, dct[3][3] ); + VEC_STORE8_H( tmp4v, dct[1][0] ); + VEC_STORE8_H( tmp5v, dct[1][1] ); + VEC_STORE8_H( tmp6v, dct[1][2] ); + VEC_STORE8_H( tmp7v, dct[1][3] ); + VEC_STORE8_L( tmp4v, dct[3][0] ); + VEC_STORE8_L( tmp5v, dct[3][1] ); + VEC_STORE8_L( tmp6v, dct[3][2] ); + VEC_STORE8_L( tmp7v, dct[3][3] ); } void x264_sub16x16_dct_altivec( int16_t dct[16][4][4], - uint8_t *pix1, int i_pix1, uint8_t *pix2, int i_pix2 ) + uint8_t *pix1, uint8_t *pix2 ) { PREP_DIFF; PREP_STORE8_HL; @@ -122,14 +116,14 @@ void x264_sub16x16_dct_altivec( int16_t dct[16][4][4], vec_s16_t temp0v, temp1v, temp2v, temp3v, temp4v, temp5v, temp6v, temp7v; - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth0v, dctl0v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth1v, dctl1v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth2v, dctl2v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth3v, dctl3v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth4v, dctl4v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth5v, dctl5v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth6v, dctl6v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth7v, dctl7v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth0v, dctl0v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth1v, dctl1v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth2v, dctl2v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth3v, dctl3v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth4v, dctl4v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth5v, dctl5v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth6v, dctl6v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth7v, dctl7v ); VEC_DCT( dcth0v, dcth1v, dcth2v, dcth3v, temp0v, temp1v, temp2v, temp3v ); @@ -141,28 +135,24 @@ void x264_sub16x16_dct_altivec( int16_t dct[16][4][4], dcth4v, dcth5v, dcth6v, dcth7v ); VEC_DCT( dcth0v, dcth1v, dcth2v, dcth3v, temp0v, temp1v, temp2v, temp3v ); + VEC_STORE8_H( temp0v, dct[0][0] ); + VEC_STORE8_H( temp1v, dct[0][1] ); + VEC_STORE8_H( temp2v, dct[0][2] ); + VEC_STORE8_H( temp3v, dct[0][3] ); + VEC_STORE8_L( temp0v, dct[2][0] ); + VEC_STORE8_L( temp1v, dct[2][1] ); + VEC_STORE8_L( temp2v, dct[2][2] ); + VEC_STORE8_L( temp3v, dct[2][3] ); VEC_DCT( dcth4v, dcth5v, dcth6v, dcth7v, temp4v, temp5v, temp6v, temp7v ); - VEC_TRANSPOSE_8( temp0v, temp1v, temp2v, temp3v, - temp4v, temp5v, temp6v, temp7v, - dcth0v, dcth1v, dcth2v, dcth3v, - dcth4v, dcth5v, dcth6v, dcth7v ); - VEC_STORE8_H( dcth0v, dct[0][0] ); - VEC_STORE8_L( dcth0v, dct[1][0] ); - VEC_STORE8_H( dcth1v, dct[0][1] ); - VEC_STORE8_L( dcth1v, dct[1][1] ); - VEC_STORE8_H( dcth2v, dct[0][2] ); - VEC_STORE8_L( dcth2v, dct[1][2] ); - VEC_STORE8_H( dcth3v, dct[0][3] ); - VEC_STORE8_L( dcth3v, dct[1][3] ); - VEC_STORE8_H( dcth4v, dct[2][0] ); - VEC_STORE8_L( dcth4v, dct[3][0] ); - VEC_STORE8_H( dcth5v, dct[2][1] ); - VEC_STORE8_L( dcth5v, dct[3][1] ); - VEC_STORE8_H( dcth6v, dct[2][2] ); - VEC_STORE8_L( dcth6v, dct[3][2] ); - VEC_STORE8_H( dcth7v, dct[2][3] ); - VEC_STORE8_L( dcth7v, dct[3][3] ); + VEC_STORE8_H( temp4v, dct[1][0] ); + VEC_STORE8_H( temp5v, dct[1][1] ); + VEC_STORE8_H( temp6v, dct[1][2] ); + VEC_STORE8_H( temp7v, dct[1][3] ); + VEC_STORE8_L( temp4v, dct[3][0] ); + VEC_STORE8_L( temp5v, dct[3][1] ); + VEC_STORE8_L( temp6v, dct[3][2] ); + VEC_STORE8_L( temp7v, dct[3][3] ); VEC_DCT( dctl0v, dctl1v, dctl2v, dctl3v, temp0v, temp1v, temp2v, temp3v ); @@ -174,37 +164,33 @@ void x264_sub16x16_dct_altivec( int16_t dct[16][4][4], dctl4v, dctl5v, dctl6v, dctl7v ); VEC_DCT( dctl0v, dctl1v, dctl2v, dctl3v, temp0v, temp1v, temp2v, temp3v ); + VEC_STORE8_H( temp0v, dct[4][0] ); + VEC_STORE8_H( temp1v, dct[4][1] ); + VEC_STORE8_H( temp2v, dct[4][2] ); + VEC_STORE8_H( temp3v, dct[4][3] ); + VEC_STORE8_L( temp0v, dct[6][0] ); + VEC_STORE8_L( temp1v, dct[6][1] ); + VEC_STORE8_L( temp2v, dct[6][2] ); + VEC_STORE8_L( temp3v, dct[6][3] ); VEC_DCT( dctl4v, dctl5v, dctl6v, dctl7v, temp4v, temp5v, temp6v, temp7v ); - VEC_TRANSPOSE_8( temp0v, temp1v, temp2v, temp3v, - temp4v, temp5v, temp6v, temp7v, - dctl0v, dctl1v, dctl2v, dctl3v, - dctl4v, dctl5v, dctl6v, dctl7v ); - VEC_STORE8_H( dctl0v, dct[4][0] ); - VEC_STORE8_L( dctl0v, dct[5][0] ); - VEC_STORE8_H( dctl1v, dct[4][1] ); - VEC_STORE8_L( dctl1v, dct[5][1] ); - VEC_STORE8_H( dctl2v, dct[4][2] ); - VEC_STORE8_L( dctl2v, dct[5][2] ); - VEC_STORE8_H( dctl3v, dct[4][3] ); - VEC_STORE8_L( dctl3v, dct[5][3] ); - VEC_STORE8_H( dctl4v, dct[6][0] ); - VEC_STORE8_L( dctl4v, dct[7][0] ); - VEC_STORE8_H( dctl5v, dct[6][1] ); - VEC_STORE8_L( dctl5v, dct[7][1] ); - VEC_STORE8_H( dctl6v, dct[6][2] ); - VEC_STORE8_L( dctl6v, dct[7][2] ); - VEC_STORE8_H( dctl7v, dct[6][3] ); - VEC_STORE8_L( dctl7v, dct[7][3] ); + VEC_STORE8_H( temp4v, dct[5][0] ); + VEC_STORE8_H( temp5v, dct[5][1] ); + VEC_STORE8_H( temp6v, dct[5][2] ); + VEC_STORE8_H( temp7v, dct[5][3] ); + VEC_STORE8_L( temp4v, dct[7][0] ); + VEC_STORE8_L( temp5v, dct[7][1] ); + VEC_STORE8_L( temp6v, dct[7][2] ); + VEC_STORE8_L( temp7v, dct[7][3] ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth0v, dctl0v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth1v, dctl1v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth2v, dctl2v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth3v, dctl3v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth4v, dctl4v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth5v, dctl5v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth6v, dctl6v ); - VEC_DIFF_HL( pix1, i_pix1, pix2, i_pix2, dcth7v, dctl7v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth0v, dctl0v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth1v, dctl1v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth2v, dctl2v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth3v, dctl3v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth4v, dctl4v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth5v, dctl5v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth6v, dctl6v ); + VEC_DIFF_HL( pix1, FENC_STRIDE, pix2, FDEC_STRIDE, dcth7v, dctl7v ); VEC_DCT( dcth0v, dcth1v, dcth2v, dcth3v, temp0v, temp1v, temp2v, temp3v ); @@ -216,28 +202,24 @@ void x264_sub16x16_dct_altivec( int16_t dct[16][4][4], dcth4v, dcth5v, dcth6v, dcth7v ); VEC_DCT( dcth0v, dcth1v, dcth2v, dcth3v, temp0v, temp1v, temp2v, temp3v ); + VEC_STORE8_H( temp0v, dct[8][0] ); + VEC_STORE8_H( temp1v, dct[8][1] ); + VEC_STORE8_H( temp2v, dct[8][2] ); + VEC_STORE8_H( temp3v, dct[8][3] ); + VEC_STORE8_L( temp0v, dct[10][0] ); + VEC_STORE8_L( temp1v, dct[10][1] ); + VEC_STORE8_L( temp2v, dct[10][2] ); + VEC_STORE8_L( temp3v, dct[10][3] ); VEC_DCT( dcth4v, dcth5v, dcth6v, dcth7v, temp4v, temp5v, temp6v, temp7v ); - VEC_TRANSPOSE_8( temp0v, temp1v, temp2v, temp3v, - temp4v, temp5v, temp6v, temp7v, - dcth0v, dcth1v, dcth2v, dcth3v, - dcth4v, dcth5v, dcth6v, dcth7v ); - VEC_STORE8_H( dcth0v, dct[8][0] ); - VEC_STORE8_L( dcth0v, dct[9][0] ); - VEC_STORE8_H( dcth1v, dct[8][1] ); - VEC_STORE8_L( dcth1v, dct[9][1] ); - VEC_STORE8_H( dcth2v, dct[8][2] ); - VEC_STORE8_L( dcth2v, dct[9][2] ); - VEC_STORE8_H( dcth3v, dct[8][3] ); - VEC_STORE8_L( dcth3v, dct[9][3] ); - VEC_STORE8_H( dcth4v, dct[10][0] ); - VEC_STORE8_L( dcth4v, dct[11][0] ); - VEC_STORE8_H( dcth5v, dct[10][1] ); - VEC_STORE8_L( dcth5v, dct[11][1] ); - VEC_STORE8_H( dcth6v, dct[10][2] ); - VEC_STORE8_L( dcth6v, dct[11][2] ); - VEC_STORE8_H( dcth7v, dct[10][3] ); - VEC_STORE8_L( dcth7v, dct[11][3] ); + VEC_STORE8_H( temp4v, dct[9][0] ); + VEC_STORE8_H( temp5v, dct[9][1] ); + VEC_STORE8_H( temp6v, dct[9][2] ); + VEC_STORE8_H( temp7v, dct[9][3] ); + VEC_STORE8_L( temp4v, dct[11][0] ); + VEC_STORE8_L( temp5v, dct[11][1] ); + VEC_STORE8_L( temp6v, dct[11][2] ); + VEC_STORE8_L( temp7v, dct[11][3] ); VEC_DCT( dctl0v, dctl1v, dctl2v, dctl3v, temp0v, temp1v, temp2v, temp3v ); @@ -249,26 +231,22 @@ void x264_sub16x16_dct_altivec( int16_t dct[16][4][4], dctl4v, dctl5v, dctl6v, dctl7v ); VEC_DCT( dctl0v, dctl1v, dctl2v, dctl3v, temp0v, temp1v, temp2v, temp3v ); + VEC_STORE8_H( temp0v, dct[12][0] ); + VEC_STORE8_H( temp1v, dct[12][1] ); + VEC_STORE8_H( temp2v, dct[12][2] ); + VEC_STORE8_H( temp3v, dct[12][3] ); + VEC_STORE8_L( temp0v, dct[14][0] ); + VEC_STORE8_L( temp1v, dct[14][1] ); + VEC_STORE8_L( temp2v, dct[14][2] ); + VEC_STORE8_L( temp3v, dct[14][3] ); VEC_DCT( dctl4v, dctl5v, dctl6v, dctl7v, temp4v, temp5v, temp6v, temp7v ); - VEC_TRANSPOSE_8( temp0v, temp1v, temp2v, temp3v, - temp4v, temp5v, temp6v, temp7v, - dctl0v, dctl1v, dctl2v, dctl3v, - dctl4v, dctl5v, dctl6v, dctl7v ); - VEC_STORE8_H( dctl0v, dct[12][0] ); - VEC_STORE8_L( dctl0v, dct[13][0] ); - VEC_STORE8_H( dctl1v, dct[12][1] ); - VEC_STORE8_L( dctl1v, dct[13][1] ); - VEC_STORE8_H( dctl2v, dct[12][2] ); - VEC_STORE8_L( dctl2v, dct[13][2] ); - VEC_STORE8_H( dctl3v, dct[12][3] ); - VEC_STORE8_L( dctl3v, dct[13][3] ); - VEC_STORE8_H( dctl4v, dct[14][0] ); - VEC_STORE8_L( dctl4v, dct[15][0] ); - VEC_STORE8_H( dctl5v, dct[14][1] ); - VEC_STORE8_L( dctl5v, dct[15][1] ); - VEC_STORE8_H( dctl6v, dct[14][2] ); - VEC_STORE8_L( dctl6v, dct[15][2] ); - VEC_STORE8_H( dctl7v, dct[14][3] ); - VEC_STORE8_L( dctl7v, dct[15][3] ); + VEC_STORE8_H( temp4v, dct[13][0] ); + VEC_STORE8_H( temp5v, dct[13][1] ); + VEC_STORE8_H( temp6v, dct[13][2] ); + VEC_STORE8_H( temp7v, dct[13][3] ); + VEC_STORE8_L( temp4v, dct[15][0] ); + VEC_STORE8_L( temp5v, dct[15][1] ); + VEC_STORE8_L( temp6v, dct[15][2] ); + VEC_STORE8_L( temp7v, dct[15][3] ); } diff --git a/common/ppc/dct.h b/common/ppc/dct.h index 000aee94..6a7896de 100644 --- a/common/ppc/dct.h +++ b/common/ppc/dct.h @@ -25,10 +25,10 @@ #define _PPC_DCT_H 1 void x264_sub4x4_dct_altivec( int16_t dct[4][4], - uint8_t *pix1, int i_pix1, uint8_t *pix2, int i_pix2 ); + uint8_t *pix1, uint8_t *pix2 ); void x264_sub8x8_dct_altivec( int16_t dct[4][4][4], - uint8_t *pix1, int i_pix1, uint8_t *pix2, int i_pix2 ); + uint8_t *pix1, uint8_t *pix2 ); void x264_sub16x16_dct_altivec( int16_t dct[16][4][4], - uint8_t *pix1, int i_pix1, uint8_t *pix2, int i_pix2 ); + uint8_t *pix1, uint8_t *pix2 ); #endif -- 2.49.0