Commit e3b604d6 authored by Angie Chiang's avatar Angie Chiang
Browse files

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, ...@@ -2247,27 +2247,31 @@ void av1_inverse_transform_block(const MACROBLOCKD *xd,
txfm_param.mode = mode; txfm_param.mode = mode;
#endif #endif
const int is_hbd = get_bitdepth_data_path_index(xd);
#if CONFIG_TXMG #if CONFIG_TXMG
DECLARE_ALIGNED(16, uint16_t, tmp[MAX_TX_SQUARE]); if (is_hbd) {
int tmp_stride = MAX_TX_SIZE; av1_highbd_inv_txfm_add(dqcoeff, dst, stride, &txfm_param);
int w = tx_size_wide[tx_size]; } else {
int h = tx_size_high[tx_size]; DECLARE_ALIGNED(16, uint16_t, tmp[MAX_TX_SQUARE]);
for (int r = 0; r < h; ++r) { int tmp_stride = MAX_TX_SIZE;
for (int c = 0; c < w; ++c) { int w = tx_size_wide[tx_size];
tmp[r * tmp_stride + c] = dst[r * stride + c]; 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, av1_highbd_inv_txfm_add(dqcoeff, CONVERT_TO_BYTEPTR(tmp), tmp_stride,
&txfm_param); &txfm_param);
for (int r = 0; r < h; ++r) { for (int r = 0; r < h; ++r) {
for (int c = 0; c < w; ++c) { for (int c = 0; c < w; ++c) {
dst[r * stride + c] = tmp[r * tmp_stride + c]; dst[r * stride + c] = tmp[r * tmp_stride + c];
}
} }
} }
#else // CONFIG_TXMG #else // CONFIG_TXMG
const int is_hbd = get_bitdepth_data_path_index(xd);
inv_txfm_func[is_hbd](dqcoeff, dst, stride, &txfm_param); inv_txfm_func[is_hbd](dqcoeff, dst, stride, &txfm_param);
#endif // CONFIG_TXMG #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