| 1293 | } |
| 1294 | |
| 1295 | void jpeg_decoder::transform_mcu(int mcu_row) |
| 1296 | { |
| 1297 | jpgd_block_t* pSrc_ptr = m_pMCU_coefficients; |
| 1298 | if (mcu_row * m_blocks_per_mcu >= m_max_blocks_per_row) |
| 1299 | stop_decoding(JPGD_DECODE_ERROR); |
| 1300 | |
| 1301 | uint8* pDst_ptr = m_pSample_buf + mcu_row * m_blocks_per_mcu * 64; |
| 1302 | |
| 1303 | for (int mcu_block = 0; mcu_block < m_blocks_per_mcu; mcu_block++) |
| 1304 | { |
| 1305 | idct(pSrc_ptr, pDst_ptr, m_mcu_block_max_zag[mcu_block]); |
| 1306 | pSrc_ptr += 64; |
| 1307 | pDst_ptr += 64; |
| 1308 | } |
| 1309 | } |
| 1310 | |
| 1311 | // Loads and dequantizes the next row of (already decoded) coefficients. |
| 1312 | // Progressive images only. |