FFmpeg
Loading...
Searching...
No Matches
bitstream.h File Reference

bitstream reader API header. More...

#include <stdint.h>
#include "config.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/log.h"
#include "mathops.h"
#include "vlc.h"
#include "bitstream_template.h"

Go to the source code of this file.

Macros

#define UNCHECKED_BITSTREAM_READER   !CONFIG_SAFE_BITSTREAM_READER
 
#define BITS_DEFAULT_BE
 
#define BITSTREAM_WANT_BE
 
#define BitstreamContext   BitstreamContextBE
 
#define bits_init   bits_init_be
 
#define bits_init8   bits_init8_be
 
#define bits_tell   bits_tell_be
 
#define bits_size   bits_size_be
 
#define bits_bytesize   bits_bytesize_be
 
#define bits_left   bits_left_be
 
#define bits_read_bit   bits_read_bit_be
 
#define bits_read_nz   bits_read_nz_be
 
#define bits_read   bits_read_be
 
#define bits_read_63   bits_read_63_be
 
#define bits_read_64   bits_read_64_be
 
#define bits_read_signed   bits_read_signed_be
 
#define bits_read_signed_nz   bits_read_signed_nz_be
 
#define bits_peek_nz   bits_peek_nz_be
 
#define bits_peek   bits_peek_be
 
#define bits_peek_signed   bits_peek_signed_be
 
#define bits_peek_signed_nz   bits_peek_signed_nz_be
 
#define bits_skip   bits_skip_be
 
#define bits_seek   bits_seek_be
 
#define bits_align   bits_align_be
 
#define bits_read_xbits   bits_read_xbits_be
 
#define bits_decode012   bits_decode012_be
 
#define bits_decode210   bits_decode210_be
 
#define bits_apply_sign   bits_apply_sign_be
 
#define bits_read_vlc   bits_read_vlc_be
 
#define bits_read_vlc_multi   bits_read_vlc_multi_be
 
#define BITS_RL_VLC(level, run, bc, table, bits, max_depth)
 
#define AVCODEC_BITSTREAM_BE
 

Detailed Description

bitstream reader API header.

Definition in file bitstream.h.

Macro Definition Documentation

◆ UNCHECKED_BITSTREAM_READER

#define UNCHECKED_BITSTREAM_READER   !CONFIG_SAFE_BITSTREAM_READER

Definition at line 57 of file bitstream.h.

◆ BITS_DEFAULT_BE

#define BITS_DEFAULT_BE

Definition at line 74 of file bitstream.h.

◆ BITSTREAM_WANT_BE

#define BITSTREAM_WANT_BE

Definition at line 75 of file bitstream.h.

◆ BitstreamContext

#define BitstreamContext   BitstreamContextBE

Definition at line 110 of file bitstream.h.

Referenced by main().

◆ bits_init

#define bits_init   bits_init_be

Definition at line 111 of file bitstream.h.

◆ bits_init8

#define bits_init8   bits_init8_be

Definition at line 112 of file bitstream.h.

Referenced by main().

◆ bits_tell

#define bits_tell   bits_tell_be

Definition at line 113 of file bitstream.h.

Referenced by main().

◆ bits_size

◆ bits_bytesize

#define bits_bytesize   bits_bytesize_be

Definition at line 115 of file bitstream.h.

◆ bits_left

◆ bits_read_bit

#define bits_read_bit   bits_read_bit_be

Definition at line 117 of file bitstream.h.

Referenced by main().

◆ bits_read_nz

#define bits_read_nz   bits_read_nz_be

Definition at line 118 of file bitstream.h.

Referenced by main().

◆ bits_read

#define bits_read   bits_read_be

Definition at line 119 of file bitstream.h.

Referenced by main(), and test_apv_entropy_decode_block().

◆ bits_read_63

#define bits_read_63   bits_read_63_be

Definition at line 120 of file bitstream.h.

Referenced by main().

◆ bits_read_64

#define bits_read_64   bits_read_64_be

Definition at line 121 of file bitstream.h.

Referenced by main().

◆ bits_read_signed

#define bits_read_signed   bits_read_signed_be

Definition at line 122 of file bitstream.h.

Referenced by main().

◆ bits_read_signed_nz

#define bits_read_signed_nz   bits_read_signed_nz_be

Definition at line 123 of file bitstream.h.

Referenced by main().

◆ bits_peek_nz

#define bits_peek_nz   bits_peek_nz_be

Definition at line 124 of file bitstream.h.

Referenced by main().

◆ bits_peek

#define bits_peek   bits_peek_be

Definition at line 125 of file bitstream.h.

Referenced by main().

◆ bits_peek_signed

#define bits_peek_signed   bits_peek_signed_be

Definition at line 126 of file bitstream.h.

Referenced by main().

◆ bits_peek_signed_nz

#define bits_peek_signed_nz   bits_peek_signed_nz_be

Definition at line 127 of file bitstream.h.

Referenced by main().

◆ bits_skip

#define bits_skip   bits_skip_be

Definition at line 128 of file bitstream.h.

◆ bits_seek

#define bits_seek   bits_seek_be

Definition at line 129 of file bitstream.h.

◆ bits_align

#define bits_align   bits_align_be

Definition at line 130 of file bitstream.h.

Referenced by main().

◆ bits_read_xbits

#define bits_read_xbits   bits_read_xbits_be

Definition at line 131 of file bitstream.h.

◆ bits_decode012

#define bits_decode012   bits_decode012_be

Definition at line 132 of file bitstream.h.

◆ bits_decode210

#define bits_decode210   bits_decode210_be

Definition at line 133 of file bitstream.h.

◆ bits_apply_sign

#define bits_apply_sign   bits_apply_sign_be

Definition at line 134 of file bitstream.h.

Referenced by main().

◆ bits_read_vlc

#define bits_read_vlc   bits_read_vlc_be

Definition at line 135 of file bitstream.h.

◆ bits_read_vlc_multi

#define bits_read_vlc_multi   bits_read_vlc_multi_be

Definition at line 136 of file bitstream.h.

◆ BITS_RL_VLC

#define BITS_RL_VLC ( level,
run,
bc,
table,
bits,
max_depth )
Value:
do { \
int n, nb_bits; \
unsigned int index = bits_peek(bc, bits); \
level = table[index].level; \
n = table[index].len; \
\
if (max_depth > 1 && n < 0) { \
bits_skip(bc, bits); \
\
nb_bits = -n; \
\
index = bits_peek(bc, nb_bits) + level; \
level = table[index].level; \
n = table[index].len; \
if (max_depth > 2 && n < 0) { \
bits_skip(bc, nb_bits); \
nb_bits = -n; \
\
index = bits_peek(bc, nb_bits) + level; \
level = table[index].level; \
n = table[index].len; \
} \
} \
run = table[index].run; \
bits_skip(bc, n); \
} while (0)
#define bits_peek
Definition bitstream.h:125
static const uint8_t bits[8]
Definition fastaudio.c:100
int index
Definition gxfenc.c:90
static const uint16_t table[]
Definition prosumer.c:203
uint8_t run
Definition svq3.c:207
uint8_t level
Definition svq3.c:208

Definition at line 143 of file bitstream.h.

◆ AVCODEC_BITSTREAM_BE

#define AVCODEC_BITSTREAM_BE

Definition at line 193 of file bitstream.h.