5 #ifndef MEDIA_BASE_BIT_READER_H_
6 #define MEDIA_BASE_BIT_READER_H_
11 #include "packager/base/logging.h"
13 namespace edash_packager {
22 BitReader(
const uint8_t* data, off_t size);
36 DCHECK_LE(num_bits, static_cast<int>(
sizeof(T) * 8));
38 bool ret = ReadBitsInternal(num_bits, &temp);
39 *out =
static_cast<T
>(temp);
56 bool ReadBitsInternal(
int num_bits, uint64_t* out);
61 void UpdateCurrByte();
74 int num_remaining_bits_in_curr_byte_;
83 #endif // MEDIA_BASE_BIT_READER_H_