| @@ -45,10 +45,10 @@ typedef struct DPCMContext { | |||||
| int channels; | int channels; | ||||
| int16_t roq_square_array[256]; | int16_t roq_square_array[256]; | ||||
| int sample[2]; ///< previous sample (for SOL_DPCM) | int sample[2]; ///< previous sample (for SOL_DPCM) | ||||
| const int *sol_table;//for SOL_DPCM | |||||
| const int8_t *sol_table; ///< delta table for SOL_DPCM | |||||
| } DPCMContext; | } DPCMContext; | ||||
| static const int interplay_delta_table[] = { | |||||
| static const int16_t interplay_delta_table[] = { | |||||
| 0, 1, 2, 3, 4, 5, 6, 7, | 0, 1, 2, 3, 4, 5, 6, 7, | ||||
| 8, 9, 10, 11, 12, 13, 14, 15, | 8, 9, 10, 11, 12, 13, 14, 15, | ||||
| 16, 17, 18, 19, 20, 21, 22, 23, | 16, 17, 18, 19, 20, 21, 22, 23, | ||||
| @@ -84,17 +84,17 @@ static const int interplay_delta_table[] = { | |||||
| }; | }; | ||||
| static const int sol_table_old[16] = { | |||||
| static const int8_t sol_table_old[16] = { | |||||
| 0x0, 0x1, 0x2, 0x3, 0x6, 0xA, 0xF, 0x15, | 0x0, 0x1, 0x2, 0x3, 0x6, 0xA, 0xF, 0x15, | ||||
| -0x15, -0xF, -0xA, -0x6, -0x3, -0x2, -0x1, 0x0 | -0x15, -0xF, -0xA, -0x6, -0x3, -0x2, -0x1, 0x0 | ||||
| }; | }; | ||||
| static const int sol_table_new[16] = { | |||||
| static const int8_t sol_table_new[16] = { | |||||
| 0x0, 0x1, 0x2, 0x3, 0x6, 0xA, 0xF, 0x15, | 0x0, 0x1, 0x2, 0x3, 0x6, 0xA, 0xF, 0x15, | ||||
| 0x0, -0x1, -0x2, -0x3, -0x6, -0xA, -0xF, -0x15 | 0x0, -0x1, -0x2, -0x3, -0x6, -0xA, -0xF, -0x15 | ||||
| }; | }; | ||||
| static const int sol_table_16[128] = { | |||||
| static const int16_t sol_table_16[128] = { | |||||
| 0x000, 0x008, 0x010, 0x020, 0x030, 0x040, 0x050, 0x060, 0x070, 0x080, | 0x000, 0x008, 0x010, 0x020, 0x030, 0x040, 0x050, 0x060, 0x070, 0x080, | ||||
| 0x090, 0x0A0, 0x0B0, 0x0C0, 0x0D0, 0x0E0, 0x0F0, 0x100, 0x110, 0x120, | 0x090, 0x0A0, 0x0B0, 0x0C0, 0x0D0, 0x0E0, 0x0F0, 0x100, 0x110, 0x120, | ||||
| 0x130, 0x140, 0x150, 0x160, 0x170, 0x180, 0x190, 0x1A0, 0x1B0, 0x1C0, | 0x130, 0x140, 0x150, 0x160, 0x170, 0x180, 0x190, 0x1A0, 0x1B0, 0x1C0, | ||||