chromium/third_party/libgav1/src/src/utils/raw_bit_reader.cc

// Copyright 2019 The libgav1 Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "src/utils/raw_bit_reader.h"

#include <cassert>
#include <limits>

#include "src/utils/common.h"
#include "src/utils/logging.h"

// Note <cinttypes> is only needed when logging is enabled (for the PRI*
// macros). It depends on the definition of LIBGAV1_ENABLE_LOGGING from
// logging.h, thus the non-standard header ordering.
#if LIBGAV1_ENABLE_LOGGING
#include <cinttypes>
#endif

namespace libgav1 {
namespace {

constexpr int kMaximumLeb128Size =;
constexpr uint8_t kLeb128ValueByteMask =;
constexpr uint8_t kLeb128TerminationByteMask =;

uint8_t Mod8(size_t n) {}

size_t DivideBy8(size_t n, bool ceil) {}

}  // namespace

RawBitReader::RawBitReader(const uint8_t* data, size_t size)
    :{}

int RawBitReader::ReadBitImpl() {}

int RawBitReader::ReadBit() {}

int64_t RawBitReader::ReadLiteral(int num_bits) {}

bool RawBitReader::ReadInverseSignedLiteral(int num_bits, int* const value) {}

bool RawBitReader::ReadLittleEndian(int num_bytes, size_t* const value) {}

bool RawBitReader::ReadUnsignedLeb128(size_t* const value) {}

bool RawBitReader::ReadUvlc(uint32_t* const value) {}

bool RawBitReader::AlignToNextByte() {}

bool RawBitReader::VerifyAndSkipTrailingBits(size_t num_bits) {}

bool RawBitReader::SkipBytes(size_t num_bytes) {}

bool RawBitReader::SkipBits(size_t num_bits) {}

bool RawBitReader::CanReadLiteral(size_t num_bits) const {}

bool RawBitReader::Finished() const {}

}  // namespace libgav1