void vp10_inv_txfm_add_4x4(const tran_low_t *input, uint8_t *dest, int stride, int eob, TX_TYPE tx_type, int lossless) { if (lossless) { assert(tx_type == DCT_DCT); vp10_iwht4x4_add(input, dest, stride, eob); } else { switch (tx_type) { case DCT_DCT: vp10_idct4x4_add(input, dest, stride, eob); break; case ADST_DCT: case DCT_ADST: case ADST_ADST: vp10_iht4x4_16_add(input, dest, stride, tx_type); break; default: assert(0); break; } } }
void vp10_inv_txfm_add_4x4(const tran_low_t *input, uint8_t *dest, int stride, int eob, TX_TYPE tx_type, void (*itxm_add_4x4)(const tran_low_t *input, uint8_t *dest, int stride, int eob)) { switch (tx_type) { case DCT_DCT: itxm_add_4x4(input, dest, stride, eob); break; case ADST_DCT: case DCT_ADST: case ADST_ADST: vp10_iht4x4_16_add(input, dest, stride, tx_type); break; default: assert(0); break; } }