chromium/media/parsers/bit_reader_macros.h

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef MEDIA_PARSERS_BIT_READER_MACROS_H_
#define MEDIA_PARSERS_BIT_READER_MACROS_H_

// Warning! Should only be included in .cc files.
// Common bit reader macros shared by H.26x parsers.
#define READ_BITS_OR_RETURN(num_bits, out)

#define READ_BITS_AND_MINUS_BITS_READ_OR_RETURN(num_bits, out,             \
                                                num_bits_remain)

#define SKIP_BITS_OR_RETURN(num_bits)

#define READ_BOOL_OR_RETURN(out)

#define READ_BOOL_AND_MINUS_BITS_READ_OR_RETURN(out, num_bits_remain)

// Exp-Golomb code parsing as specified in H.26x specifications.
// Read one unsigned exp-Golomb code from the stream and return in |*out|
// with total bits read return in |*bits_read|.
#define READ_UE_WITH_BITS_READ_OR_RETURN(out, bits_read)

#define READ_UE_OR_RETURN(out)

#define READ_UE_AND_MINUS_BITS_READ_OR_RETURN(out, num_bits_remain)

// Read one signed exp-Golomb code from the stream and return in |*out|.
#define READ_SE_OR_RETURN(out)

#define IN_RANGE_OR_RETURN(val, min, max)

#define TRUE_OR_RETURN(a)

#define EQ_OR_RETURN(shdr1, shdr2, field)

#define GT_OR_RETURN(val1, val2)

#define LE_OR_RETURN(val1, val2)

#define GE_OR_RETURN(val1, val2)

#define BYTE_ALIGNMENT()

#endif  // MEDIA_PARSERS_BIT_READER_MACROS_H_