/* * Copyright (c) 2018, Alliance for Open Media. All rights reserved. * * This source code is subject to the terms of the BSD 2 Clause License and * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License * was not distributed with this source code in the LICENSE file, you can * obtain it at www.aomedia.org/license/software. If the Alliance for Open * Media Patent License 1.0 was not distributed with this source code in the * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include <assert.h> #include "aom/aom_integer.h" static const size_t kMaximumLeb128Size = …; static const uint8_t kLeb128ByteMask = …; // Binary: 01111111 // Disallow values larger than 32-bits to ensure consistent behavior on 32 and // 64 bit targets: value is typically used to determine buffer allocation size // when decoded. static const uint64_t kMaximumLeb128Value = …; size_t aom_uleb_size_in_bytes(uint64_t value) { … } int aom_uleb_decode(const uint8_t *buffer, size_t available, uint64_t *value, size_t *length) { … } int aom_uleb_encode(uint64_t value, size_t available, uint8_t *coded_value, size_t *coded_size) { … } int aom_uleb_encode_fixed_size(uint64_t value, size_t available, size_t pad_to_size, uint8_t *coded_value, size_t *coded_size) { … }