Browse Source

Original Commit: r10 | ods15 | 2006-09-17 19:37:17 +0300 (Sun, 17 Sep 2006) | 2 lines

mappings header syntax

Originally committed as revision 6421 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Oded Shimon 19 years ago
parent
commit
beaec74a94
1 changed files with 22 additions and 0 deletions
  1. +22
    -0
      libavcodec/vorbis_enc.c

+ 22
- 0
libavcodec/vorbis_enc.c View File

@@ -80,6 +80,10 @@ typedef struct {
} residue_t;

typedef struct {
int submaps;
int * mux;
int * floor;
int * residue;
} mapping_t;

typedef struct {
@@ -296,6 +300,24 @@ static int put_main_header(venc_context_t * venc, uint8_t ** out) {
// mappings
put_bits(&pb, 6, venc->nmappings - 1);
for (i = 0; i < venc->nmappings; i++) {
mapping_t * mc = &venc->mappings[i];
int j;
put_bits(&pb, 16, 0); // mapping type

put_bits(&pb, 1, mc->submaps > 1);
if (mc->submaps > 1) put_bits(&pb, 4, mc->submaps - 1);

put_bits(&pb, 1, 0); // channel coupling

put_bits(&pb, 2, 0); // reserved

if (mc->submaps > 1) for (j = 0; j < venc->channels; j++) put_bits(&pb, 4, mc->mux[j]);

for (j = 0; j < mc->submaps; j++) {
put_bits(&pb, 8, 0); // reserved time configuration
put_bits(&pb, 8, mc->floor[j]);
put_bits(&pb, 8, mc->residue[j]);
}
}

flush_put_bits(&pb);


Loading…
Cancel
Save