+++ /dev/null
-/* Copyright 2013 Google Inc. All Rights Reserved.\r
-\r
- Distributed under MIT license.\r
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
-*/\r
-\r
-/* Bit reading helpers */\r
-\r
-#include "./bit_reader.h"\r
-\r
-#include "../common/platform.h"\r
-#include <brotli/types.h>\r
-\r
-#if defined(__cplusplus) || defined(c_plusplus)\r
-extern "C" {\r
-#endif\r
-\r
-void BrotliInitBitReader(BrotliBitReader* const br) {\r
- br->val_ = 0;\r
- br->bit_pos_ = sizeof(br->val_) << 3;\r
-}\r
-\r
-BROTLI_BOOL BrotliWarmupBitReader(BrotliBitReader* const br) {\r
- size_t aligned_read_mask = (sizeof(br->val_) >> 1) - 1;\r
- /* Fixing alignment after unaligned BrotliFillWindow would result accumulator\r
- overflow. If unalignment is caused by BrotliSafeReadBits, then there is\r
- enough space in accumulator to fix alignment. */\r
- if (!BROTLI_ALIGNED_READ) {\r
- aligned_read_mask = 0;\r
- }\r
- if (BrotliGetAvailableBits(br) == 0) {\r
- if (!BrotliPullByte(br)) {\r
- return BROTLI_FALSE;\r
- }\r
- }\r
-\r
- while ((((size_t)br->next_in) & aligned_read_mask) != 0) {\r
- if (!BrotliPullByte(br)) {\r
- /* If we consumed all the input, we don't care about the alignment. */\r
- return BROTLI_TRUE;\r
- }\r
- }\r
- return BROTLI_TRUE;\r
-}\r
-\r
-#if defined(__cplusplus) || defined(c_plusplus)\r
-} /* extern "C" */\r
-#endif\r