mant = -mant;
}
res |= mant | (exp << 21);
- put_bits(pb, 32, res);
+ put_bits32(pb, res);
}
static void put_codebook_header(PutBitContext *pb, vorbis_enc_codebook *cb)
// identification header
init_put_bits(&pb, p, buffer_len);
put_bits(&pb, 8, 1); //magic
- ff_put_string(&pb, "vorbis", 0);
- put_bits(&pb, 32, 0); // version
+ for (i = 0; "vorbis"[i]; i++)
+ put_bits(&pb, 8, "vorbis"[i]);
+ put_bits32(&pb, 0); // version
put_bits(&pb, 8, venc->channels);
- put_bits(&pb, 32, venc->sample_rate);
- put_bits(&pb, 32, 0); // bitrate
- put_bits(&pb, 32, 0); // bitrate
- put_bits(&pb, 32, 0); // bitrate
+ put_bits32(&pb, venc->sample_rate);
+ put_bits32(&pb, 0); // bitrate
+ put_bits32(&pb, 0); // bitrate
+ put_bits32(&pb, 0); // bitrate
put_bits(&pb, 4, venc->log2_blocksize[0]);
put_bits(&pb, 4, venc->log2_blocksize[1]);
put_bits(&pb, 1, 1); // framing
flush_put_bits(&pb);
- hlens[0] = (put_bits_count(&pb) + 7) / 8;
+ hlens[0] = put_bits_count(&pb) >> 3;
buffer_len -= hlens[0];
p += hlens[0];
// comment header
init_put_bits(&pb, p, buffer_len);
put_bits(&pb, 8, 3); //magic
- ff_put_string(&pb, "vorbis", 0);
- put_bits(&pb, 32, 0); // vendor length TODO
- put_bits(&pb, 32, 0); // amount of comments
+ for (i = 0; "vorbis"[i]; i++)
+ put_bits(&pb, 8, "vorbis"[i]);
+ put_bits32(&pb, 0); // vendor length TODO
+ put_bits32(&pb, 0); // amount of comments
put_bits(&pb, 1, 1); // framing
flush_put_bits(&pb);
- hlens[1] = (put_bits_count(&pb) + 7) / 8;
+ hlens[1] = put_bits_count(&pb) >> 3;
buffer_len -= hlens[1];
p += hlens[1];
// setup header
init_put_bits(&pb, p, buffer_len);
put_bits(&pb, 8, 5); //magic
- ff_put_string(&pb, "vorbis", 0);
+ for (i = 0; "vorbis"[i]; i++)
+ put_bits(&pb, 8, "vorbis"[i]);
// codebooks
put_bits(&pb, 8, venc->ncodebooks - 1);
put_bits(&pb, 1, 1); // framing
flush_put_bits(&pb);
- hlens[2] = (put_bits_count(&pb) + 7) / 8;
+ hlens[2] = put_bits_count(&pb) >> 3;
len = hlens[0] + hlens[1] + hlens[2];
p = *out = av_mallocz(64 + len + len/255);
avccontext->coded_frame->pts = venc->sample_count;
venc->sample_count += avccontext->frame_size;
flush_put_bits(&pb);
- return (put_bits_count(&pb) + 7) / 8;
+ return put_bits_count(&pb) >> 3;
}