Mercurial > libavcodec.hg
changeset 3912:f56e6d3a1d6e libavcodec
Original Commit: r113 | ods15 | 2006-10-01 21:35:47 +0200 (Sun, 01 Oct 2006) | 2 lines
some more static consts
author | ods15 |
---|---|
date | Mon, 02 Oct 2006 06:09:49 +0000 |
parents | a1b41e814052 |
children | f2204277a928 |
files | vorbis_enc.c |
diffstat | 1 files changed, 18 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/vorbis_enc.c Mon Oct 02 06:09:47 2006 +0000 +++ b/vorbis_enc.c Mon Oct 02 06:09:49 2006 +0000 @@ -701,6 +701,19 @@ } } +static const struct { + int dim; + int subclass; + int masterbook; + const int * nbooks; +} floor_classes[] = { + { 3, 0, 0, (const int[]){ 4 } }, + { 4, 1, 0, (const int[]){ 5, 6 } }, + { 3, 1, 1, (const int[]){ 7, 8 } }, + { 4, 2, 2, (const int[]){ -1, 9, 10, 11 } }, + { 3, 2, 3, (const int[]){ -1, 12, 13, 14 } }, +}; + static void create_vorbis_context(venc_context_t * venc, AVCodecContext * avccontext) { floor_t * fc; residue_t * rc; @@ -751,7 +764,7 @@ fc->partition_to_class = av_malloc(sizeof(int) * fc->partitions); fc->nclasses = 0; for (i = 0; i < fc->partitions; i++) { - int a[] = {0,1,2,2,3,3,4,4}; + static const int a[] = {0,1,2,2,3,3,4,4}; fc->partition_to_class[i] = a[i]; fc->nclasses = FFMAX(fc->nclasses, fc->partition_to_class[i]); } @@ -760,22 +773,12 @@ for (i = 0; i < fc->nclasses; i++) { floor_class_t * c = &fc->classes[i]; int j, books; - int dim[] = {3,4,3,4,3}; - int subclass[] = {0,1,1,2,2}; - int masterbook[] = {0/*none*/,0,1,2,3}; - int * nbooks[] = { - (int[]){ 4 }, - (int[]){ 5, 6 }, - (int[]){ 7, 8 }, - (int[]){ -1, 9, 10, 11 }, - (int[]){ -1, 12, 13, 14 }, - }; - c->dim = dim[i]; - c->subclass = subclass[i]; - c->masterbook = masterbook[i]; + c->dim = floor_classes[i].dim; + c->subclass = floor_classes[i].subclass; + c->masterbook = floor_classes[i].masterbook; books = (1 << c->subclass); c->books = av_malloc(sizeof(int) * books); - for (j = 0; j < books; j++) c->books[j] = nbooks[i][j]; + for (j = 0; j < books; j++) c->books[j] = floor_classes[i].nbooks[j]; } fc->multiplier = 2; fc->rangebits = venc->blocksize[0] - 1;