Revision 848a5815

View differences:

libavcodec/aac.c
91 91
#include <string.h>
92 92

  
93 93
#ifndef CONFIG_HARDCODED_TABLES
94
    static float ff_aac_ivquant_tab[IVQUANT_SIZE];
95 94
    static float ff_aac_pow2sf_tab[316];
96 95
#endif /* CONFIG_HARDCODED_TABLES */
97 96

  
......
403 402
    }
404 403

  
405 404
#ifndef CONFIG_HARDCODED_TABLES
406
    for (i = 1 - IVQUANT_SIZE/2; i < IVQUANT_SIZE/2; i++)
407
        ff_aac_ivquant_tab[i + IVQUANT_SIZE/2 - 1] =  cbrt(fabs(i)) * i;
408 405
    for (i = 0; i < 316; i++)
409 406
        ff_aac_pow2sf_tab[i] = pow(2, (i - 200)/4.);
410 407
#endif /* CONFIG_HARDCODED_TABLES */
......
469 466
}
470 467

  
471 468
/**
472
 * inverse quantization
473
 *
474
 * @param   a   quantized value to be dequantized
475
 * @return  Returns dequantized value.
476
 */
477
static inline float ivquant(int a) {
478
    if (a + (unsigned int)IVQUANT_SIZE/2 - 1 < (unsigned int)IVQUANT_SIZE - 1)
479
        return ff_aac_ivquant_tab[a + IVQUANT_SIZE/2 - 1];
480
    else
481
        return cbrtf(fabsf(a)) * a;
482
}
483

  
484
/**
485 469
 * Decode band types (section_data payload); reference: table 4.46.
486 470
 *
487 471
 * @param   band_type           array of the used band type
......
535 519
    int offset[3] = { global_gain, global_gain - 90, 100 };
536 520
    int noise_flag = 1;
537 521
    static const char *sf_str[3] = { "Global gain", "Noise gain", "Intensity stereo position" };
538
    ics->intensity_present = 0;
539 522
    for (g = 0; g < ics->num_window_groups; g++) {
540 523
        for (i = 0; i < ics->max_sfb;) {
541 524
            int run_end = band_type_run_end[idx];
......
543 526
                for(; i < run_end; i++, idx++)
544 527
                    sf[idx] = 0.;
545 528
            }else if((band_type[idx] == INTENSITY_BT) || (band_type[idx] == INTENSITY_BT2)) {
546
                ics->intensity_present = 1;
547 529
                for(; i < run_end; i++, idx++) {
548 530
                    offset[2] += get_vlc2(gb, vlc_scalefactors.table, 7, 3) - 60;
549 531
                    if(offset[2] > 255U) {
......
585 567
/**
586 568
 * Decode pulse data; reference: table 4.7.
587 569
 */
588
static void decode_pulses(Pulse * pulse, GetBitContext * gb) {
570
static void decode_pulses(Pulse * pulse, GetBitContext * gb, const uint16_t * swb_offset) {
589 571
    int i;
590 572
    pulse->num_pulse = get_bits(gb, 2) + 1;
591
    pulse->start = get_bits(gb, 6);
592
    for (i = 0; i < pulse->num_pulse; i++) {
593
        pulse->offset[i] = get_bits(gb, 5);
594
        pulse->amp   [i] = get_bits(gb, 4);
573
    pulse->pos[0]    = get_bits(gb, 5) + swb_offset[get_bits(gb, 6)];
574
    pulse->amp[0]    = get_bits(gb, 4);
575
    for (i = 1; i < pulse->num_pulse; i++) {
576
        pulse->pos[i] = get_bits(gb, 5) + pulse->pos[i-1];
577
        pulse->amp[i] = get_bits(gb, 4);
595 578
    }
596 579
}
597 580

  
......
614 597
}
615 598

  
616 599
/**
617
 * Add pulses with particular amplitudes to the quantized spectral data; reference: 4.6.3.3.
618
 *
619
 * @param   pulse   pointer to pulse data struct
620
 * @param   icoef   array of quantized spectral data
621
 */
622
static void add_pulses(int icoef[1024], const Pulse * pulse, const IndividualChannelStream * ics) {
623
    int i, off = ics->swb_offset[pulse->start];
624
    for (i = 0; i < pulse->num_pulse; i++) {
625
        int ic;
626
        off += pulse->offset[i];
627
        ic = (icoef[off] - 1)>>31;
628
        icoef[off] += (pulse->amp[i]^ic) - ic;
629
    }
630
}
631

  
632
/**
633 600
 * Decode an individual_channel_stream payload; reference: table 4.44.
634 601
 *
635 602
 * @param   common_window   Channels have independent [0], or shared [1], Individual Channel Stream information.
......
638 605
 * @return  Returns error status. 0 - OK, !0 - error
639 606
 */
640 607
static int decode_ics(AACContext * ac, SingleChannelElement * sce, GetBitContext * gb, int common_window, int scale_flag) {
641
    int icoeffs[1024];
642 608
    Pulse pulse;
643 609
    TemporalNoiseShaping * tns = &sce->tns;
644 610
    IndividualChannelStream * ics = &sce->ics;
645 611
    float * out = sce->coeffs;
646 612
    int global_gain, pulse_present = 0;
647 613

  
648
    /* These two assignments are to silence some GCC warnings about the
649
     * variables being used uninitialised when in fact they always are.
614
    /* This assignment is to silence a GCC warning about the variable being used
615
     * uninitialized when in fact it always is.
650 616
     */
651 617
    pulse.num_pulse = 0;
652
    pulse.start     = 0;
653 618

  
654 619
    global_gain = get_bits(gb, 8);
655 620

  
......
670 635
                av_log(ac->avccontext, AV_LOG_ERROR, "Pulse tool not allowed in eight short sequence.\n");
671 636
                return -1;
672 637
            }
673
            decode_pulses(&pulse, gb);
638
            decode_pulses(&pulse, gb, ics->swb_offset);
674 639
        }
675 640
        if ((tns->present = get_bits1(gb)) && decode_tns(ac, tns, gb, ics))
676 641
            return -1;
......
680 645
        }
681 646
    }
682 647

  
683
    if (decode_spectrum(ac, icoeffs, gb, ics, sce->band_type) < 0)
648
    if (decode_spectrum_and_dequant(ac, out, gb, sce->sf, pulse_present, &pulse, ics, sce->band_type) < 0)
684 649
        return -1;
685
    if (pulse_present)
686
        add_pulses(icoeffs, &pulse, ics);
687
    dequant(ac, out, icoeffs, sce->sf, ics, sce->band_type);
688 650
    return 0;
689 651
}
690 652

  
......
722 684
    if (common_window && ms_present)
723 685
        apply_mid_side_stereo(cpe);
724 686

  
725
    if (cpe->ch[1].ics.intensity_present)
726
        apply_intensity_stereo(cpe, ms_present);
687
    apply_intensity_stereo(cpe, ms_present);
727 688
    return 0;
728 689
}
729 690

  
......
906 867
    float * in = sce->coeffs;
907 868
    float * out = sce->ret;
908 869
    float * saved = sce->saved;
909
    const float * lwindow      = ics->use_kb_window[0] ? ff_aac_kbd_long_1024 : ff_aac_sine_long_1024;
910
    const float * swindow      = ics->use_kb_window[0] ? ff_aac_kbd_short_128 : ff_aac_sine_short_128;
911
    const float * lwindow_prev = ics->use_kb_window[1] ? ff_aac_kbd_long_1024 : ff_aac_sine_long_1024;
912
    const float * swindow_prev = ics->use_kb_window[1] ? ff_aac_kbd_short_128 : ff_aac_sine_short_128;
870
    const float * lwindow      = ics->use_kb_window[0] ? ff_aac_kbd_long_1024 : ff_sine_1024;
871
    const float * swindow      = ics->use_kb_window[0] ? ff_aac_kbd_short_128 : ff_sine_128;
872
    const float * lwindow_prev = ics->use_kb_window[1] ? ff_aac_kbd_long_1024 : ff_sine_1024;
873
    const float * swindow_prev = ics->use_kb_window[1] ? ff_aac_kbd_short_128 : ff_sine_128;
913 874
    float * buf = ac->buf_mdct;
914 875
    int i;
915 876

  
......
1093 1054
    if (!ac->is_saved) {
1094 1055
        ac->is_saved = 1;
1095 1056
        *data_size = 0;
1096
        return 0;
1057
        return buf_size;
1097 1058
    }
1098 1059

  
1099 1060
    data_size_tmp = 1024 * avccontext->channels * sizeof(int16_t);
libavcodec/aac.h
45 45
#define MAX_CHANNELS 64
46 46
#define MAX_ELEM_ID 16
47 47

  
48
#define IVQUANT_SIZE 1024
49

  
50 48
enum AudioObjectType {
51 49
    AOT_NULL,
52 50
                               // Support?                Name
......
165 163

  
166 164
typedef struct {
167 165
    int num_pulse;
168
    int start;
169
    int offset[4];
166
    int pos[4];
170 167
    int amp[4];
171 168
} Pulse;
172 169

  
libavcodec/aactab.c
398 398
    81, 81, 81, 81, 81, 81, 64, 64, 169, 169, 289,
399 399
};
400 400

  
401
static const int8_t codebook_vector0[324] = {
402
 -1, -1, -1, -1, -1, -1, -1,  0, -1, -1, -1,  1, -1, -1,  0, -1,
403
 -1, -1,  0,  0, -1, -1,  0,  1, -1, -1,  1, -1, -1, -1,  1,  0,
404
 -1, -1,  1,  1, -1,  0, -1, -1, -1,  0, -1,  0, -1,  0, -1,  1,
405
 -1,  0,  0, -1, -1,  0,  0,  0, -1,  0,  0,  1, -1,  0,  1, -1,
406
 -1,  0,  1,  0, -1,  0,  1,  1, -1,  1, -1, -1, -1,  1, -1,  0,
407
 -1,  1, -1,  1, -1,  1,  0, -1, -1,  1,  0,  0, -1,  1,  0,  1,
408
 -1,  1,  1, -1, -1,  1,  1,  0, -1,  1,  1,  1,  0, -1, -1, -1,
409
  0, -1, -1,  0,  0, -1, -1,  1,  0, -1,  0, -1,  0, -1,  0,  0,
410
  0, -1,  0,  1,  0, -1,  1, -1,  0, -1,  1,  0,  0, -1,  1,  1,
411
  0,  0, -1, -1,  0,  0, -1,  0,  0,  0, -1,  1,  0,  0,  0, -1,
412
  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1, -1,  0,  0,  1,  0,
413
  0,  0,  1,  1,  0,  1, -1, -1,  0,  1, -1,  0,  0,  1, -1,  1,
414
  0,  1,  0, -1,  0,  1,  0,  0,  0,  1,  0,  1,  0,  1,  1, -1,
415
  0,  1,  1,  0,  0,  1,  1,  1,  1, -1, -1, -1,  1, -1, -1,  0,
416
  1, -1, -1,  1,  1, -1,  0, -1,  1, -1,  0,  0,  1, -1,  0,  1,
417
  1, -1,  1, -1,  1, -1,  1,  0,  1, -1,  1,  1,  1,  0, -1, -1,
418
  1,  0, -1,  0,  1,  0, -1,  1,  1,  0,  0, -1,  1,  0,  0,  0,
419
  1,  0,  0,  1,  1,  0,  1, -1,  1,  0,  1,  0,  1,  0,  1,  1,
420
  1,  1, -1, -1,  1,  1, -1,  0,  1,  1, -1,  1,  1,  1,  0, -1,
421
  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  1, -1,  1,  1,  1,  0,
422
  1,  1,  1,  1,
423
};
424

  
425
static const int8_t codebook_vector2[324] = {
426
  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  1,  0,
427
  0,  0,  1,  1,  0,  0,  1,  2,  0,  0,  2,  0,  0,  0,  2,  1,
428
  0,  0,  2,  2,  0,  1,  0,  0,  0,  1,  0,  1,  0,  1,  0,  2,
429
  0,  1,  1,  0,  0,  1,  1,  1,  0,  1,  1,  2,  0,  1,  2,  0,
430
  0,  1,  2,  1,  0,  1,  2,  2,  0,  2,  0,  0,  0,  2,  0,  1,
431
  0,  2,  0,  2,  0,  2,  1,  0,  0,  2,  1,  1,  0,  2,  1,  2,
432
  0,  2,  2,  0,  0,  2,  2,  1,  0,  2,  2,  2,  1,  0,  0,  0,
433
  1,  0,  0,  1,  1,  0,  0,  2,  1,  0,  1,  0,  1,  0,  1,  1,
434
  1,  0,  1,  2,  1,  0,  2,  0,  1,  0,  2,  1,  1,  0,  2,  2,
435
  1,  1,  0,  0,  1,  1,  0,  1,  1,  1,  0,  2,  1,  1,  1,  0,
436
  1,  1,  1,  1,  1,  1,  1,  2,  1,  1,  2,  0,  1,  1,  2,  1,
437
  1,  1,  2,  2,  1,  2,  0,  0,  1,  2,  0,  1,  1,  2,  0,  2,
438
  1,  2,  1,  0,  1,  2,  1,  1,  1,  2,  1,  2,  1,  2,  2,  0,
439
  1,  2,  2,  1,  1,  2,  2,  2,  2,  0,  0,  0,  2,  0,  0,  1,
440
  2,  0,  0,  2,  2,  0,  1,  0,  2,  0,  1,  1,  2,  0,  1,  2,
441
  2,  0,  2,  0,  2,  0,  2,  1,  2,  0,  2,  2,  2,  1,  0,  0,
442
  2,  1,  0,  1,  2,  1,  0,  2,  2,  1,  1,  0,  2,  1,  1,  1,
443
  2,  1,  1,  2,  2,  1,  2,  0,  2,  1,  2,  1,  2,  1,  2,  2,
444
  2,  2,  0,  0,  2,  2,  0,  1,  2,  2,  0,  2,  2,  2,  1,  0,
445
  2,  2,  1,  1,  2,  2,  1,  2,  2,  2,  2,  0,  2,  2,  2,  1,
446
  2,  2,  2,  2,
447
};
448

  
449
static const int8_t codebook_vector4[162] = {
450
 -4, -4, -4, -3, -4, -2, -4, -1, -4,  0, -4,  1, -4,  2, -4,  3,
451
 -4,  4, -3, -4, -3, -3, -3, -2, -3, -1, -3,  0, -3,  1, -3,  2,
452
 -3,  3, -3,  4, -2, -4, -2, -3, -2, -2, -2, -1, -2,  0, -2,  1,
453
 -2,  2, -2,  3, -2,  4, -1, -4, -1, -3, -1, -2, -1, -1, -1,  0,
454
 -1,  1, -1,  2, -1,  3, -1,  4,  0, -4,  0, -3,  0, -2,  0, -1,
455
  0,  0,  0,  1,  0,  2,  0,  3,  0,  4,  1, -4,  1, -3,  1, -2,
456
  1, -1,  1,  0,  1,  1,  1,  2,  1,  3,  1,  4,  2, -4,  2, -3,
457
  2, -2,  2, -1,  2,  0,  2,  1,  2,  2,  2,  3,  2,  4,  3, -4,
458
  3, -3,  3, -2,  3, -1,  3,  0,  3,  1,  3,  2,  3,  3,  3,  4,
459
  4, -4,  4, -3,  4, -2,  4, -1,  4,  0,  4,  1,  4,  2,  4,  3,
460
  4,  4,
461
};
462

  
463
static const int8_t codebook_vector6[128] = {
464
  0,  0,  0,  1,  0,  2,  0,  3,  0,  4,  0,  5,  0,  6,  0,  7,
465
  1,  0,  1,  1,  1,  2,  1,  3,  1,  4,  1,  5,  1,  6,  1,  7,
466
  2,  0,  2,  1,  2,  2,  2,  3,  2,  4,  2,  5,  2,  6,  2,  7,
467
  3,  0,  3,  1,  3,  2,  3,  3,  3,  4,  3,  5,  3,  6,  3,  7,
468
  4,  0,  4,  1,  4,  2,  4,  3,  4,  4,  4,  5,  4,  6,  4,  7,
469
  5,  0,  5,  1,  5,  2,  5,  3,  5,  4,  5,  5,  5,  6,  5,  7,
470
  6,  0,  6,  1,  6,  2,  6,  3,  6,  4,  6,  5,  6,  6,  6,  7,
471
  7,  0,  7,  1,  7,  2,  7,  3,  7,  4,  7,  5,  7,  6,  7,  7,
472
};
473

  
474
static const int8_t codebook_vector8[338] = {
475
  0,  0,  0,  1,  0,  2,  0,  3,  0,  4,  0,  5,  0,  6,  0,  7,
476
  0,  8,  0,  9,  0, 10,  0, 11,  0, 12,  1,  0,  1,  1,  1,  2,
477
  1,  3,  1,  4,  1,  5,  1,  6,  1,  7,  1,  8,  1,  9,  1, 10,
478
  1, 11,  1, 12,  2,  0,  2,  1,  2,  2,  2,  3,  2,  4,  2,  5,
479
  2,  6,  2,  7,  2,  8,  2,  9,  2, 10,  2, 11,  2, 12,  3,  0,
480
  3,  1,  3,  2,  3,  3,  3,  4,  3,  5,  3,  6,  3,  7,  3,  8,
481
  3,  9,  3, 10,  3, 11,  3, 12,  4,  0,  4,  1,  4,  2,  4,  3,
482
  4,  4,  4,  5,  4,  6,  4,  7,  4,  8,  4,  9,  4, 10,  4, 11,
483
  4, 12,  5,  0,  5,  1,  5,  2,  5,  3,  5,  4,  5,  5,  5,  6,
484
  5,  7,  5,  8,  5,  9,  5, 10,  5, 11,  5, 12,  6,  0,  6,  1,
485
  6,  2,  6,  3,  6,  4,  6,  5,  6,  6,  6,  7,  6,  8,  6,  9,
486
  6, 10,  6, 11,  6, 12,  7,  0,  7,  1,  7,  2,  7,  3,  7,  4,
487
  7,  5,  7,  6,  7,  7,  7,  8,  7,  9,  7, 10,  7, 11,  7, 12,
488
  8,  0,  8,  1,  8,  2,  8,  3,  8,  4,  8,  5,  8,  6,  8,  7,
489
  8,  8,  8,  9,  8, 10,  8, 11,  8, 12,  9,  0,  9,  1,  9,  2,
490
  9,  3,  9,  4,  9,  5,  9,  6,  9,  7,  9,  8,  9,  9,  9, 10,
491
  9, 11,  9, 12, 10,  0, 10,  1, 10,  2, 10,  3, 10,  4, 10,  5,
492
 10,  6, 10,  7, 10,  8, 10,  9, 10, 10, 10, 11, 10, 12, 11,  0,
493
 11,  1, 11,  2, 11,  3, 11,  4, 11,  5, 11,  6, 11,  7, 11,  8,
494
 11,  9, 11, 10, 11, 11, 11, 12, 12,  0, 12,  1, 12,  2, 12,  3,
495
 12,  4, 12,  5, 12,  6, 12,  7, 12,  8, 12,  9, 12, 10, 12, 11,
496
 12, 12,
497
};
498

  
499
static const int8_t codebook_vector10[578] = {
500
  0,  0,  0,  1,  0,  2,  0,  3,  0,  4,  0,  5,  0,  6,  0,  7,
501
  0,  8,  0,  9,  0, 10,  0, 11,  0, 12,  0, 13,  0, 14,  0, 15,
502
  0, 16,  1,  0,  1,  1,  1,  2,  1,  3,  1,  4,  1,  5,  1,  6,
503
  1,  7,  1,  8,  1,  9,  1, 10,  1, 11,  1, 12,  1, 13,  1, 14,
504
  1, 15,  1, 16,  2,  0,  2,  1,  2,  2,  2,  3,  2,  4,  2,  5,
505
  2,  6,  2,  7,  2,  8,  2,  9,  2, 10,  2, 11,  2, 12,  2, 13,
506
  2, 14,  2, 15,  2, 16,  3,  0,  3,  1,  3,  2,  3,  3,  3,  4,
507
  3,  5,  3,  6,  3,  7,  3,  8,  3,  9,  3, 10,  3, 11,  3, 12,
508
  3, 13,  3, 14,  3, 15,  3, 16,  4,  0,  4,  1,  4,  2,  4,  3,
509
  4,  4,  4,  5,  4,  6,  4,  7,  4,  8,  4,  9,  4, 10,  4, 11,
510
  4, 12,  4, 13,  4, 14,  4, 15,  4, 16,  5,  0,  5,  1,  5,  2,
511
  5,  3,  5,  4,  5,  5,  5,  6,  5,  7,  5,  8,  5,  9,  5, 10,
512
  5, 11,  5, 12,  5, 13,  5, 14,  5, 15,  5, 16,  6,  0,  6,  1,
513
  6,  2,  6,  3,  6,  4,  6,  5,  6,  6,  6,  7,  6,  8,  6,  9,
514
  6, 10,  6, 11,  6, 12,  6, 13,  6, 14,  6, 15,  6, 16,  7,  0,
515
  7,  1,  7,  2,  7,  3,  7,  4,  7,  5,  7,  6,  7,  7,  7,  8,
516
  7,  9,  7, 10,  7, 11,  7, 12,  7, 13,  7, 14,  7, 15,  7, 16,
517
  8,  0,  8,  1,  8,  2,  8,  3,  8,  4,  8,  5,  8,  6,  8,  7,
518
  8,  8,  8,  9,  8, 10,  8, 11,  8, 12,  8, 13,  8, 14,  8, 15,
519
  8, 16,  9,  0,  9,  1,  9,  2,  9,  3,  9,  4,  9,  5,  9,  6,
520
  9,  7,  9,  8,  9,  9,  9, 10,  9, 11,  9, 12,  9, 13,  9, 14,
521
  9, 15,  9, 16, 10,  0, 10,  1, 10,  2, 10,  3, 10,  4, 10,  5,
522
 10,  6, 10,  7, 10,  8, 10,  9, 10, 10, 10, 11, 10, 12, 10, 13,
523
 10, 14, 10, 15, 10, 16, 11,  0, 11,  1, 11,  2, 11,  3, 11,  4,
524
 11,  5, 11,  6, 11,  7, 11,  8, 11,  9, 11, 10, 11, 11, 11, 12,
525
 11, 13, 11, 14, 11, 15, 11, 16, 12,  0, 12,  1, 12,  2, 12,  3,
526
 12,  4, 12,  5, 12,  6, 12,  7, 12,  8, 12,  9, 12, 10, 12, 11,
527
 12, 12, 12, 13, 12, 14, 12, 15, 12, 16, 13,  0, 13,  1, 13,  2,
528
 13,  3, 13,  4, 13,  5, 13,  6, 13,  7, 13,  8, 13,  9, 13, 10,
529
 13, 11, 13, 12, 13, 13, 13, 14, 13, 15, 13, 16, 14,  0, 14,  1,
530
 14,  2, 14,  3, 14,  4, 14,  5, 14,  6, 14,  7, 14,  8, 14,  9,
531
 14, 10, 14, 11, 14, 12, 14, 13, 14, 14, 14, 15, 14, 16, 15,  0,
532
 15,  1, 15,  2, 15,  3, 15,  4, 15,  5, 15,  6, 15,  7, 15,  8,
533
 15,  9, 15, 10, 15, 11, 15, 12, 15, 13, 15, 14, 15, 15, 15, 16,
534
 16,  0, 16,  1, 16,  2, 16,  3, 16,  4, 16,  5, 16,  6, 16,  7,
535
 16,  8, 16,  9, 16, 10, 16, 11, 16, 12, 16, 13, 16, 14, 16, 15,
536
 16, 16,
537
};
538

  
539
const int8_t *ff_aac_codebook_vectors[] = {
401
/* NOTE:
402
 * 64.0f is a special value indicating the existence of an escape code in the
403
 * bitstream.
404
 */
405
static const float codebook_vector0[324] = {
406
 -1.0000000, -1.0000000, -1.0000000, -1.0000000,
407
 -1.0000000, -1.0000000, -1.0000000,  0.0000000,
408
 -1.0000000, -1.0000000, -1.0000000,  1.0000000,
409
 -1.0000000, -1.0000000,  0.0000000, -1.0000000,
410
 -1.0000000, -1.0000000,  0.0000000,  0.0000000,
411
 -1.0000000, -1.0000000,  0.0000000,  1.0000000,
412
 -1.0000000, -1.0000000,  1.0000000, -1.0000000,
413
 -1.0000000, -1.0000000,  1.0000000,  0.0000000,
414
 -1.0000000, -1.0000000,  1.0000000,  1.0000000,
415
 -1.0000000,  0.0000000, -1.0000000, -1.0000000,
416
 -1.0000000,  0.0000000, -1.0000000,  0.0000000,
417
 -1.0000000,  0.0000000, -1.0000000,  1.0000000,
418
 -1.0000000,  0.0000000,  0.0000000, -1.0000000,
419
 -1.0000000,  0.0000000,  0.0000000,  0.0000000,
420
 -1.0000000,  0.0000000,  0.0000000,  1.0000000,
421
 -1.0000000,  0.0000000,  1.0000000, -1.0000000,
422
 -1.0000000,  0.0000000,  1.0000000,  0.0000000,
423
 -1.0000000,  0.0000000,  1.0000000,  1.0000000,
424
 -1.0000000,  1.0000000, -1.0000000, -1.0000000,
425
 -1.0000000,  1.0000000, -1.0000000,  0.0000000,
426
 -1.0000000,  1.0000000, -1.0000000,  1.0000000,
427
 -1.0000000,  1.0000000,  0.0000000, -1.0000000,
428
 -1.0000000,  1.0000000,  0.0000000,  0.0000000,
429
 -1.0000000,  1.0000000,  0.0000000,  1.0000000,
430
 -1.0000000,  1.0000000,  1.0000000, -1.0000000,
431
 -1.0000000,  1.0000000,  1.0000000,  0.0000000,
432
 -1.0000000,  1.0000000,  1.0000000,  1.0000000,
433
  0.0000000, -1.0000000, -1.0000000, -1.0000000,
434
  0.0000000, -1.0000000, -1.0000000,  0.0000000,
435
  0.0000000, -1.0000000, -1.0000000,  1.0000000,
436
  0.0000000, -1.0000000,  0.0000000, -1.0000000,
437
  0.0000000, -1.0000000,  0.0000000,  0.0000000,
438
  0.0000000, -1.0000000,  0.0000000,  1.0000000,
439
  0.0000000, -1.0000000,  1.0000000, -1.0000000,
440
  0.0000000, -1.0000000,  1.0000000,  0.0000000,
441
  0.0000000, -1.0000000,  1.0000000,  1.0000000,
442
  0.0000000,  0.0000000, -1.0000000, -1.0000000,
443
  0.0000000,  0.0000000, -1.0000000,  0.0000000,
444
  0.0000000,  0.0000000, -1.0000000,  1.0000000,
445
  0.0000000,  0.0000000,  0.0000000, -1.0000000,
446
  0.0000000,  0.0000000,  0.0000000,  0.0000000,
447
  0.0000000,  0.0000000,  0.0000000,  1.0000000,
448
  0.0000000,  0.0000000,  1.0000000, -1.0000000,
449
  0.0000000,  0.0000000,  1.0000000,  0.0000000,
450
  0.0000000,  0.0000000,  1.0000000,  1.0000000,
451
  0.0000000,  1.0000000, -1.0000000, -1.0000000,
452
  0.0000000,  1.0000000, -1.0000000,  0.0000000,
453
  0.0000000,  1.0000000, -1.0000000,  1.0000000,
454
  0.0000000,  1.0000000,  0.0000000, -1.0000000,
455
  0.0000000,  1.0000000,  0.0000000,  0.0000000,
456
  0.0000000,  1.0000000,  0.0000000,  1.0000000,
457
  0.0000000,  1.0000000,  1.0000000, -1.0000000,
458
  0.0000000,  1.0000000,  1.0000000,  0.0000000,
459
  0.0000000,  1.0000000,  1.0000000,  1.0000000,
460
  1.0000000, -1.0000000, -1.0000000, -1.0000000,
461
  1.0000000, -1.0000000, -1.0000000,  0.0000000,
462
  1.0000000, -1.0000000, -1.0000000,  1.0000000,
463
  1.0000000, -1.0000000,  0.0000000, -1.0000000,
464
  1.0000000, -1.0000000,  0.0000000,  0.0000000,
465
  1.0000000, -1.0000000,  0.0000000,  1.0000000,
466
  1.0000000, -1.0000000,  1.0000000, -1.0000000,
467
  1.0000000, -1.0000000,  1.0000000,  0.0000000,
468
  1.0000000, -1.0000000,  1.0000000,  1.0000000,
469
  1.0000000,  0.0000000, -1.0000000, -1.0000000,
470
  1.0000000,  0.0000000, -1.0000000,  0.0000000,
471
  1.0000000,  0.0000000, -1.0000000,  1.0000000,
472
  1.0000000,  0.0000000,  0.0000000, -1.0000000,
473
  1.0000000,  0.0000000,  0.0000000,  0.0000000,
474
  1.0000000,  0.0000000,  0.0000000,  1.0000000,
475
  1.0000000,  0.0000000,  1.0000000, -1.0000000,
476
  1.0000000,  0.0000000,  1.0000000,  0.0000000,
477
  1.0000000,  0.0000000,  1.0000000,  1.0000000,
478
  1.0000000,  1.0000000, -1.0000000, -1.0000000,
479
  1.0000000,  1.0000000, -1.0000000,  0.0000000,
480
  1.0000000,  1.0000000, -1.0000000,  1.0000000,
481
  1.0000000,  1.0000000,  0.0000000, -1.0000000,
482
  1.0000000,  1.0000000,  0.0000000,  0.0000000,
483
  1.0000000,  1.0000000,  0.0000000,  1.0000000,
484
  1.0000000,  1.0000000,  1.0000000, -1.0000000,
485
  1.0000000,  1.0000000,  1.0000000,  0.0000000,
486
  1.0000000,  1.0000000,  1.0000000,  1.0000000,
487
};
488

  
489
static const float codebook_vector2[324] = {
490
  0.0000000,  0.0000000,  0.0000000,  0.0000000,
491
  0.0000000,  0.0000000,  0.0000000,  1.0000000,
492
  0.0000000,  0.0000000,  0.0000000,  2.5198421,
493
  0.0000000,  0.0000000,  1.0000000,  0.0000000,
494
  0.0000000,  0.0000000,  1.0000000,  1.0000000,
495
  0.0000000,  0.0000000,  1.0000000,  2.5198421,
496
  0.0000000,  0.0000000,  2.5198421,  0.0000000,
497
  0.0000000,  0.0000000,  2.5198421,  1.0000000,
498
  0.0000000,  0.0000000,  2.5198421,  2.5198421,
499
  0.0000000,  1.0000000,  0.0000000,  0.0000000,
500
  0.0000000,  1.0000000,  0.0000000,  1.0000000,
501
  0.0000000,  1.0000000,  0.0000000,  2.5198421,
502
  0.0000000,  1.0000000,  1.0000000,  0.0000000,
503
  0.0000000,  1.0000000,  1.0000000,  1.0000000,
504
  0.0000000,  1.0000000,  1.0000000,  2.5198421,
505
  0.0000000,  1.0000000,  2.5198421,  0.0000000,
506
  0.0000000,  1.0000000,  2.5198421,  1.0000000,
507
  0.0000000,  1.0000000,  2.5198421,  2.5198421,
508
  0.0000000,  2.5198421,  0.0000000,  0.0000000,
509
  0.0000000,  2.5198421,  0.0000000,  1.0000000,
510
  0.0000000,  2.5198421,  0.0000000,  2.5198421,
511
  0.0000000,  2.5198421,  1.0000000,  0.0000000,
512
  0.0000000,  2.5198421,  1.0000000,  1.0000000,
513
  0.0000000,  2.5198421,  1.0000000,  2.5198421,
514
  0.0000000,  2.5198421,  2.5198421,  0.0000000,
515
  0.0000000,  2.5198421,  2.5198421,  1.0000000,
516
  0.0000000,  2.5198421,  2.5198421,  2.5198421,
517
  1.0000000,  0.0000000,  0.0000000,  0.0000000,
518
  1.0000000,  0.0000000,  0.0000000,  1.0000000,
519
  1.0000000,  0.0000000,  0.0000000,  2.5198421,
520
  1.0000000,  0.0000000,  1.0000000,  0.0000000,
521
  1.0000000,  0.0000000,  1.0000000,  1.0000000,
522
  1.0000000,  0.0000000,  1.0000000,  2.5198421,
523
  1.0000000,  0.0000000,  2.5198421,  0.0000000,
524
  1.0000000,  0.0000000,  2.5198421,  1.0000000,
525
  1.0000000,  0.0000000,  2.5198421,  2.5198421,
526
  1.0000000,  1.0000000,  0.0000000,  0.0000000,
527
  1.0000000,  1.0000000,  0.0000000,  1.0000000,
528
  1.0000000,  1.0000000,  0.0000000,  2.5198421,
529
  1.0000000,  1.0000000,  1.0000000,  0.0000000,
530
  1.0000000,  1.0000000,  1.0000000,  1.0000000,
531
  1.0000000,  1.0000000,  1.0000000,  2.5198421,
532
  1.0000000,  1.0000000,  2.5198421,  0.0000000,
533
  1.0000000,  1.0000000,  2.5198421,  1.0000000,
534
  1.0000000,  1.0000000,  2.5198421,  2.5198421,
535
  1.0000000,  2.5198421,  0.0000000,  0.0000000,
536
  1.0000000,  2.5198421,  0.0000000,  1.0000000,
537
  1.0000000,  2.5198421,  0.0000000,  2.5198421,
538
  1.0000000,  2.5198421,  1.0000000,  0.0000000,
539
  1.0000000,  2.5198421,  1.0000000,  1.0000000,
540
  1.0000000,  2.5198421,  1.0000000,  2.5198421,
541
  1.0000000,  2.5198421,  2.5198421,  0.0000000,
542
  1.0000000,  2.5198421,  2.5198421,  1.0000000,
543
  1.0000000,  2.5198421,  2.5198421,  2.5198421,
544
  2.5198421,  0.0000000,  0.0000000,  0.0000000,
545
  2.5198421,  0.0000000,  0.0000000,  1.0000000,
546
  2.5198421,  0.0000000,  0.0000000,  2.5198421,
547
  2.5198421,  0.0000000,  1.0000000,  0.0000000,
548
  2.5198421,  0.0000000,  1.0000000,  1.0000000,
549
  2.5198421,  0.0000000,  1.0000000,  2.5198421,
550
  2.5198421,  0.0000000,  2.5198421,  0.0000000,
551
  2.5198421,  0.0000000,  2.5198421,  1.0000000,
552
  2.5198421,  0.0000000,  2.5198421,  2.5198421,
553
  2.5198421,  1.0000000,  0.0000000,  0.0000000,
554
  2.5198421,  1.0000000,  0.0000000,  1.0000000,
555
  2.5198421,  1.0000000,  0.0000000,  2.5198421,
556
  2.5198421,  1.0000000,  1.0000000,  0.0000000,
557
  2.5198421,  1.0000000,  1.0000000,  1.0000000,
558
  2.5198421,  1.0000000,  1.0000000,  2.5198421,
559
  2.5198421,  1.0000000,  2.5198421,  0.0000000,
560
  2.5198421,  1.0000000,  2.5198421,  1.0000000,
561
  2.5198421,  1.0000000,  2.5198421,  2.5198421,
562
  2.5198421,  2.5198421,  0.0000000,  0.0000000,
563
  2.5198421,  2.5198421,  0.0000000,  1.0000000,
564
  2.5198421,  2.5198421,  0.0000000,  2.5198421,
565
  2.5198421,  2.5198421,  1.0000000,  0.0000000,
566
  2.5198421,  2.5198421,  1.0000000,  1.0000000,
567
  2.5198421,  2.5198421,  1.0000000,  2.5198421,
568
  2.5198421,  2.5198421,  2.5198421,  0.0000000,
569
  2.5198421,  2.5198421,  2.5198421,  1.0000000,
570
  2.5198421,  2.5198421,  2.5198421,  2.5198421,
571
};
572

  
573
static const float codebook_vector4[162] = {
574
 -6.3496042, -6.3496042, -6.3496042, -4.3267487,
575
 -6.3496042, -2.5198421, -6.3496042, -1.0000000,
576
 -6.3496042,  0.0000000, -6.3496042,  1.0000000,
577
 -6.3496042,  2.5198421, -6.3496042,  4.3267487,
578
 -6.3496042,  6.3496042, -4.3267487, -6.3496042,
579
 -4.3267487, -4.3267487, -4.3267487, -2.5198421,
580
 -4.3267487, -1.0000000, -4.3267487,  0.0000000,
581
 -4.3267487,  1.0000000, -4.3267487,  2.5198421,
582
 -4.3267487,  4.3267487, -4.3267487,  6.3496042,
583
 -2.5198421, -6.3496042, -2.5198421, -4.3267487,
584
 -2.5198421, -2.5198421, -2.5198421, -1.0000000,
585
 -2.5198421,  0.0000000, -2.5198421,  1.0000000,
586
 -2.5198421,  2.5198421, -2.5198421,  4.3267487,
587
 -2.5198421,  6.3496042, -1.0000000, -6.3496042,
588
 -1.0000000, -4.3267487, -1.0000000, -2.5198421,
589
 -1.0000000, -1.0000000, -1.0000000,  0.0000000,
590
 -1.0000000,  1.0000000, -1.0000000,  2.5198421,
591
 -1.0000000,  4.3267487, -1.0000000,  6.3496042,
592
  0.0000000, -6.3496042,  0.0000000, -4.3267487,
593
  0.0000000, -2.5198421,  0.0000000, -1.0000000,
594
  0.0000000,  0.0000000,  0.0000000,  1.0000000,
595
  0.0000000,  2.5198421,  0.0000000,  4.3267487,
596
  0.0000000,  6.3496042,  1.0000000, -6.3496042,
597
  1.0000000, -4.3267487,  1.0000000, -2.5198421,
598
  1.0000000, -1.0000000,  1.0000000,  0.0000000,
599
  1.0000000,  1.0000000,  1.0000000,  2.5198421,
600
  1.0000000,  4.3267487,  1.0000000,  6.3496042,
601
  2.5198421, -6.3496042,  2.5198421, -4.3267487,
602
  2.5198421, -2.5198421,  2.5198421, -1.0000000,
603
  2.5198421,  0.0000000,  2.5198421,  1.0000000,
604
  2.5198421,  2.5198421,  2.5198421,  4.3267487,
605
  2.5198421,  6.3496042,  4.3267487, -6.3496042,
606
  4.3267487, -4.3267487,  4.3267487, -2.5198421,
607
  4.3267487, -1.0000000,  4.3267487,  0.0000000,
608
  4.3267487,  1.0000000,  4.3267487,  2.5198421,
609
  4.3267487,  4.3267487,  4.3267487,  6.3496042,
610
  6.3496042, -6.3496042,  6.3496042, -4.3267487,
611
  6.3496042, -2.5198421,  6.3496042, -1.0000000,
612
  6.3496042,  0.0000000,  6.3496042,  1.0000000,
613
  6.3496042,  2.5198421,  6.3496042,  4.3267487,
614
  6.3496042,  6.3496042,
615
};
616

  
617
static const float codebook_vector6[128] = {
618
  0.0000000,  0.0000000,  0.0000000,  1.0000000,
619
  0.0000000,  2.5198421,  0.0000000,  4.3267487,
620
  0.0000000,  6.3496042,  0.0000000,  8.5498797,
621
  0.0000000, 10.9027236,  0.0000000, 13.3905183,
622
  1.0000000,  0.0000000,  1.0000000,  1.0000000,
623
  1.0000000,  2.5198421,  1.0000000,  4.3267487,
624
  1.0000000,  6.3496042,  1.0000000,  8.5498797,
625
  1.0000000, 10.9027236,  1.0000000, 13.3905183,
626
  2.5198421,  0.0000000,  2.5198421,  1.0000000,
627
  2.5198421,  2.5198421,  2.5198421,  4.3267487,
628
  2.5198421,  6.3496042,  2.5198421,  8.5498797,
629
  2.5198421, 10.9027236,  2.5198421, 13.3905183,
630
  4.3267487,  0.0000000,  4.3267487,  1.0000000,
631
  4.3267487,  2.5198421,  4.3267487,  4.3267487,
632
  4.3267487,  6.3496042,  4.3267487,  8.5498797,
633
  4.3267487, 10.9027236,  4.3267487, 13.3905183,
634
  6.3496042,  0.0000000,  6.3496042,  1.0000000,
635
  6.3496042,  2.5198421,  6.3496042,  4.3267487,
636
  6.3496042,  6.3496042,  6.3496042,  8.5498797,
637
  6.3496042, 10.9027236,  6.3496042, 13.3905183,
638
  8.5498797,  0.0000000,  8.5498797,  1.0000000,
639
  8.5498797,  2.5198421,  8.5498797,  4.3267487,
640
  8.5498797,  6.3496042,  8.5498797,  8.5498797,
641
  8.5498797, 10.9027236,  8.5498797, 13.3905183,
642
 10.9027236,  0.0000000, 10.9027236,  1.0000000,
643
 10.9027236,  2.5198421, 10.9027236,  4.3267487,
644
 10.9027236,  6.3496042, 10.9027236,  8.5498797,
645
 10.9027236, 10.9027236, 10.9027236, 13.3905183,
646
 13.3905183,  0.0000000, 13.3905183,  1.0000000,
647
 13.3905183,  2.5198421, 13.3905183,  4.3267487,
648
 13.3905183,  6.3496042, 13.3905183,  8.5498797,
649
 13.3905183, 10.9027236, 13.3905183, 13.3905183,
650
};
651

  
652
static const float codebook_vector8[338] = {
653
  0.0000000,  0.0000000,  0.0000000,  1.0000000,
654
  0.0000000,  2.5198421,  0.0000000,  4.3267487,
655
  0.0000000,  6.3496042,  0.0000000,  8.5498797,
656
  0.0000000, 10.9027236,  0.0000000, 13.3905183,
657
  0.0000000, 16.0000000,  0.0000000, 18.7207544,
658
  0.0000000, 21.5443469,  0.0000000, 24.4637810,
659
  0.0000000, 27.4731418,  1.0000000,  0.0000000,
660
  1.0000000,  1.0000000,  1.0000000,  2.5198421,
661
  1.0000000,  4.3267487,  1.0000000,  6.3496042,
662
  1.0000000,  8.5498797,  1.0000000, 10.9027236,
663
  1.0000000, 13.3905183,  1.0000000, 16.0000000,
664
  1.0000000, 18.7207544,  1.0000000, 21.5443469,
665
  1.0000000, 24.4637810,  1.0000000, 27.4731418,
666
  2.5198421,  0.0000000,  2.5198421,  1.0000000,
667
  2.5198421,  2.5198421,  2.5198421,  4.3267487,
668
  2.5198421,  6.3496042,  2.5198421,  8.5498797,
669
  2.5198421, 10.9027236,  2.5198421, 13.3905183,
670
  2.5198421, 16.0000000,  2.5198421, 18.7207544,
671
  2.5198421, 21.5443469,  2.5198421, 24.4637810,
672
  2.5198421, 27.4731418,  4.3267487,  0.0000000,
673
  4.3267487,  1.0000000,  4.3267487,  2.5198421,
674
  4.3267487,  4.3267487,  4.3267487,  6.3496042,
675
  4.3267487,  8.5498797,  4.3267487, 10.9027236,
676
  4.3267487, 13.3905183,  4.3267487, 16.0000000,
677
  4.3267487, 18.7207544,  4.3267487, 21.5443469,
678
  4.3267487, 24.4637810,  4.3267487, 27.4731418,
679
  6.3496042,  0.0000000,  6.3496042,  1.0000000,
680
  6.3496042,  2.5198421,  6.3496042,  4.3267487,
681
  6.3496042,  6.3496042,  6.3496042,  8.5498797,
682
  6.3496042, 10.9027236,  6.3496042, 13.3905183,
683
  6.3496042, 16.0000000,  6.3496042, 18.7207544,
684
  6.3496042, 21.5443469,  6.3496042, 24.4637810,
685
  6.3496042, 27.4731418,  8.5498797,  0.0000000,
686
  8.5498797,  1.0000000,  8.5498797,  2.5198421,
687
  8.5498797,  4.3267487,  8.5498797,  6.3496042,
688
  8.5498797,  8.5498797,  8.5498797, 10.9027236,
689
  8.5498797, 13.3905183,  8.5498797, 16.0000000,
690
  8.5498797, 18.7207544,  8.5498797, 21.5443469,
691
  8.5498797, 24.4637810,  8.5498797, 27.4731418,
692
 10.9027236,  0.0000000, 10.9027236,  1.0000000,
693
 10.9027236,  2.5198421, 10.9027236,  4.3267487,
694
 10.9027236,  6.3496042, 10.9027236,  8.5498797,
695
 10.9027236, 10.9027236, 10.9027236, 13.3905183,
696
 10.9027236, 16.0000000, 10.9027236, 18.7207544,
697
 10.9027236, 21.5443469, 10.9027236, 24.4637810,
698
 10.9027236, 27.4731418, 13.3905183,  0.0000000,
699
 13.3905183,  1.0000000, 13.3905183,  2.5198421,
700
 13.3905183,  4.3267487, 13.3905183,  6.3496042,
701
 13.3905183,  8.5498797, 13.3905183, 10.9027236,
702
 13.3905183, 13.3905183, 13.3905183, 16.0000000,
703
 13.3905183, 18.7207544, 13.3905183, 21.5443469,
704
 13.3905183, 24.4637810, 13.3905183, 27.4731418,
705
 16.0000000,  0.0000000, 16.0000000,  1.0000000,
706
 16.0000000,  2.5198421, 16.0000000,  4.3267487,
707
 16.0000000,  6.3496042, 16.0000000,  8.5498797,
708
 16.0000000, 10.9027236, 16.0000000, 13.3905183,
709
 16.0000000, 16.0000000, 16.0000000, 18.7207544,
710
 16.0000000, 21.5443469, 16.0000000, 24.4637810,
711
 16.0000000, 27.4731418, 18.7207544,  0.0000000,
712
 18.7207544,  1.0000000, 18.7207544,  2.5198421,
713
 18.7207544,  4.3267487, 18.7207544,  6.3496042,
714
 18.7207544,  8.5498797, 18.7207544, 10.9027236,
715
 18.7207544, 13.3905183, 18.7207544, 16.0000000,
716
 18.7207544, 18.7207544, 18.7207544, 21.5443469,
717
 18.7207544, 24.4637810, 18.7207544, 27.4731418,
718
 21.5443469,  0.0000000, 21.5443469,  1.0000000,
719
 21.5443469,  2.5198421, 21.5443469,  4.3267487,
720
 21.5443469,  6.3496042, 21.5443469,  8.5498797,
721
 21.5443469, 10.9027236, 21.5443469, 13.3905183,
722
 21.5443469, 16.0000000, 21.5443469, 18.7207544,
723
 21.5443469, 21.5443469, 21.5443469, 24.4637810,
724
 21.5443469, 27.4731418, 24.4637810,  0.0000000,
725
 24.4637810,  1.0000000, 24.4637810,  2.5198421,
726
 24.4637810,  4.3267487, 24.4637810,  6.3496042,
727
 24.4637810,  8.5498797, 24.4637810, 10.9027236,
728
 24.4637810, 13.3905183, 24.4637810, 16.0000000,
729
 24.4637810, 18.7207544, 24.4637810, 21.5443469,
730
 24.4637810, 24.4637810, 24.4637810, 27.4731418,
731
 27.4731418,  0.0000000, 27.4731418,  1.0000000,
732
 27.4731418,  2.5198421, 27.4731418,  4.3267487,
733
 27.4731418,  6.3496042, 27.4731418,  8.5498797,
734
 27.4731418, 10.9027236, 27.4731418, 13.3905183,
735
 27.4731418, 16.0000000, 27.4731418, 18.7207544,
736
 27.4731418, 21.5443469, 27.4731418, 24.4637810,
737
 27.4731418, 27.4731418,
738
};
739

  
740
static const float codebook_vector10[578] = {
741
  0.0000000,  0.0000000,  0.0000000,  1.0000000,
742
  0.0000000,  2.5198421,  0.0000000,  4.3267487,
743
  0.0000000,  6.3496042,  0.0000000,  8.5498797,
744
  0.0000000, 10.9027236,  0.0000000, 13.3905183,
745
  0.0000000, 16.0000000,  0.0000000, 18.7207544,
746
  0.0000000, 21.5443469,  0.0000000, 24.4637810,
747
  0.0000000, 27.4731418,  0.0000000, 30.5673509,
748
  0.0000000, 33.7419917,  0.0000000, 36.9931811,
749
  0.0000000,      64.0f,  1.0000000,  0.0000000,
750
  1.0000000,  1.0000000,  1.0000000,  2.5198421,
751
  1.0000000,  4.3267487,  1.0000000,  6.3496042,
752
  1.0000000,  8.5498797,  1.0000000, 10.9027236,
753
  1.0000000, 13.3905183,  1.0000000, 16.0000000,
754
  1.0000000, 18.7207544,  1.0000000, 21.5443469,
755
  1.0000000, 24.4637810,  1.0000000, 27.4731418,
756
  1.0000000, 30.5673509,  1.0000000, 33.7419917,
757
  1.0000000, 36.9931811,  1.0000000,      64.0f,
758
  2.5198421,  0.0000000,  2.5198421,  1.0000000,
759
  2.5198421,  2.5198421,  2.5198421,  4.3267487,
760
  2.5198421,  6.3496042,  2.5198421,  8.5498797,
761
  2.5198421, 10.9027236,  2.5198421, 13.3905183,
762
  2.5198421, 16.0000000,  2.5198421, 18.7207544,
763
  2.5198421, 21.5443469,  2.5198421, 24.4637810,
764
  2.5198421, 27.4731418,  2.5198421, 30.5673509,
765
  2.5198421, 33.7419917,  2.5198421, 36.9931811,
766
  2.5198421,      64.0f,  4.3267487,  0.0000000,
767
  4.3267487,  1.0000000,  4.3267487,  2.5198421,
768
  4.3267487,  4.3267487,  4.3267487,  6.3496042,
769
  4.3267487,  8.5498797,  4.3267487, 10.9027236,
770
  4.3267487, 13.3905183,  4.3267487, 16.0000000,
771
  4.3267487, 18.7207544,  4.3267487, 21.5443469,
772
  4.3267487, 24.4637810,  4.3267487, 27.4731418,
773
  4.3267487, 30.5673509,  4.3267487, 33.7419917,
774
  4.3267487, 36.9931811,  4.3267487,      64.0f,
775
  6.3496042,  0.0000000,  6.3496042,  1.0000000,
776
  6.3496042,  2.5198421,  6.3496042,  4.3267487,
777
  6.3496042,  6.3496042,  6.3496042,  8.5498797,
778
  6.3496042, 10.9027236,  6.3496042, 13.3905183,
779
  6.3496042, 16.0000000,  6.3496042, 18.7207544,
780
  6.3496042, 21.5443469,  6.3496042, 24.4637810,
781
  6.3496042, 27.4731418,  6.3496042, 30.5673509,
782
  6.3496042, 33.7419917,  6.3496042, 36.9931811,
783
  6.3496042,      64.0f,  8.5498797,  0.0000000,
784
  8.5498797,  1.0000000,  8.5498797,  2.5198421,
785
  8.5498797,  4.3267487,  8.5498797,  6.3496042,
786
  8.5498797,  8.5498797,  8.5498797, 10.9027236,
787
  8.5498797, 13.3905183,  8.5498797, 16.0000000,
788
  8.5498797, 18.7207544,  8.5498797, 21.5443469,
789
  8.5498797, 24.4637810,  8.5498797, 27.4731418,
790
  8.5498797, 30.5673509,  8.5498797, 33.7419917,
791
  8.5498797, 36.9931811,  8.5498797,      64.0f,
792
 10.9027236,  0.0000000, 10.9027236,  1.0000000,
793
 10.9027236,  2.5198421, 10.9027236,  4.3267487,
794
 10.9027236,  6.3496042, 10.9027236,  8.5498797,
795
 10.9027236, 10.9027236, 10.9027236, 13.3905183,
796
 10.9027236, 16.0000000, 10.9027236, 18.7207544,
797
 10.9027236, 21.5443469, 10.9027236, 24.4637810,
798
 10.9027236, 27.4731418, 10.9027236, 30.5673509,
799
 10.9027236, 33.7419917, 10.9027236, 36.9931811,
800
 10.9027236,      64.0f, 13.3905183,  0.0000000,
801
 13.3905183,  1.0000000, 13.3905183,  2.5198421,
802
 13.3905183,  4.3267487, 13.3905183,  6.3496042,
803
 13.3905183,  8.5498797, 13.3905183, 10.9027236,
804
 13.3905183, 13.3905183, 13.3905183, 16.0000000,
805
 13.3905183, 18.7207544, 13.3905183, 21.5443469,
806
 13.3905183, 24.4637810, 13.3905183, 27.4731418,
807
 13.3905183, 30.5673509, 13.3905183, 33.7419917,
808
 13.3905183, 36.9931811, 13.3905183,      64.0f,
809
 16.0000000,  0.0000000, 16.0000000,  1.0000000,
810
 16.0000000,  2.5198421, 16.0000000,  4.3267487,
811
 16.0000000,  6.3496042, 16.0000000,  8.5498797,
812
 16.0000000, 10.9027236, 16.0000000, 13.3905183,
813
 16.0000000, 16.0000000, 16.0000000, 18.7207544,
814
 16.0000000, 21.5443469, 16.0000000, 24.4637810,
815
 16.0000000, 27.4731418, 16.0000000, 30.5673509,
816
 16.0000000, 33.7419917, 16.0000000, 36.9931811,
817
 16.0000000,      64.0f, 18.7207544,  0.0000000,
818
 18.7207544,  1.0000000, 18.7207544,  2.5198421,
819
 18.7207544,  4.3267487, 18.7207544,  6.3496042,
820
 18.7207544,  8.5498797, 18.7207544, 10.9027236,
821
 18.7207544, 13.3905183, 18.7207544, 16.0000000,
822
 18.7207544, 18.7207544, 18.7207544, 21.5443469,
823
 18.7207544, 24.4637810, 18.7207544, 27.4731418,
824
 18.7207544, 30.5673509, 18.7207544, 33.7419917,
825
 18.7207544, 36.9931811, 18.7207544,      64.0f,
826
 21.5443469,  0.0000000, 21.5443469,  1.0000000,
827
 21.5443469,  2.5198421, 21.5443469,  4.3267487,
828
 21.5443469,  6.3496042, 21.5443469,  8.5498797,
829
 21.5443469, 10.9027236, 21.5443469, 13.3905183,
830
 21.5443469, 16.0000000, 21.5443469, 18.7207544,
831
 21.5443469, 21.5443469, 21.5443469, 24.4637810,
832
 21.5443469, 27.4731418, 21.5443469, 30.5673509,
833
 21.5443469, 33.7419917, 21.5443469, 36.9931811,
834
 21.5443469,      64.0f, 24.4637810,  0.0000000,
835
 24.4637810,  1.0000000, 24.4637810,  2.5198421,
836
 24.4637810,  4.3267487, 24.4637810,  6.3496042,
837
 24.4637810,  8.5498797, 24.4637810, 10.9027236,
838
 24.4637810, 13.3905183, 24.4637810, 16.0000000,
839
 24.4637810, 18.7207544, 24.4637810, 21.5443469,
840
 24.4637810, 24.4637810, 24.4637810, 27.4731418,
841
 24.4637810, 30.5673509, 24.4637810, 33.7419917,
842
 24.4637810, 36.9931811, 24.4637810,      64.0f,
843
 27.4731418,  0.0000000, 27.4731418,  1.0000000,
844
 27.4731418,  2.5198421, 27.4731418,  4.3267487,
845
 27.4731418,  6.3496042, 27.4731418,  8.5498797,
846
 27.4731418, 10.9027236, 27.4731418, 13.3905183,
847
 27.4731418, 16.0000000, 27.4731418, 18.7207544,
848
 27.4731418, 21.5443469, 27.4731418, 24.4637810,
849
 27.4731418, 27.4731418, 27.4731418, 30.5673509,
850
 27.4731418, 33.7419917, 27.4731418, 36.9931811,
851
 27.4731418,      64.0f, 30.5673509,  0.0000000,
852
 30.5673509,  1.0000000, 30.5673509,  2.5198421,
853
 30.5673509,  4.3267487, 30.5673509,  6.3496042,
854
 30.5673509,  8.5498797, 30.5673509, 10.9027236,
855
 30.5673509, 13.3905183, 30.5673509, 16.0000000,
856
 30.5673509, 18.7207544, 30.5673509, 21.5443469,
857
 30.5673509, 24.4637810, 30.5673509, 27.4731418,
858
 30.5673509, 30.5673509, 30.5673509, 33.7419917,
859
 30.5673509, 36.9931811, 30.5673509,      64.0f,
860
 33.7419917,  0.0000000, 33.7419917,  1.0000000,
861
 33.7419917,  2.5198421, 33.7419917,  4.3267487,
862
 33.7419917,  6.3496042, 33.7419917,  8.5498797,
863
 33.7419917, 10.9027236, 33.7419917, 13.3905183,
864
 33.7419917, 16.0000000, 33.7419917, 18.7207544,
865
 33.7419917, 21.5443469, 33.7419917, 24.4637810,
866
 33.7419917, 27.4731418, 33.7419917, 30.5673509,
867
 33.7419917, 33.7419917, 33.7419917, 36.9931811,
868
 33.7419917,      64.0f, 36.9931811,  0.0000000,
869
 36.9931811,  1.0000000, 36.9931811,  2.5198421,
870
 36.9931811,  4.3267487, 36.9931811,  6.3496042,
871
 36.9931811,  8.5498797, 36.9931811, 10.9027236,
872
 36.9931811, 13.3905183, 36.9931811, 16.0000000,
873
 36.9931811, 18.7207544, 36.9931811, 21.5443469,
874
 36.9931811, 24.4637810, 36.9931811, 27.4731418,
875
 36.9931811, 30.5673509, 36.9931811, 33.7419917,
876
 36.9931811, 36.9931811, 36.9931811,      64.0f,
877
      64.0f,  0.0000000,      64.0f,  1.0000000,
878
      64.0f,  2.5198421,      64.0f,  4.3267487,
879
      64.0f,  6.3496042,      64.0f,  8.5498797,
880
      64.0f, 10.9027236,      64.0f, 13.3905183,
881
      64.0f, 16.0000000,      64.0f, 18.7207544,
882
      64.0f, 21.5443469,      64.0f, 24.4637810,
883
      64.0f, 27.4731418,      64.0f, 30.5673509,
884
      64.0f, 33.7419917,      64.0f, 36.9931811,
885
      64.0f,      64.0f,
886
};
887

  
888
const float *ff_aac_codebook_vectors[] = {
540 889
    codebook_vector0, codebook_vector0, codebook_vector2,
541 890
    codebook_vector2, codebook_vector4, codebook_vector4,
542 891
    codebook_vector6, codebook_vector6, codebook_vector8,
......
545 894

  
546 895
#ifdef CONFIG_HARDCODED_TABLES
547 896

  
548
const float ff_aac_ivquant_tab[IVQUANT_SIZE] = {
549
    -4085.3368071, -4074.6805676, -4064.0312908, -4053.3889857,
550
    -4042.7536614, -4032.1253271, -4021.5039921, -4010.8896656,
551
    -4000.2823568, -3989.6820750, -3979.0888296, -3968.5026299,
552
    -3957.9234854, -3947.3514054, -3936.7863993, -3926.2284768,
553
    -3915.6776473, -3905.1339203, -3894.5973054, -3884.0678123,
554
    -3873.5454506, -3863.0302299, -3852.5221601, -3842.0212507,
555
    -3831.5275117, -3821.0409528, -3810.5615838, -3800.0894147,
556
    -3789.6244554, -3779.1667157, -3768.7162058, -3758.2729355,
557
    -3747.8369150, -3737.4081544, -3726.9866637, -3716.5724532,
558
    -3706.1655329, -3695.7659132, -3685.3736044, -3674.9886166,
559
    -3664.6109603, -3654.2406458, -3643.8776835, -3633.5220839,
560
    -3623.1738574, -3612.8330147, -3602.4995662, -3592.1735225,
561
    -3581.8548943, -3571.5436923, -3561.2399271, -3550.9436095,
562
    -3540.6547503, -3530.3733604, -3520.0994506, -3509.8330317,
563
    -3499.5741148, -3489.3227109, -3479.0788309, -3468.8424860,
564
    -3458.6136872, -3448.3924458, -3438.1787728, -3427.9726795,
565
    -3417.7741773, -3407.5832773, -3397.3999911, -3387.2243299,
566
    -3377.0563052, -3366.8959286, -3356.7432115, -3346.5981655,
567
    -3336.4608022, -3326.3311334, -3316.2091706, -3306.0949257,
568
    -3295.9884105, -3285.8896367, -3275.7986164, -3265.7153613,
569
    -3255.6398836, -3245.5721951, -3235.5123081, -3225.4602346,
570
    -3215.4159867, -3205.3795768, -3195.3510169, -3185.3303196,
571
    -3175.3174970, -3165.3125617, -3155.3155261, -3145.3264026,
572
    -3135.3452039, -3125.3719425, -3115.4066312, -3105.4492825,
573
    -3095.4999092, -3085.5585243, -3075.6251404, -3065.6997706,
574
    -3055.7824278, -3045.8731250, -3035.9718753, -3026.0786917,
575
    -3016.1935876, -3006.3165760, -2996.4476703, -2986.5868839,
576
    -2976.7342300, -2966.8897222, -2957.0533740, -2947.2251989,
577
    -2937.4052106, -2927.5934226, -2917.7898488, -2907.9945030,
578
    -2898.2073989, -2888.4285505, -2878.6579717, -2868.8956767,
579
    -2859.1416793, -2849.3959939, -2839.6586345, -2829.9296156,
580
    -2820.2089512, -2810.4966560, -2800.7927443, -2791.0972306,
581
    -2781.4101295, -2771.7314556, -2762.0612237, -2752.3994485,
582
    -2742.7461448, -2733.1013276, -2723.4650117, -2713.8372123,
583
    -2704.2179443, -2694.6072231, -2685.0050637, -2675.4114815,
584
    -2665.8264919, -2656.2501103, -2646.6823521, -2637.1232331,
585
    -2627.5727687, -2618.0309748, -2608.4978671, -2598.9734614,
586
    -2589.4577738, -2579.9508201, -2570.4526166, -2560.9631792,
587
    -2551.4825244, -2542.0106682, -2532.5476273, -2523.0934179,
588
    -2513.6480566, -2504.2115601, -2494.7839450, -2485.3652281,
589
    -2475.9554262, -2466.5545562, -2457.1626352, -2447.7796803,
590
    -2438.4057086, -2429.0407373, -2419.6847838, -2410.3378655,
591
    -2401.0000000, -2391.6712048, -2382.3514975, -2373.0408959,
592
    -2363.7394180, -2354.4470815, -2345.1639046, -2335.8899054,
593
    -2326.6251019, -2317.3695127, -2308.1231559, -2298.8860501,
594
    -2289.6582139, -2280.4396659, -2271.2304249, -2262.0305097,
595
    -2252.8399393, -2243.6587327, -2234.4869090, -2225.3244875,
596
    -2216.1714876, -2207.0279286, -2197.8938301, -2188.7692117,
597
    -2179.6540933, -2170.5484945, -2161.4524354, -2152.3659360,
598
    -2143.2890165, -2134.2216972, -2125.1639983, -2116.1159404,
599
    -2107.0775442, -2098.0488302, -2089.0298192, -2080.0205323,
600
    -2071.0209905, -2062.0312148, -2053.0512267, -2044.0810473,
601
    -2035.1206983, -2026.1702013, -2017.2295780, -2008.2988502,
602
    -1999.3780400, -1990.4671694, -1981.5662607, -1972.6753362,
603
    -1963.7944183, -1954.9235298, -1946.0626932, -1937.2119316,
604
    -1928.3712678, -1919.5407249, -1910.7203263, -1901.9100954,
605
    -1893.1100555, -1884.3202305, -1875.5406441, -1866.7713202,
606
    -1858.0122829, -1849.2635565, -1840.5251653, -1831.7971337,
607
    -1823.0794865, -1814.3722485, -1805.6754445, -1796.9890997,
608
    -1788.3132394, -1779.6478889, -1770.9930739, -1762.3488199,
609
    -1753.7151529, -1745.0920989, -1736.4796841, -1727.8779349,
610
    -1719.2868777, -1710.7065393, -1702.1369465, -1693.5781262,
611
    -1685.0301058, -1676.4929125, -1667.9665739, -1659.4511177,
612
    -1650.9465718, -1642.4529642, -1633.9703232, -1625.4986772,
613
    -1617.0380549, -1608.5884850, -1600.1499965, -1591.7226186,
614
    -1583.3063807, -1574.9013124, -1566.5074433, -1558.1248036,
615
    -1549.7534233, -1541.3933328, -1533.0445627, -1524.7071438,
616
    -1516.3811070, -1508.0664836, -1499.7633050, -1491.4716029,
617
    -1483.1914090, -1474.9227555, -1466.6656746, -1458.4201990,
618
    -1450.1863613, -1441.9641946, -1433.7537320, -1425.5550071,
619
    -1417.3680536, -1409.1929053, -1401.0295965, -1392.8781617,
620
    -1384.7386355, -1376.6110529, -1368.4954490, -1360.3918594,
621
    -1352.3003198, -1344.2208661, -1336.1535347, -1328.0983621,
622
    -1320.0553851, -1312.0246407, -1304.0061665, -1296.0000000,
623
    -1288.0061792, -1280.0247424, -1272.0557280, -1264.0991750,
624
    -1256.1551226, -1248.2236101, -1240.3046773, -1232.3983645,
625
    -1224.5047118, -1216.6237602, -1208.7555507, -1200.9001246,
626
    -1193.0575238, -1185.2277903, -1177.4109665, -1169.6070953,
627
    -1161.8162197, -1154.0383833, -1146.2736299, -1138.5220038,
628
    -1130.7835495, -1123.0583122, -1115.3463371, -1107.6476700,
629
    -1099.9623571, -1092.2904450, -1084.6319806, -1076.9870114,
630
    -1069.3555851, -1061.7377500, -1054.1335548, -1046.5430486,
631
    -1038.9662809, -1031.4033017, -1023.8541615, -1016.3189112,
632
    -1008.7976022, -1001.2902864,  -993.7970162,  -986.3178444,
633
     -978.8528243,  -971.4020099,  -963.9654554,  -956.5432158,
634
     -949.1353466,  -941.7419036,  -934.3629435,  -926.9985233,
635
     -919.6487005,  -912.3135336,  -904.9930812,  -897.6874027,
636
     -890.3965581,  -883.1206081,  -875.8596139,  -868.6136373,
637
     -861.3827409,  -854.1669878,  -846.9664418,  -839.7811675,
638
     -832.6112300,  -825.4566953,  -818.3176299,  -811.1941012,
639
     -804.0861773,  -796.9939269,  -789.9174197,  -782.8567260,
640
     -775.8119169,  -768.7830645,  -761.7702415,  -754.7735215,
641
     -747.7929790,  -740.8286894,  -733.8807287,  -726.9491743,
642
     -720.0341040,  -713.1355968,  -706.2537328,  -699.3885927,
643
     -692.5402584,  -685.7088129,  -678.8943400,  -672.0969248,
644
     -665.3166532,  -658.5536125,  -651.8078908,  -645.0795775,
645
     -638.3687633,  -631.6755398,  -625.0000000,  -618.3422381,
646
     -611.7023495,  -605.0804310,  -598.4765806,  -591.8908978,
647
     -585.3234834,  -578.7744395,  -572.2438698,  -565.7318795,
648
     -559.2385751,  -552.7640648,  -546.3084584,  -539.8718672,
649
     -533.4544042,  -527.0561843,  -520.6773237,  -514.3179408,
650
     -507.9781556,  -501.6580901,  -495.3578679,  -489.0776150,
651
     -482.8174592,  -476.5775303,  -470.3579603,  -464.1588834,
652
     -457.9804359,  -451.8227566,  -445.6859865,  -439.5702691,
653
     -433.4757504,  -427.4025787,  -421.3509053,  -415.3208841,
654
     -409.3126715,  -403.3264272,  -397.3623135,  -391.4204959,
655
     -385.5011431,  -379.6044268,  -373.7305221,  -367.8796078,
656
     -362.0518657,  -356.2474818,  -350.4666456,  -344.7095504,
657
     -338.9763937,  -333.2673772,  -327.5827066,  -321.9225924,
658
     -316.2872495,  -310.6768976,  -305.0917613,  -299.5320705,
659
     -293.9980602,  -288.4899710,  -283.0080491,  -277.5525469,
660
     -272.1237227,  -266.7218414,  -261.3471743,  -256.0000000,
661
     -250.6806041,  -245.3892798,  -240.1263282,  -234.8920585,
662
     -229.6867885,  -224.5108452,  -219.3645645,  -214.2482925,
663
     -209.1623853,  -204.1072101,  -199.0831450,  -194.0905802,
664
     -189.1299182,  -184.2015749,  -179.3059798,  -174.4435769,
665
     -169.6148258,  -164.8202021,  -160.0601987,  -155.3353268,
666
     -150.6461166,  -145.9931191,  -141.3769069,  -136.7980757,
667
     -132.2572463,  -127.7550655,  -123.2922085,  -118.8693810,
668
     -114.4873209,  -110.1468012,  -105.8486329,  -101.5936673,
669
      -97.3828002,   -93.2169752,   -89.0971879,   -85.0244912,
670
      -81.0000000,   -77.0248978,   -73.1004435,   -69.2279794,
671
      -65.4089405,   -61.6448653,   -57.9374077,   -54.2883523,
672
      -50.6996313,   -47.1733451,   -43.7117870,   -40.3174736,
673
      -36.9931811,   -33.7419917,   -30.5673509,   -27.4731418,
674
      -24.4637810,   -21.5443469,   -18.7207544,   -16.0000000,
675
      -13.3905183,   -10.9027236,    -8.5498797,    -6.3496042,
676
       -4.3267487,    -2.5198421,    -1.0000000,     0.0000000,
677
        1.0000000,     2.5198421,     4.3267487,     6.3496042,
678
        8.5498797,    10.9027236,    13.3905183,    16.0000000,
679
       18.7207544,    21.5443469,    24.4637810,    27.4731418,
680
       30.5673509,    33.7419917,    36.9931811,    40.3174736,
681
       43.7117870,    47.1733451,    50.6996313,    54.2883523,
682
       57.9374077,    61.6448653,    65.4089405,    69.2279794,
683
       73.1004435,    77.0248978,    81.0000000,    85.0244912,
684
       89.0971879,    93.2169752,    97.3828002,   101.5936673,
685
      105.8486329,   110.1468012,   114.4873209,   118.8693810,
686
      123.2922085,   127.7550655,   132.2572463,   136.7980757,
687
      141.3769069,   145.9931191,   150.6461166,   155.3353268,
688
      160.0601987,   164.8202021,   169.6148258,   174.4435769,
689
      179.3059798,   184.2015749,   189.1299182,   194.0905802,
690
      199.0831450,   204.1072101,   209.1623853,   214.2482925,
691
      219.3645645,   224.5108452,   229.6867885,   234.8920585,
692
      240.1263282,   245.3892798,   250.6806041,   256.0000000,
693
      261.3471743,   266.7218414,   272.1237227,   277.5525469,
694
      283.0080491,   288.4899710,   293.9980602,   299.5320705,
695
      305.0917613,   310.6768976,   316.2872495,   321.9225924,
696
      327.5827066,   333.2673772,   338.9763937,   344.7095504,
697
      350.4666456,   356.2474818,   362.0518657,   367.8796078,
698
      373.7305221,   379.6044268,   385.5011431,   391.4204959,
699
      397.3623135,   403.3264272,   409.3126715,   415.3208841,
700
      421.3509053,   427.4025787,   433.4757504,   439.5702691,
701
      445.6859865,   451.8227566,   457.9804359,   464.1588834,
702
      470.3579603,   476.5775303,   482.8174592,   489.0776150,
703
      495.3578679,   501.6580901,   507.9781556,   514.3179408,
704
      520.6773237,   527.0561843,   533.4544042,   539.8718672,
705
      546.3084584,   552.7640648,   559.2385751,   565.7318795,
706
      572.2438698,   578.7744395,   585.3234834,   591.8908978,
707
      598.4765806,   605.0804310,   611.7023495,   618.3422381,
708
      625.0000000,   631.6755398,   638.3687633,   645.0795775,
709
      651.8078908,   658.5536125,   665.3166532,   672.0969248,
710
      678.8943400,   685.7088129,   692.5402584,   699.3885927,
711
      706.2537328,   713.1355968,   720.0341040,   726.9491743,
712
      733.8807287,   740.8286894,   747.7929790,   754.7735215,
713
      761.7702415,   768.7830645,   775.8119169,   782.8567260,
714
      789.9174197,   796.9939269,   804.0861773,   811.1941012,
715
      818.3176299,   825.4566953,   832.6112300,   839.7811675,
716
      846.9664418,   854.1669878,   861.3827409,   868.6136373,
717
      875.8596139,   883.1206081,   890.3965581,   897.6874027,
718
      904.9930812,   912.3135336,   919.6487005,   926.9985233,
719
      934.3629435,   941.7419036,   949.1353466,   956.5432158,
720
      963.9654554,   971.4020099,   978.8528243,   986.3178444,
721
      993.7970162,  1001.2902864,  1008.7976022,  1016.3189112,
722
     1023.8541615,  1031.4033017,  1038.9662809,  1046.5430486,
723
     1054.1335548,  1061.7377500,  1069.3555851,  1076.9870114,
724
     1084.6319806,  1092.2904450,  1099.9623571,  1107.6476700,
725
     1115.3463371,  1123.0583122,  1130.7835495,  1138.5220038,
726
     1146.2736299,  1154.0383833,  1161.8162197,  1169.6070953,
727
     1177.4109665,  1185.2277903,  1193.0575238,  1200.9001246,
728
     1208.7555507,  1216.6237602,  1224.5047118,  1232.3983645,
729
     1240.3046773,  1248.2236101,  1256.1551226,  1264.0991750,
730
     1272.0557280,  1280.0247424,  1288.0061792,  1296.0000000,
731
     1304.0061665,  1312.0246407,  1320.0553851,  1328.0983621,
732
     1336.1535347,  1344.2208661,  1352.3003198,  1360.3918594,
733
     1368.4954490,  1376.6110529,  1384.7386355,  1392.8781617,
734
     1401.0295965,  1409.1929053,  1417.3680536,  1425.5550071,
735
     1433.7537320,  1441.9641946,  1450.1863613,  1458.4201990,
736
     1466.6656746,  1474.9227555,  1483.1914090,  1491.4716029,
737
     1499.7633050,  1508.0664836,  1516.3811070,  1524.7071438,
738
     1533.0445627,  1541.3933328,  1549.7534233,  1558.1248036,
739
     1566.5074433,  1574.9013124,  1583.3063807,  1591.7226186,
740
     1600.1499965,  1608.5884850,  1617.0380549,  1625.4986772,
741
     1633.9703232,  1642.4529642,  1650.9465718,  1659.4511177,
742
     1667.9665739,  1676.4929125,  1685.0301058,  1693.5781262,
743
     1702.1369465,  1710.7065393,  1719.2868777,  1727.8779349,
744
     1736.4796841,  1745.0920989,  1753.7151529,  1762.3488199,
745
     1770.9930739,  1779.6478889,  1788.3132394,  1796.9890997,
746
     1805.6754445,  1814.3722485,  1823.0794865,  1831.7971337,
747
     1840.5251653,  1849.2635565,  1858.0122829,  1866.7713202,
748
     1875.5406441,  1884.3202305,  1893.1100555,  1901.9100954,
749
     1910.7203263,  1919.5407249,  1928.3712678,  1937.2119316,
750
     1946.0626932,  1954.9235298,  1963.7944183,  1972.6753362,
751
     1981.5662607,  1990.4671694,  1999.3780400,  2008.2988502,
752
     2017.2295780,  2026.1702013,  2035.1206983,  2044.0810473,
753
     2053.0512267,  2062.0312148,  2071.0209905,  2080.0205323,
754
     2089.0298192,  2098.0488302,  2107.0775442,  2116.1159404,
755
     2125.1639983,  2134.2216972,  2143.2890165,  2152.3659360,
756
     2161.4524354,  2170.5484945,  2179.6540933,  2188.7692117,
757
     2197.8938301,  2207.0279286,  2216.1714876,  2225.3244875,
758
     2234.4869090,  2243.6587327,  2252.8399393,  2262.0305097,
759
     2271.2304249,  2280.4396659,  2289.6582139,  2298.8860501,
760
     2308.1231559,  2317.3695127,  2326.6251019,  2335.8899054,
761
     2345.1639046,  2354.4470815,  2363.7394180,  2373.0408959,
762
     2382.3514975,  2391.6712048,  2401.0000000,  2410.3378655,
763
     2419.6847838,  2429.0407373,  2438.4057086,  2447.7796803,
764
     2457.1626352,  2466.5545562,  2475.9554262,  2485.3652281,
765
     2494.7839450,  2504.2115601,  2513.6480566,  2523.0934179,
766
     2532.5476273,  2542.0106682,  2551.4825244,  2560.9631792,
767
     2570.4526166,  2579.9508201,  2589.4577738,  2598.9734614,
768
     2608.4978671,  2618.0309748,  2627.5727687,  2637.1232331,
769
     2646.6823521,  2656.2501103,  2665.8264919,  2675.4114815,
770
     2685.0050637,  2694.6072231,  2704.2179443,  2713.8372123,
771
     2723.4650117,  2733.1013276,  2742.7461448,  2752.3994485,
772
     2762.0612237,  2771.7314556,  2781.4101295,  2791.0972306,
773
     2800.7927443,  2810.4966560,  2820.2089512,  2829.9296156,
774
     2839.6586345,  2849.3959939,  2859.1416793,  2868.8956767,
775
     2878.6579717,  2888.4285505,  2898.2073989,  2907.9945030,
776
     2917.7898488,  2927.5934226,  2937.4052106,  2947.2251989,
777
     2957.0533740,  2966.8897222,  2976.7342300,  2986.5868839,
778
     2996.4476703,  3006.3165760,  3016.1935876,  3026.0786917,
779
     3035.9718753,  3045.8731250,  3055.7824278,  3065.6997706,
780
     3075.6251404,  3085.5585243,  3095.4999092,  3105.4492825,
781
     3115.4066312,  3125.3719425,  3135.3452039,  3145.3264026,
782
     3155.3155261,  3165.3125617,  3175.3174970,  3185.3303196,
783
     3195.3510169,  3205.3795768,  3215.4159867,  3225.4602346,
784
     3235.5123081,  3245.5721951,  3255.6398836,  3265.7153613,
785
     3275.7986164,  3285.8896367,  3295.9884105,  3306.0949257,
786
     3316.2091706,  3326.3311334,  3336.4608022,  3346.5981655,
787
     3356.7432115,  3366.8959286,  3377.0563052,  3387.2243299,
788
     3397.3999911,  3407.5832773,  3417.7741773,  3427.9726795,
789
     3438.1787728,  3448.3924458,  3458.6136872,  3468.8424860,
790
     3479.0788309,  3489.3227109,  3499.5741148,  3509.8330317,
791
     3520.0994506,  3530.3733604,  3540.6547503,  3550.9436095,
792
     3561.2399271,  3571.5436923,  3581.8548943,  3592.1735225,
793
     3602.4995662,  3612.8330147,  3623.1738574,  3633.5220839,
794
     3643.8776835,  3654.2406458,  3664.6109603,  3674.9886166,
795
     3685.3736044,  3695.7659132,  3706.1655329,  3716.5724532,
796
     3726.9866637,  3737.4081544,  3747.8369150,  3758.2729355,
797
     3768.7162058,  3779.1667157,  3789.6244554,  3800.0894147,
798
     3810.5615838,  3821.0409528,  3831.5275117,  3842.0212507,
799
     3852.5221601,  3863.0302299,  3873.5454506,  3884.0678123,
800
     3894.5973054,  3905.1339203,  3915.6776473,  3926.2284768,
801
     3936.7863993,  3947.3514054,  3957.9234854,  3968.5026299,
802
     3979.0888296,  3989.6820750,  4000.2823568,  4010.8896656,
803
     4021.5039921,  4032.1253271,  4042.7536614,  4053.3889857,
804
     4064.0312908,  4074.6805676,  4085.3368071,  4096.0000000,
805
};
806

  
807 897
/**
808 898
 * Table of pow(2, (i - 200)/4.) used for different purposes depending on the
809 899
 * range of indices to the table:
libavcodec/aactab.h
54 54
extern const uint8_t  *ff_aac_spectral_bits [11];
55 55
extern const uint16_t  ff_aac_spectral_sizes[11];
56 56

  
57
extern const int8_t *ff_aac_codebook_vectors[];
57
extern const float *ff_aac_codebook_vectors[];
58 58

  
59 59
#ifdef CONFIG_HARDCODED_TABLES
60
extern const float ff_aac_ivquant_tab[IVQUANT_SIZE];
61 60
extern const float ff_aac_pow2sf_tab[316];
62 61
#endif /* CONFIG_HARDCODED_TABLES */
63 62

  

Also available in: Unified diff