static void ff_h264_idct_add16intra_altivec(uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6*8]){ int i; for(i=0; i<16; i++){ if(nnzc[ scan8[i] ]) ff_h264_idct_add_altivec(dst + block_offset[i], block + i*16, stride); else if(block[i*16]) h264_idct_dc_add_altivec(dst + block_offset[i], block + i*16, stride); } }
static void ff_h264_idct_add16_altivec(uint8_t *dst, const int *block_offset, int16_t *block, int stride, const uint8_t nnzc[15*8]) { int i; for(i=0; i<16; i++) { int nnz = nnzc[ scan8[i] ]; if(nnz) { if(nnz==1 && block[i*16]) h264_idct_dc_add_altivec(dst + block_offset[i], block + i*16, stride); else ff_h264_idct_add_altivec(dst + block_offset[i], block + i*16, stride); } } }
static void ff_h264_idct_add8_altivec(uint8_t **dest, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[15*8]){ int i, j; for (j = 1; j < 3; j++) { for(i = j * 16; i < j * 16 + 4; i++){ if(nnzc[ scan8[i] ]) ff_h264_idct_add_altivec(dest[j-1] + block_offset[i], block + i*16, stride); else if(block[i*16]) h264_idct_dc_add_altivec(dest[j-1] + block_offset[i], block + i*16, stride); } } }