Commit e3b604d6 authored by Angie Chiang's avatar Angie Chiang

Fix conflict between txmg exp and hbd mode

Change-Id: I5558e18c8c706474df28e51e6ac9f598e0e2ab48
parent 482551b1
......@@ -2247,27 +2247,31 @@ void av1_inverse_transform_block(const MACROBLOCKD *xd,
txfm_param.mode = mode;
#endif
const int is_hbd = get_bitdepth_data_path_index(xd);
#if CONFIG_TXMG
DECLARE_ALIGNED(16, uint16_t, tmp[MAX_TX_SQUARE]);
int tmp_stride = MAX_TX_SIZE;
int w = tx_size_wide[tx_size];
int h = tx_size_high[tx_size];
for (int r = 0; r < h; ++r) {
for (int c = 0; c < w; ++c) {
tmp[r * tmp_stride + c] = dst[r * stride + c];
if (is_hbd) {
av1_highbd_inv_txfm_add(dqcoeff, dst, stride, &txfm_param);
} else {
DECLARE_ALIGNED(16, uint16_t, tmp[MAX_TX_SQUARE]);
int tmp_stride = MAX_TX_SIZE;
int w = tx_size_wide[tx_size];
int h = tx_size_high[tx_size];
for (int r = 0; r < h; ++r) {
for (int c = 0; c < w; ++c) {
tmp[r * tmp_stride + c] = dst[r * stride + c];
}
}
}
av1_highbd_inv_txfm_add(dqcoeff, CONVERT_TO_BYTEPTR(tmp), tmp_stride,
&txfm_param);
av1_highbd_inv_txfm_add(dqcoeff, CONVERT_TO_BYTEPTR(tmp), tmp_stride,
&txfm_param);
for (int r = 0; r < h; ++r) {
for (int c = 0; c < w; ++c) {
dst[r * stride + c] = tmp[r * tmp_stride + c];
for (int r = 0; r < h; ++r) {
for (int c = 0; c < w; ++c) {
dst[r * stride + c] = tmp[r * tmp_stride + c];
}
}
}
#else // CONFIG_TXMG
const int is_hbd = get_bitdepth_data_path_index(xd);
#else // CONFIG_TXMG
inv_txfm_func[is_hbd](dqcoeff, dst, stride, &txfm_param);
#endif // CONFIG_TXMG
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment