Lines Matching defs:floor_setup
516 vorbis_floor *floor_setup = &vc->floors[i];
518 floor_setup->floor_type = get_bits(gb, 16);
520 ff_dlog(NULL, " %d. floor type %d \n", i, floor_setup->floor_type);
522 if (floor_setup->floor_type == 1) {
526 floor_setup->decode = vorbis_floor1_decode;
528 floor_setup->data.t1.partitions = get_bits(gb, 5);
531 i, floor_setup->data.t1.partitions);
533 for (j = 0; j < floor_setup->data.t1.partitions; ++j) {
534 floor_setup->data.t1.partition_class[j] = get_bits(gb, 4);
535 if (floor_setup->data.t1.partition_class[j] > maximum_class)
536 maximum_class = floor_setup->data.t1.partition_class[j];
539 i, j, floor_setup->data.t1.partition_class[j]);
546 floor_setup->data.t1.class_dimensions[j] = get_bits(gb, 3) + 1;
547 floor_setup->data.t1.class_subclasses[j] = get_bits(gb, 2);
550 floor_setup->data.t1.class_dimensions[j],
551 floor_setup->data.t1.class_subclasses[j]);
553 if (floor_setup->data.t1.class_subclasses[j]) {
554 GET_VALIDATED_INDEX(floor_setup->data.t1.class_masterbook[j], 8, vc->codebook_count)
556 ff_dlog(NULL, " masterbook: %d \n", floor_setup->data.t1.class_masterbook[j]);
559 for (k = 0; k < (1 << floor_setup->data.t1.class_subclasses[j]); ++k) {
563 floor_setup->data.t1.subclass_books[j][k] = bits;
565 ff_dlog(NULL, " book %d. : %d \n", k, floor_setup->data.t1.subclass_books[j][k]);
569 floor_setup->data.t1.multiplier = get_bits(gb, 2) + 1;
570 floor_setup->data.t1.x_list_dim = 2;
572 for (j = 0; j < floor_setup->data.t1.partitions; ++j)
573 floor_setup->data.t1.x_list_dim+=floor_setup->data.t1.class_dimensions[floor_setup->data.t1.partition_class[j]];
575 floor_setup->data.t1.list = av_calloc(floor_setup->data.t1.x_list_dim,
576 sizeof(*floor_setup->data.t1.list));
577 if (!floor_setup->data.t1.list)
581 if (!rangebits && floor_setup->data.t1.partitions) {
593 floor_setup->data.t1.list[0].x = 0;
594 floor_setup->data.t1.list[1].x = rangemax;
596 for (j = 0; j < floor_setup->data.t1.partitions; ++j) {
597 for (k = 0; k < floor_setup->data.t1.class_dimensions[floor_setup->data.t1.partition_class[j]]; ++k, ++floor1_values) {
598 floor_setup->data.t1.list[floor1_values].x = get_bits(gb, rangebits);
601 floor_setup->data.t1.list[floor1_values].x);
607 floor_setup->data.t1.list,
608 floor_setup->data.t1.x_list_dim)) {
611 } else if (floor_setup->floor_type == 0) {
614 floor_setup->decode = vorbis_floor0_decode;
616 floor_setup->data.t0.order = get_bits(gb, 8);
617 if (!floor_setup->data.t0.order) {
621 floor_setup->data.t0.rate = get_bits(gb, 16);
622 if (!floor_setup->data.t0.rate) {
626 floor_setup->data.t0.bark_map_size = get_bits(gb, 16);
627 if (!floor_setup->data.t0.bark_map_size) {
632 floor_setup->data.t0.amplitude_bits = get_bits(gb, 6);
633 floor_setup->data.t0.amplitude_offset = get_bits(gb, 8);
634 floor_setup->data.t0.num_books = get_bits(gb, 4) + 1;
637 floor_setup->data.t0.book_list =
638 av_malloc(floor_setup->data.t0.num_books);
639 if (!floor_setup->data.t0.book_list)
645 for (idx = 0; idx < floor_setup->data.t0.num_books; ++idx) {
647 floor_setup->data.t0.book_list[idx] = book_idx;
658 floor_setup->data.t0.lsp =
659 av_malloc_array((floor_setup->data.t0.order + 1 + max_codebook_dim),
660 sizeof(*floor_setup->data.t0.lsp));
661 if (!floor_setup->data.t0.lsp)
665 ff_dlog(NULL, "floor0 order: %u\n", floor_setup->data.t0.order);
666 ff_dlog(NULL, "floor0 rate: %u\n", floor_setup->data.t0.rate);
668 floor_setup->data.t0.bark_map_size);
670 floor_setup->data.t0.amplitude_bits);
672 floor_setup->data.t0.amplitude_offset);
674 floor_setup->data.t0.num_books);
676 floor_setup->data.t0.book_list);
679 for (idx = 0; idx < floor_setup->data.t0.num_books; ++idx) {
681 floor_setup->data.t0.book_list[idx]);