diff options
-rw-r--r-- | libavcodec/adpcm.c | 7 | ||||
-rw-r--r-- | libavcodec/truemotion1data.h | 7 |
2 files changed, 4 insertions, 10 deletions
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c index 87f4f4448f..22ebde29a1 100644 --- a/libavcodec/adpcm.c +++ b/libavcodec/adpcm.c @@ -107,11 +107,6 @@ static const int ea_adpcm_table[] = { 3, 4, 7, 8, 10, 11, 0, -1, -3, -4 }; -static const int ct_adpcm_table[8] = { - 0x00E6, 0x00E6, 0x00E6, 0x00E6, - 0x0133, 0x0199, 0x0200, 0x0266 -}; - // padded to zero where table size is less then 16 static const int swf_index_tables[4][16] = { /*2*/ { -1, 2 }, @@ -759,7 +754,7 @@ static inline short adpcm_ct_expand_nibble(ADPCMChannelStatus *c, char nibble) c->predictor = ((c->predictor * 254) >> 8) + (sign ? -diff : diff); c->predictor = av_clip_int16(c->predictor); /* calculate new step and clamp it to range 511..32767 */ - new_step = (ct_adpcm_table[nibble & 7] * c->step) >> 8; + new_step = (AdaptationTable[nibble & 7] * c->step) >> 8; c->step = av_clip(new_step, 511, 32767); return (short)c->predictor; diff --git a/libavcodec/truemotion1data.h b/libavcodec/truemotion1data.h index 4b35e9869c..6a9822a3cc 100644 --- a/libavcodec/truemotion1data.h +++ b/libavcodec/truemotion1data.h @@ -34,6 +34,8 @@ static const int16_t ydt2[8] = { 0, -2, 4, -6, 8, -12, 12, -12 }; static const int16_t ydt3[8] = { 4, -6, 20, -20, 46, -46, 94, -94 }; static const int16_t fat_ydt3[8] = { 0, -15, 50, -50, 115, -115, 235, -235 }; static const int16_t ydt4[8] = { 0, -4, 4, -16, 16, -36, 36, -80 }; +/* NOTE: This table breaks the [+,-] pattern that the rest of the + * tables maintain. Is this intentional? */ static const int16_t fat_ydt4[8] = { 0, 40, 80, -76, 160, -154, 236, -236 }; /* C delta tables, skinny and fat */ @@ -41,15 +43,12 @@ static const int16_t cdt1[8] = { 0, -1, 1, -2, 3, -4, 5, -4 }; static const int16_t cdt2[8] = { 0, -4, 3, -16, 20, -32, 36, -32 }; static const int16_t fat_cdt2[8] = { 0, -20, 15, -80, 100, -160, 180, -160 }; static const int16_t cdt3[8] = { 0, -2, 2, -8, 8, -18, 18, -40 }; -/* NOTE: This table breaks the [+,-] pattern that the rest of the - * tables maintain. Is this intentional? */ -static const int16_t fat_cdt3[8] = { 0, 40, 80, -76, 160, -154, 236, -236 }; /* all the delta tables to choose from, at all 4 delta levels */ static const int16_t * const ydts[] = { ydt1, ydt2, ydt3, ydt4, NULL }; static const int16_t * const fat_ydts[] = { fat_ydt3, fat_ydt3, fat_ydt3, fat_ydt4, NULL }; static const int16_t * const cdts[] = { cdt1, cdt1, cdt2, cdt3, NULL }; -static const int16_t * const fat_cdts[] = { fat_cdt2, fat_cdt2, fat_cdt2, fat_cdt3, NULL }; +static const int16_t * const fat_cdts[] = { fat_cdt2, fat_cdt2, fat_cdt2, fat_ydt4, NULL }; static const uint8_t pc_tbl2[] = { 0x8,0x00,0x00,0x00,0x00, |