Mercurial > libavcodec.hg
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); |