440
446
/* n = (BLKSIZE - 4 * avctx->channels) / (2 * 8 * avctx->channels); */
442
448
switch(avctx->codec->id) {
443
case CODEC_ID_ADPCM_IMA_QT: /* XXX: can't test until we get .mov writer */
445
449
case CODEC_ID_ADPCM_IMA_WAV:
446
450
n = avctx->frame_size / 8;
447
451
c->status[0].prev_sample = (signed short)samples[0]; /* XXX */
448
452
/* c->status[0].step_index = 0; *//* XXX: not sure how to init the state machine */
449
*dst++ = (c->status[0].prev_sample) & 0xFF; /* little endian */
450
*dst++ = (c->status[0].prev_sample >> 8) & 0xFF;
453
bytestream_put_le16(&dst, c->status[0].prev_sample);
451
454
*dst++ = (unsigned char)c->status[0].step_index;
452
455
*dst++ = 0; /* unknown */
454
457
if (avctx->channels == 2) {
455
c->status[1].prev_sample = (signed short)samples[1];
458
c->status[1].prev_sample = (signed short)samples[0];
456
459
/* c->status[1].step_index = 0; */
457
*dst++ = (c->status[1].prev_sample) & 0xFF;
458
*dst++ = (c->status[1].prev_sample >> 8) & 0xFF;
460
bytestream_put_le16(&dst, c->status[1].prev_sample);
459
461
*dst++ = (unsigned char)c->status[1].step_index;
483
485
for (; n>0; n--) {
484
*dst = adpcm_ima_compress_sample(&c->status[0], samples[0]) & 0x0F;
485
*dst |= (adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels]) << 4) & 0xF0;
487
*dst = adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 2]) & 0x0F;
488
*dst |= (adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 3]) << 4) & 0xF0;
490
*dst = adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 4]) & 0x0F;
491
*dst |= (adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 5]) << 4) & 0xF0;
493
*dst = adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 6]) & 0x0F;
494
*dst |= (adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 7]) << 4) & 0xF0;
486
*dst = adpcm_ima_compress_sample(&c->status[0], samples[0]);
487
*dst |= adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels]) << 4;
489
*dst = adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 2]);
490
*dst |= adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 3]) << 4;
492
*dst = adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 4]);
493
*dst |= adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 5]) << 4;
495
*dst = adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 6]);
496
*dst |= adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels * 7]) << 4;
496
498
/* right channel */
497
499
if (avctx->channels == 2) {
511
513
samples += 8 * avctx->channels;
516
case CODEC_ID_ADPCM_IMA_QT:
520
init_put_bits(&pb, dst, buf_size*8);
522
for(ch=0; ch<avctx->channels; ch++){
523
put_bits(&pb, 9, (c->status[ch].prev_sample + 0x10000) >> 7);
524
put_bits(&pb, 7, c->status[ch].step_index);
525
if(avctx->trellis > 0) {
527
adpcm_compress_trellis(avctx, samples+ch, buf, &c->status[ch], 64);
529
put_bits(&pb, 4, buf[i^1]);
530
c->status[ch].prev_sample = c->status[ch].predictor & ~0x7F;
532
for (i=0; i<64; i+=2){
534
t1 = adpcm_ima_compress_sample(&c->status[ch], samples[avctx->channels*(i+0)+ch]);
535
t2 = adpcm_ima_compress_sample(&c->status[ch], samples[avctx->channels*(i+1)+ch]);
536
put_bits(&pb, 4, t2);
537
put_bits(&pb, 4, t1);
539
c->status[ch].prev_sample &= ~0x7F;
543
dst += put_bits_count(&pb)>>3;
546
case CODEC_ID_ADPCM_SWF:
550
init_put_bits(&pb, dst, buf_size*8);
552
n = avctx->frame_size-1;
554
//Store AdpcmCodeSize
555
put_bits(&pb, 2, 2); //Set 4bits flash adpcm format
557
//Init the encoder state
558
for(i=0; i<avctx->channels; i++){
559
c->status[i].step_index = av_clip(c->status[i].step_index, 0, 63); // clip step so it fits 6 bits
560
put_bits(&pb, 16, samples[i] & 0xFFFF);
561
put_bits(&pb, 6, c->status[i].step_index);
562
c->status[i].prev_sample = (signed short)samples[i];
565
if(avctx->trellis > 0) {
567
adpcm_compress_trellis(avctx, samples+2, buf[0], &c->status[0], n);
568
if (avctx->channels == 2)
569
adpcm_compress_trellis(avctx, samples+3, buf[1], &c->status[1], n);
571
put_bits(&pb, 4, buf[0][i]);
572
if (avctx->channels == 2)
573
put_bits(&pb, 4, buf[1][i]);
576
for (i=1; i<avctx->frame_size; i++) {
577
put_bits(&pb, 4, adpcm_ima_compress_sample(&c->status[0], samples[avctx->channels*i]));
578
if (avctx->channels == 2)
579
put_bits(&pb, 4, adpcm_ima_compress_sample(&c->status[1], samples[2*i+1]));
583
dst += put_bits_count(&pb)>>3;
514
586
case CODEC_ID_ADPCM_MS:
515
587
for(i=0; i<avctx->channels; i++){
864
921
switch(avctx->codec->id) {
865
922
case CODEC_ID_ADPCM_IMA_QT:
866
n = (buf_size - 2);/* >> 2*avctx->channels;*/
867
channel = c->channel;
868
cs = &(c->status[channel]);
869
/* (pppppp) (piiiiiii) */
871
/* Bits 15-7 are the _top_ 9 bits of the 16-bit initial predictor value */
872
cs->predictor = (*src++) << 8;
873
cs->predictor |= (*src & 0x80);
874
cs->predictor &= 0xFF80;
877
if(cs->predictor & 0x8000)
878
cs->predictor -= 0x10000;
880
CLAMP_TO_SHORT(cs->predictor);
882
cs->step_index = (*src++) & 0x7F;
884
if (cs->step_index > 88){
885
av_log(avctx, AV_LOG_ERROR, "ERROR: step_index = %i\n", cs->step_index);
889
cs->step = step_table[cs->step_index];
894
for(m=32; n>0 && m>0; n--, m--) { /* in QuickTime, IMA is encoded by chuncks of 34 bytes (=64 samples) */
895
*samples = adpcm_ima_expand_nibble(cs, src[0] & 0x0F, 3);
896
samples += avctx->channels;
897
*samples = adpcm_ima_expand_nibble(cs, (src[0] >> 4) & 0x0F, 3);
898
samples += avctx->channels;
902
if(st) { /* handle stereo interlacing */
903
c->channel = (channel + 1) % 2; /* we get one packet for left, then one for right data */
904
if(channel == 1) { /* wait for the other packet before outputing anything */
923
n = buf_size - 2*avctx->channels;
924
for (channel = 0; channel < avctx->channels; channel++) {
925
cs = &(c->status[channel]);
926
/* (pppppp) (piiiiiii) */
928
/* Bits 15-7 are the _top_ 9 bits of the 16-bit initial predictor value */
929
cs->predictor = (*src++) << 8;
930
cs->predictor |= (*src & 0x80);
931
cs->predictor &= 0xFF80;
934
if(cs->predictor & 0x8000)
935
cs->predictor -= 0x10000;
937
cs->predictor = av_clip_int16(cs->predictor);
939
cs->step_index = (*src++) & 0x7F;
941
if (cs->step_index > 88){
942
av_log(avctx, AV_LOG_ERROR, "ERROR: step_index = %i\n", cs->step_index);
946
cs->step = step_table[cs->step_index];
948
samples = (short*)data + channel;
950
for(m=32; n>0 && m>0; n--, m--) { /* in QuickTime, IMA is encoded by chuncks of 34 bytes (=64 samples) */
951
*samples = adpcm_ima_expand_nibble(cs, src[0] & 0x0F, 3);
952
samples += avctx->channels;
953
*samples = adpcm_ima_expand_nibble(cs, src[0] >> 4 , 3);
954
samples += avctx->channels;
909
961
case CODEC_ID_ADPCM_IMA_WAV:
910
962
if (avctx->block_align != 0 && buf_size > avctx->block_align)
1149
1221
next_right_sample = (next_right_sample +
1150
1222
(current_right_sample * coeff1r) +
1151
1223
(previous_right_sample * coeff2r) + 0x80) >> 8;
1152
CLAMP_TO_SHORT(next_left_sample);
1153
CLAMP_TO_SHORT(next_right_sample);
1155
1225
previous_left_sample = current_left_sample;
1156
current_left_sample = next_left_sample;
1226
current_left_sample = av_clip_int16(next_left_sample);
1157
1227
previous_right_sample = current_right_sample;
1158
current_right_sample = next_right_sample;
1228
current_right_sample = av_clip_int16(next_right_sample);
1159
1229
*samples++ = (unsigned short)current_left_sample;
1160
1230
*samples++ = (unsigned short)current_right_sample;
1234
case CODEC_ID_ADPCM_EA_MAXIS_XA:
1235
for(channel = 0; channel < avctx->channels; channel++) {
1237
coeff[channel][i] = ea_adpcm_table[(*src >> 4) + 4*i];
1238
shift[channel] = (*src & 0x0F) + 8;
1241
for (count1 = 0; count1 < (buf_size - avctx->channels) / avctx->channels; count1++) {
1242
for(i = 4; i >= 0; i-=4) { /* Pairwise samples LL RR (st) or LL LL (mono) */
1243
for(channel = 0; channel < avctx->channels; channel++) {
1244
int32_t sample = (int32_t)(((*(src+channel) >> i) & 0x0F) << 0x1C) >> shift[channel];
1246
c->status[channel].sample1 * coeff[channel][0] +
1247
c->status[channel].sample2 * coeff[channel][1] + 0x80) >> 8;
1248
c->status[channel].sample2 = c->status[channel].sample1;
1249
c->status[channel].sample1 = av_clip_int16(sample);
1250
*samples++ = c->status[channel].sample1;
1253
src+=avctx->channels;
1256
case CODEC_ID_ADPCM_EA_R1:
1257
case CODEC_ID_ADPCM_EA_R2:
1258
case CODEC_ID_ADPCM_EA_R3: {
1259
/* channel numbering
1261
4chan: 0=fl, 1=rl, 2=fr, 3=rr
1262
6chan: 0=fl, 1=c, 2=fr, 3=rl, 4=rr, 5=sub */
1263
const int big_endian = avctx->codec->id == CODEC_ID_ADPCM_EA_R3;
1264
int32_t previous_sample, current_sample, next_sample;
1265
int32_t coeff1, coeff2;
1267
unsigned int channel;
1269
const uint8_t *srcC;
1271
samples_in_chunk = (big_endian ? bytestream_get_be32(&src)
1272
: bytestream_get_le32(&src)) / 28;
1273
if (samples_in_chunk > UINT32_MAX/(28*avctx->channels) ||
1274
28*samples_in_chunk*avctx->channels > samples_end-samples) {
1275
src += buf_size - 4;
1279
for (channel=0; channel<avctx->channels; channel++) {
1280
srcC = src + (big_endian ? bytestream_get_be32(&src)
1281
: bytestream_get_le32(&src))
1282
+ (avctx->channels-channel-1) * 4;
1283
samplesC = samples + channel;
1285
if (avctx->codec->id == CODEC_ID_ADPCM_EA_R1) {
1286
current_sample = (int16_t)bytestream_get_le16(&srcC);
1287
previous_sample = (int16_t)bytestream_get_le16(&srcC);
1289
current_sample = c->status[channel].predictor;
1290
previous_sample = c->status[channel].prev_sample;
1293
for (count1=0; count1<samples_in_chunk; count1++) {
1294
if (*srcC == 0xEE) { /* only seen in R2 and R3 */
1296
current_sample = (int16_t)bytestream_get_be16(&srcC);
1297
previous_sample = (int16_t)bytestream_get_be16(&srcC);
1299
for (count2=0; count2<28; count2++) {
1300
*samplesC = (int16_t)bytestream_get_be16(&srcC);
1301
samplesC += avctx->channels;
1304
coeff1 = ea_adpcm_table[ *srcC>>4 ];
1305
coeff2 = ea_adpcm_table[(*srcC>>4) + 4];
1306
shift = (*srcC++ & 0x0F) + 8;
1308
for (count2=0; count2<28; count2++) {
1310
next_sample = (int32_t)((*srcC++ & 0x0F) << 28) >> shift;
1312
next_sample = (int32_t)((*srcC & 0xF0) << 24) >> shift;
1314
next_sample += (current_sample * coeff1) +
1315
(previous_sample * coeff2);
1316
next_sample = av_clip_int16(next_sample >> 8);
1318
previous_sample = current_sample;
1319
current_sample = next_sample;
1320
*samplesC = current_sample;
1321
samplesC += avctx->channels;
1326
if (avctx->codec->id != CODEC_ID_ADPCM_EA_R1) {
1327
c->status[channel].predictor = current_sample;
1328
c->status[channel].prev_sample = previous_sample;
1332
src = src + buf_size - (4 + 4*avctx->channels);
1333
samples += 28 * samples_in_chunk * avctx->channels;
1336
case CODEC_ID_ADPCM_EA_XAS:
1337
if (samples_end-samples < 32*4*avctx->channels
1338
|| buf_size < (4+15)*4*avctx->channels) {
1342
for (channel=0; channel<avctx->channels; channel++) {
1343
int coeff[2][4], shift[4];
1344
short *s2, *s = &samples[channel];
1345
for (n=0; n<4; n++, s+=32*avctx->channels) {
1347
coeff[i][n] = ea_adpcm_table[(src[0]&0x0F)+4*i];
1348
shift[n] = (src[2]&0x0F) + 8;
1349
for (s2=s, i=0; i<2; i++, src+=2, s2+=avctx->channels)
1350
s2[0] = (src[0]&0xF0) + (src[1]<<8);
1353
for (m=2; m<32; m+=2) {
1354
s = &samples[m*avctx->channels + channel];
1355
for (n=0; n<4; n++, src++, s+=32*avctx->channels) {
1356
for (s2=s, i=0; i<8; i+=4, s2+=avctx->channels) {
1357
int level = (int32_t)((*src & (0xF0>>i)) << (24+i)) >> shift[n];
1358
int pred = s2[-1*avctx->channels] * coeff[0][n]
1359
+ s2[-2*avctx->channels] * coeff[1][n];
1360
s2[0] = av_clip_int16((level + pred + 0x80) >> 8);
1365
samples += 32*4*avctx->channels;
1367
case CODEC_ID_ADPCM_IMA_AMV:
1164
1368
case CODEC_ID_ADPCM_IMA_SMJPEG:
1165
c->status[0].predictor = *src;
1167
c->status[0].step_index = *src++;
1168
src++; /* skip another byte before getting to the meat */
1369
c->status[0].predictor = (int16_t)bytestream_get_le16(&src);
1370
c->status[0].step_index = bytestream_get_le16(&src);
1372
if (avctx->codec->id == CODEC_ID_ADPCM_IMA_AMV)
1169
1375
while (src < buf + buf_size) {
1170
*samples++ = adpcm_ima_expand_nibble(&c->status[0],
1172
*samples++ = adpcm_ima_expand_nibble(&c->status[0],
1173
(*src >> 4) & 0x0F, 3);
1380
if (avctx->codec->id == CODEC_ID_ADPCM_IMA_AMV)
1381
FFSWAP(char, hi, lo);
1383
*samples++ = adpcm_ima_expand_nibble(&c->status[0],
1385
*samples++ = adpcm_ima_expand_nibble(&c->status[0],
1237
1450
GetBitContext gb;
1238
1451
const int *table;
1239
int k0, signmask, nb_bits;
1452
int k0, signmask, nb_bits, count;
1240
1453
int size = buf_size*8;
1242
1455
init_get_bits(&gb, buf, size);
1244
//read bits & inital values
1457
//read bits & initial values
1245
1458
nb_bits = get_bits(&gb, 2)+2;
1246
1459
//av_log(NULL,AV_LOG_INFO,"nb_bits: %d\n", nb_bits);
1247
1460
table = swf_index_tables[nb_bits-2];
1248
1461
k0 = 1 << (nb_bits-2);
1249
1462
signmask = 1 << (nb_bits-1);
1251
for (i = 0; i < avctx->channels; i++) {
1252
*samples++ = c->status[i].predictor = get_sbits(&gb, 16);
1253
c->status[i].step_index = get_bits(&gb, 6);
1256
while (get_bits_count(&gb) < size)
1464
while (get_bits_count(&gb) <= size - 22*avctx->channels) {
1260
1465
for (i = 0; i < avctx->channels; i++) {
1261
// similar to IMA adpcm
1262
int delta = get_bits(&gb, nb_bits);
1263
int step = step_table[c->status[i].step_index];
1264
long vpdiff = 0; // vpdiff = (delta+0.5)*step/4
1275
if (delta & signmask)
1276
c->status[i].predictor -= vpdiff;
1278
c->status[i].predictor += vpdiff;
1280
c->status[i].step_index += table[delta & (~signmask)];
1282
c->status[i].step_index = av_clip(c->status[i].step_index, 0, 88);
1283
c->status[i].predictor = av_clip(c->status[i].predictor, -32768, 32767);
1285
*samples++ = c->status[i].predictor;
1286
if (samples >= samples_end) {
1287
av_log(avctx, AV_LOG_ERROR, "allocated output buffer is too small\n");
1466
*samples++ = c->status[i].predictor = get_sbits(&gb, 16);
1467
c->status[i].step_index = get_bits(&gb, 6);
1470
for (count = 0; get_bits_count(&gb) <= size - nb_bits*avctx->channels && count < 4095; count++) {
1473
for (i = 0; i < avctx->channels; i++) {
1474
// similar to IMA adpcm
1475
int delta = get_bits(&gb, nb_bits);
1476
int step = step_table[c->status[i].step_index];
1477
long vpdiff = 0; // vpdiff = (delta+0.5)*step/4
1488
if (delta & signmask)
1489
c->status[i].predictor -= vpdiff;
1491
c->status[i].predictor += vpdiff;
1493
c->status[i].step_index += table[delta & (~signmask)];
1495
c->status[i].step_index = av_clip(c->status[i].step_index, 0, 88);
1496
c->status[i].predictor = av_clip_int16(c->status[i].predictor);
1498
*samples++ = c->status[i].predictor;
1499
if (samples >= samples_end) {
1500
av_log(avctx, AV_LOG_ERROR, "allocated output buffer is too small\n");
1298
1512
*samples++ = adpcm_yamaha_expand_nibble(&c->status[0],
1299
1513
src[0] & 0x0F);
1300
1514
*samples++ = adpcm_yamaha_expand_nibble(&c->status[1],
1301
(src[0] >> 4) & 0x0F);
1303
1517
*samples++ = adpcm_yamaha_expand_nibble(&c->status[0],
1304
1518
src[0] & 0x0F);
1305
1519
*samples++ = adpcm_yamaha_expand_nibble(&c->status[0],
1306
(src[0] >> 4) & 0x0F);
1525
case CODEC_ID_ADPCM_THP:
1528
unsigned int samplecnt;
1532
if (buf_size < 80) {
1533
av_log(avctx, AV_LOG_ERROR, "frame too small\n");
1538
samplecnt = bytestream_get_be32(&src);
1540
for (i = 0; i < 32; i++)
1541
table[0][i] = (int16_t)bytestream_get_be16(&src);
1543
/* Initialize the previous sample. */
1544
for (i = 0; i < 4; i++)
1545
prev[0][i] = (int16_t)bytestream_get_be16(&src);
1547
if (samplecnt >= (samples_end - samples) / (st + 1)) {
1548
av_log(avctx, AV_LOG_ERROR, "allocated output buffer is too small\n");
1552
for (ch = 0; ch <= st; ch++) {
1553
samples = (unsigned short *) data + ch;
1555
/* Read in every sample for this channel. */
1556
for (i = 0; i < samplecnt / 14; i++) {
1557
int index = (*src >> 4) & 7;
1558
unsigned int exp = 28 - (*src++ & 15);
1559
int factor1 = table[ch][index * 2];
1560
int factor2 = table[ch][index * 2 + 1];
1562
/* Decode 14 samples. */
1563
for (n = 0; n < 14; n++) {
1565
if(n&1) sampledat= *src++ <<28;
1566
else sampledat= (*src&0xF0)<<24;
1568
sampledat = ((prev[ch][0]*factor1
1569
+ prev[ch][1]*factor2) >> 11) + (sampledat>>exp);
1570
*samples = av_clip_int16(sampledat);
1571
prev[ch][1] = prev[ch][0];
1572
prev[ch][0] = *samples++;
1574
/* In case of stereo, skip one sample, this sample
1575
is for the other channel. */
1581
/* In the previous loop, in case stereo is used, samples is
1582
increased exactly one time too often. */
1352
1628
#define ADPCM_CODEC(id, name) \
1353
1629
ADPCM_ENCODER(id,name) ADPCM_DECODER(id,name)
1355
ADPCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);
1356
ADPCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
1357
ADPCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3);
1358
ADPCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4);
1359
ADPCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws);
1360
ADPCM_CODEC(CODEC_ID_ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);
1361
ADPCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms);
1362
ADPCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm);
1363
ADPCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa);
1364
ADPCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea);
1365
ADPCM_CODEC(CODEC_ID_ADPCM_CT, adpcm_ct);
1366
ADPCM_CODEC(CODEC_ID_ADPCM_SWF, adpcm_swf);
1367
ADPCM_CODEC(CODEC_ID_ADPCM_YAMAHA, adpcm_yamaha);
1368
ADPCM_CODEC(CODEC_ID_ADPCM_SBPRO_4, adpcm_sbpro_4);
1369
ADPCM_CODEC(CODEC_ID_ADPCM_SBPRO_3, adpcm_sbpro_3);
1370
ADPCM_CODEC(CODEC_ID_ADPCM_SBPRO_2, adpcm_sbpro_2);
1631
ADPCM_DECODER(CODEC_ID_ADPCM_4XM, adpcm_4xm);
1632
ADPCM_DECODER(CODEC_ID_ADPCM_CT, adpcm_ct);
1633
ADPCM_DECODER(CODEC_ID_ADPCM_EA, adpcm_ea);
1634
ADPCM_DECODER(CODEC_ID_ADPCM_EA_MAXIS_XA, adpcm_ea_maxis_xa);
1635
ADPCM_DECODER(CODEC_ID_ADPCM_EA_R1, adpcm_ea_r1);
1636
ADPCM_DECODER(CODEC_ID_ADPCM_EA_R2, adpcm_ea_r2);
1637
ADPCM_DECODER(CODEC_ID_ADPCM_EA_R3, adpcm_ea_r3);
1638
ADPCM_DECODER(CODEC_ID_ADPCM_EA_XAS, adpcm_ea_xas);
1639
ADPCM_DECODER(CODEC_ID_ADPCM_IMA_AMV, adpcm_ima_amv);
1640
ADPCM_DECODER(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3);
1641
ADPCM_DECODER(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4);
1642
ADPCM_DECODER(CODEC_ID_ADPCM_IMA_EA_EACS, adpcm_ima_ea_eacs);
1643
ADPCM_DECODER(CODEC_ID_ADPCM_IMA_EA_SEAD, adpcm_ima_ea_sead);
1644
ADPCM_CODEC (CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);
1645
ADPCM_DECODER(CODEC_ID_ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);
1646
ADPCM_CODEC (CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
1647
ADPCM_DECODER(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws);
1648
ADPCM_CODEC (CODEC_ID_ADPCM_MS, adpcm_ms);
1649
ADPCM_DECODER(CODEC_ID_ADPCM_SBPRO_2, adpcm_sbpro_2);
1650
ADPCM_DECODER(CODEC_ID_ADPCM_SBPRO_3, adpcm_sbpro_3);
1651
ADPCM_DECODER(CODEC_ID_ADPCM_SBPRO_4, adpcm_sbpro_4);
1652
ADPCM_CODEC (CODEC_ID_ADPCM_SWF, adpcm_swf);
1653
ADPCM_DECODER(CODEC_ID_ADPCM_THP, adpcm_thp);
1654
ADPCM_DECODER(CODEC_ID_ADPCM_XA, adpcm_xa);
1655
ADPCM_CODEC (CODEC_ID_ADPCM_YAMAHA, adpcm_yamaha);