26 #ifndef AVCODEC_PUT_BITS_H
27 #define AVCODEC_PUT_BITS_H
33 #include "libavutil/bswap.h"
34 #include "libavutil/common.h"
35 #include "libavutil/intreadwrite.h"
36 #include "libavutil/log.h"
37 #include "libavutil/avassert.h"
57 if (buffer_size < 0) {
91 #ifndef BITSTREAM_WRITER_LE
97 #ifdef BITSTREAM_WRITER_LE
110 #ifdef BITSTREAM_WRITER_LE
111 #define avpriv_align_put_bits align_put_bits_unsupported_here
112 #define avpriv_put_string ff_put_string_unsupported_here
113 #define avpriv_copy_bits avpriv_copy_bits_unsupported_here
126 int terminate_string);
142 unsigned int bit_buf;
151 #ifdef BITSTREAM_WRITER_LE
152 bit_buf |= value << (32 - bit_left);
157 bit_buf = (bit_left == 32) ? 0 : value >> bit_left;
163 bit_buf = (bit_buf << n) | value;
166 bit_buf <<= bit_left;
167 bit_buf |= value >> (n - bit_left);
184 put_bits(pb, n, value & ((1 << n) - 1));
192 int lo = value & 0xffff;
193 int hi = value >> 16;
194 #ifdef BITSTREAM_WRITER_LE