Revision 848a5815 libavcodec/aactab.c

View differences:

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:

Also available in: Unified diff