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
pull/126/head
Oded Shimon 19 years ago
parent 6f133df1ea
commit beaec74a94
  1. 22
      libavcodec/vorbis_enc.c

@ -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