comparison vorbis_enc.c @ 3817:3ca15f0d4882 libavcodec

Original Commit: r11 | ods15 | 2006-09-17 19:41:28 +0300 (Sun, 17 Sep 2006) | 4 lines modes header syntax that's the last of the headers! woo
author ods15
date Mon, 02 Oct 2006 05:55:30 +0000
parents 6eba53afa0b0
children 6a737f2d852e
comparison
equal deleted inserted replaced
3816:6eba53afa0b0 3817:3ca15f0d4882
85 int * floor; 85 int * floor;
86 int * residue; 86 int * residue;
87 } mapping_t; 87 } mapping_t;
88 88
89 typedef struct { 89 typedef struct {
90 int blockflag;
91 int mapping;
92 } vorbis_mode_t;
93
94 typedef struct {
90 int channels; 95 int channels;
91 int sample_rate; 96 int sample_rate;
92 int blocksize[2]; 97 int blocksize[2];
93 98
94 int ncodebooks; 99 int ncodebooks;
100 int nresidues; 105 int nresidues;
101 residue_t * residues; 106 residue_t * residues;
102 107
103 int nmappings; 108 int nmappings;
104 mapping_t * mappings; 109 mapping_t * mappings;
110
111 int nmodes;
112 vorbis_mode_t * modes;
105 } venc_context_t; 113 } venc_context_t;
106 114
107 static inline int ilog(unsigned int a) { 115 static inline int ilog(unsigned int a) {
108 int i; 116 int i;
109 for (i = 0; a >> i; i++); 117 for (i = 0; a >> i; i++);
318 put_bits(&pb, 8, mc->floor[j]); 326 put_bits(&pb, 8, mc->floor[j]);
319 put_bits(&pb, 8, mc->residue[j]); 327 put_bits(&pb, 8, mc->residue[j]);
320 } 328 }
321 } 329 }
322 330
331 // modes
332 put_bits(&pb, 6, venc->nmodes - 1);
333 for (i = 0; i < venc->nmodes; i++) {
334 put_bits(&pb, 1, venc->modes[i].blockflag);
335 put_bits(&pb, 16, 0); // reserved window type
336 put_bits(&pb, 16, 0); // reserved transform type
337 put_bits(&pb, 8, venc->modes[i].mapping);
338 }
339
323 flush_put_bits(&pb); 340 flush_put_bits(&pb);
324 hlens[2] = (put_bits_count(&pb) + 7) / 8; 341 hlens[2] = (put_bits_count(&pb) + 7) / 8;
325 342
326 len = hlens[0] + hlens[1] + hlens[2]; 343 len = hlens[0] + hlens[1] + hlens[2];
327 p = *out = av_mallocz(64 + len + len/255); 344 p = *out = av_mallocz(64 + len + len/255);