comparison vorbis_enc.c @ 3864:df84b5d1a8c2 libavcodec

Original Commit: r64 | ods15 | 2006-09-25 18:39:30 +0300 (Mon, 25 Sep 2006) | 2 lines some fixes to floor
author ods15
date Mon, 02 Oct 2006 06:07:55 +0000
parents 2c8d1cadd86e
children 04d496813135
comparison
equal deleted inserted replaced
3863:2c8d1cadd86e 3864:df84b5d1a8c2
715 int lowroom = predicted; 715 int lowroom = predicted;
716 int room = FFMIN(highroom, lowroom); 716 int room = FFMIN(highroom, lowroom);
717 if (predicted == posts[i]) { 717 if (predicted == posts[i]) {
718 coded[i] = 0; // must be used later as flag! 718 coded[i] = 0; // must be used later as flag!
719 continue; 719 continue;
720 } else {
721 if (!coded[fc->list[i].low]) coded[fc->list[i].low] = -1;
722 if (!coded[fc->list[i].high]) coded[fc->list[i].high] = -1;
720 } 723 }
721 if (posts[i] > predicted) { 724 if (posts[i] > predicted) {
722 if (posts[i] - predicted > room) coded[i] = posts[i] - predicted + lowroom; 725 if (posts[i] - predicted > room) coded[i] = posts[i] - predicted + lowroom;
723 else coded[i] = (posts[i] - predicted) << 1; 726 else coded[i] = (posts[i] - predicted) << 1;
724 } else { 727 } else {
725 if (predicted - posts[i] > room) coded[i] = predicted - posts[i] + highroom - 1; 728 if (predicted - posts[i] > room) coded[i] = predicted - posts[i] + highroom - 1;
726 else coded[i] = ((predicted - posts[i]) << 1) + 1; 729 else coded[i] = ((predicted - posts[i]) << 1) - 1;
727 } 730 }
728 } 731 }
729 732
730 counter = 2; 733 counter = 2;
731 for (i = 0; i < fc->partitions; i++) { 734 for (i = 0; i < fc->partitions; i++) {
733 codebook_t * book = &venc->codebooks[c->books[0]]; 736 codebook_t * book = &venc->codebooks[c->books[0]];
734 int k; 737 int k;
735 assert(!c->subclass); 738 assert(!c->subclass);
736 for (k = 0; k < c->dim; k++) { 739 for (k = 0; k < c->dim; k++) {
737 int entry = coded[counter++]; 740 int entry = coded[counter++];
738 if (entry >= book->nentries || entry < 0) av_log(NULL, AV_LOG_ERROR, "%d %d %d %d \n", entry, book->nentries, counter, fc->values); 741 if (entry == -1) entry = 0;
739 assert(entry < book->nentries); 742 assert(entry < book->nentries);
740 assert(entry >= 0); 743 assert(entry >= 0);
741 put_bits(pb, book->entries[entry].len, book->entries[entry].codeword); 744 put_bits(pb, book->entries[entry].len, book->entries[entry].codeword);
742 } 745 }
743 } 746 }