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

Originally committed as revision 6422 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Oded Shimon 2006-10-02 05:55:30 +00:00
parent beaec74a94
commit 8016c73f4c
1 changed files with 17 additions and 0 deletions

View File

@ -86,6 +86,11 @@ typedef struct {
int * residue;
} mapping_t;
typedef struct {
int blockflag;
int mapping;
} vorbis_mode_t;
typedef struct {
int channels;
int sample_rate;
@ -102,6 +107,9 @@ typedef struct {
int nmappings;
mapping_t * mappings;
int nmodes;
vorbis_mode_t * modes;
} venc_context_t;
static inline int ilog(unsigned int a) {
@ -320,6 +328,15 @@ static int put_main_header(venc_context_t * venc, uint8_t ** out) {
}
}
// modes
put_bits(&pb, 6, venc->nmodes - 1);
for (i = 0; i < venc->nmodes; i++) {
put_bits(&pb, 1, venc->modes[i].blockflag);
put_bits(&pb, 16, 0); // reserved window type
put_bits(&pb, 16, 0); // reserved transform type
put_bits(&pb, 8, venc->modes[i].mapping);
}
flush_put_bits(&pb);
hlens[2] = (put_bits_count(&pb) + 7) / 8;