# HG changeset patch # User reimar # Date 1214730866 0 # Node ID 237e683b74804f9c4c21dc10414976cade50869e # Parent ea18c012330ae3119fbfe5dd3c21c9b8fe744298 Half size for adpcm_index diff -r ea18c012330a -r 237e683b7480 libmpcodecs/ad_imaadpcm.c --- a/libmpcodecs/ad_imaadpcm.c Sun Jun 29 09:10:46 2008 +0000 +++ b/libmpcodecs/ad_imaadpcm.c Sun Jun 29 09:14:26 2008 +0000 @@ -50,10 +50,9 @@ 15289, 16818, 18500, 20350, 22385, 24623, 27086, 29794, 32767 }; -static const int8_t adpcm_index[16] = +static const int8_t adpcm_index[8] = { -1, -1, -1, -1, 2, 4, 6, 8, - -1, -1, -1, -1, 2, 4, 6, 8 }; // useful macros @@ -144,12 +143,12 @@ for (i = 0; i < output_size; i++) { delta = output[i]; + sign = delta & 8; + delta = delta & 7; index[channel_number] += adpcm_index[delta]; CLAMP_0_TO_88(index[channel_number]); - sign = delta & 8; - delta = delta & 7; delta = 2 * delta + 1; if (sign) delta = -delta;