diff options
author | Bartłomiej Wołowiec <bartek.wolowiec@gmail.com> | 2008-10-15 08:01:54 +0000 |
---|---|---|
committer | Benoit Fouet <benoit.fouet@free.fr> | 2008-10-15 08:01:54 +0000 |
commit | 757d91a6e6cf87dea5f20b186770ddea4720e487 (patch) | |
tree | 7fc2647c3e3cf1478248760813794bef54f12ccc /libavcodec/vorbis_enc.c | |
parent | a6080be7a28f8400710f37013587a56d02f969c5 (diff) | |
download | ffmpeg-757d91a6e6cf87dea5f20b186770ddea4720e487.tar.gz |
Use of new bitstream in vorbis_enc.c.
Patch by Bartłomiej Wołowiec b wolowiec AT students mimuw edu pl
Originally committed as revision 15622 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vorbis_enc.c')
-rw-r--r-- | libavcodec/vorbis_enc.c | 49 |
1 files changed, 3 insertions, 46 deletions
diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c index 01bc48c326..7f2e876a03 100644 --- a/libavcodec/vorbis_enc.c +++ b/libavcodec/vorbis_enc.c @@ -30,6 +30,9 @@ #include "vorbis.h" #include "vorbis_enc_data.h" +#define BITSTREAM_WRITER_LE +#include "bitstream.h" + #undef NDEBUG #include <assert.h> @@ -122,52 +125,6 @@ typedef struct { int64_t sample_count; } venc_context_t; -typedef struct { - int total; - int total_pos; - int pos; - uint8_t * buf_ptr; -} PutBitContext; - -static inline void init_put_bits(PutBitContext * pb, uint8_t * buf, int buffer_len) { - pb->total = buffer_len * 8; - pb->total_pos = 0; - pb->pos = 0; - pb->buf_ptr = buf; -} - -static void put_bits(PutBitContext * pb, int bits, uint64_t val) { - if ((pb->total_pos += bits) >= pb->total) return; - if (!bits) return; - if (pb->pos) { - if (pb->pos > bits) { - *pb->buf_ptr |= val << (8 - pb->pos); - pb->pos -= bits; - bits = 0; - } else { - *pb->buf_ptr++ |= (val << (8 - pb->pos)) & 0xFF; - val >>= pb->pos; - bits -= pb->pos; - pb->pos = 0; - } - } - for (; bits >= 8; bits -= 8) { - *pb->buf_ptr++ = val & 0xFF; - val >>= 8; - } - if (bits) { - *pb->buf_ptr = val; - pb->pos = 8 - bits; - } -} - -static inline void flush_put_bits(PutBitContext * pb) { -} - -static inline int put_bits_count(PutBitContext * pb) { - return pb->total_pos; -} - static inline void put_codeword(PutBitContext * pb, codebook_t * cb, int entry) { assert(entry >= 0); assert(entry < cb->nentries); |