• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libav-0.8.8/libavcodec/

Lines Matching refs:cb

140 static inline void put_codeword(PutBitContext *pb, vorbis_enc_codebook *cb,
144 assert(entry < cb->nentries);
145 assert(cb->lens[entry]);
146 put_bits(pb, cb->lens[entry], cb->codewords[entry]);
158 static int ready_codebook(vorbis_enc_codebook *cb)
162 ff_vorbis_len2vlc(cb->lens, cb->codewords, cb->nentries);
164 if (!cb->lookup) {
165 cb->pow2 = cb->dimentions = NULL;
167 int vals = cb_lookup_vals(cb->lookup, cb->ndimentions, cb->nentries);
168 cb->dimentions = av_malloc(sizeof(float) * cb->nentries * cb->ndimentions);
169 cb->pow2 = av_mallocz(sizeof(float) * cb->nentries);
170 if (!cb->dimentions || !cb->pow2)
172 for (i = 0; i < cb->nentries; i++) {
176 for (j = 0; j < cb->ndimentions; j++) {
178 if (cb->lookup == 1)
181 off = i * cb->ndimentions + j; // lookup type 2
183 cb->dimentions[i * cb->ndimentions + j] = last + cb->min + cb->quantlist[off] * cb->delta;
184 if (cb->seq_p)
185 last = cb->dimentions[i * cb->ndimentions + j];
186 cb->pow2[i] += cb->dimentions[i * cb->ndimentions + j] * cb->dimentions[i * cb->ndimentions + j];
189 cb->pow2[i] /= 2.;
204 vorbis_enc_codebook * cb;
210 cb = &venc->codebooks[rc->books[i][j]];
211 assert(cb->ndimentions >= 2);
212 assert(cb->lookup);
214 for (j = 0; j < cb->nentries; j++) {
216 if (!cb->lens[j])
218 a = fabs(cb->dimentions[j * cb->ndimentions]);
221 a = fabs(cb->dimentions[j * cb->ndimentions + 1]);
255 vorbis_enc_codebook *cb = &venc->codebooks[book];
257 cb->ndimentions = cvectors[book].dim;
258 cb->nentries = cvectors[book].real_len;
259 cb->min = cvectors[book].min;
260 cb->delta = cvectors[book].delta;
261 cb->lookup = cvectors[book].lookup;
262 cb->seq_p = 0;
264 cb->lens = av_malloc(sizeof(uint8_t) * cb->nentries);
265 cb->codewords = av_malloc(sizeof(uint32_t) * cb->nentries);
266 if (!cb->lens || !cb->codewords)
268 memcpy(cb->lens, cvectors[book].clens, cvectors[book].len);
269 memset(cb->lens + cvectors[book].len, 0, cb->nentries - cvectors[book].len);
271 if (cb->lookup) {
272 vals = cb_lookup_vals(cb->lookup, cb->ndimentions, cb->nentries);
273 cb->quantlist = av_malloc(sizeof(int) * vals);
274 if (!cb->quantlist)
277 cb->quantlist[i] = cvectors[book].quant[i];
279 cb->quantlist = NULL;
281 if ((ret = ready_codebook(cb)) < 0)
449 static void put_codebook_header(PutBitContext *pb, vorbis_enc_codebook *cb)
455 put_bits(pb, 16, cb->ndimentions);
456 put_bits(pb, 24, cb->nentries);
458 for (i = 1; i < cb->nentries; i++)
459 if (cb->lens[i] < cb->lens[i-1])
461 if (i == cb->nentries)
466 int len = cb->lens[0];
469 while (i < cb->nentries) {
471 for (j = 0; j+i < cb->nentries; j++)
472 if (cb->lens[j+i] != len)
474 put_bits(pb, ilog(cb->nentries - i), j);
480 for (i = 0; i < cb->nentries; i++)
481 if (!cb->lens[i])
483 if (i != cb->nentries)
487 for (i = 0; i < cb->nentries; i++) {
489 put_bits(pb, 1, !!cb->lens[i]);
490 if (cb->lens[i])
491 put_bits(pb, 5, cb->lens[i] - 1);
495 put_bits(pb, 4, cb->lookup);
496 if (cb->lookup) {
497 int tmp = cb_lookup_vals(cb->lookup, cb->ndimentions, cb->nentries);
498 int bits = ilog(cb->quantlist[0]);
501 bits = FFMAX(bits, ilog(cb->quantlist[i]));
503 put_float(pb, cb->min);
504 put_float(pb, cb->delta);
507 put_bits(pb, 1, cb->seq_p);
510 put_bits(pb, bits, cb->quantlist[i]);