| 
| GF_EXPORT GF_Err  | gf_bs_reassign_buffer (GF_BitStream *bs, const u8 *buffer, u64 BufferSize) | 
|   | bitstream reassignment  
  | 
|   | 
| GF_EXPORT GF_BitStream *  | gf_bs_new (const u8 *buffer, u64 BufferSize, u32 mode) | 
|   | bitstream constructor  
  | 
|   | 
| GF_EXPORT GF_BitStream *  | gf_bs_from_file (FILE *f, u32 mode) | 
|   | bitstream constructor from file handle  
  | 
|   | 
| GF_EXPORT GF_BitStream *  | gf_bs_from_fd (int fd, u32 mode) | 
|   | 
| GF_BitStream *  | gf_bs_new_cbk_buffer (GF_Err(*on_block_out)(void *cbk, u8 *data, u32 block_size), void *usr_data, u8 *buffer, u32 buffer_size) | 
|   | bitstream constructor from callback output and preallocated buffer  
  | 
|   | 
| GF_BitStream *  | gf_bs_new_cbk (GF_Err(*on_block_out)(void *cbk, u8 *data, u32 block_size), void *usr_data, u32 block_size) | 
|   | bitstream constructor from callback output  
  | 
|   | 
| void  | gf_bs_prevent_dispatch (GF_BitStream *bs, Bool prevent_dispatch) | 
|   | prevents block dispatch Prevents byte dispatching in callback mode. This is used when seek operations are used.  
  | 
|   | 
| static Bool  | bs_flush_write_cache (GF_BitStream *bs) | 
|   | 
| GF_EXPORT void  | gf_bs_del (GF_BitStream *bs) | 
|   | bitstream destructor from file handle  
  | 
|   | 
| GF_EXPORT void  | gf_bs_enable_emulation_byte_removal (GF_BitStream *bs, Bool do_remove) | 
|   | NALU-based Annex B mode, only used for read mode.  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_get_emulation_byte_removed (GF_BitStream *bs) | 
|   | NALU-based Annex B mode, only used for read mode.  
  | 
|   | 
| Bool  | gf_bs_is_align (GF_BitStream *bs) | 
|   | bitstream alignment checking  
  | 
|   | 
| static GFINLINE u8  | gf_bs_load_byte (GF_BitStream *bs, Bool *is_eos) | 
|   | 
| static u8  | BS_ReadByte (GF_BitStream *bs) | 
|   | 
| GF_EXPORT u8  | gf_bs_read_bit (GF_BitStream *bs) | 
|   | 
| GF_EXPORT u32  | gf_bs_read_int (GF_BitStream *bs, u32 nBits) | 
|   | integer reading  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_read_u8 (GF_BitStream *bs) | 
|   | align char reading  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_read_u16 (GF_BitStream *bs) | 
|   | align short reading  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_read_u24 (GF_BitStream *bs) | 
|   | align 24-bit integer reading  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_read_u32 (GF_BitStream *bs) | 
|   | align integer reading  
  | 
|   | 
| GF_EXPORT u64  | gf_bs_read_u64 (GF_BitStream *bs) | 
|   | align large integer reading  
  | 
|   | 
| GF_EXPORT u64  | gf_bs_read_long_int (GF_BitStream *bs, u32 nBits) | 
|   | large integer reading  
  | 
|   | 
| GF_EXPORT Float  | gf_bs_read_float (GF_BitStream *bs) | 
|   | float reading  
  | 
|   | 
| GF_EXPORT Double  | gf_bs_read_double (GF_BitStream *bs) | 
|   | double reading  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_read_data (GF_BitStream *bs, u8 *data, u32 nbBytes) | 
|   | data reading  
  | 
|   | 
| static void  | BS_WriteByte (GF_BitStream *bs, u8 val) | 
|   | 
| static void  | BS_WriteBit (GF_BitStream *bs, u32 bit) | 
|   | 
| static s32  | bs_handle_nbits_overflow (GF_BitStream *bs, s32 nBits, s32 max_shift) | 
|   | 
| GF_EXPORT void  | gf_bs_write_int (GF_BitStream *bs, s32 _value, s32 nBits) | 
|   | integer writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_long_int (GF_BitStream *bs, s64 _value, s32 nBits) | 
|   | large integer writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_u8 (GF_BitStream *bs, u32 value) | 
|   | align char writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_u16 (GF_BitStream *bs, u32 value) | 
|   | align short writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_u24 (GF_BitStream *bs, u32 value) | 
|   | align 24-bits integer writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_u32 (GF_BitStream *bs, u32 value) | 
|   | align integer writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_u64 (GF_BitStream *bs, u64 value) | 
|   | align large integer writing  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_write_byte (GF_BitStream *bs, u8 byte, u32 repeat_count) | 
|   | write byte multiple times  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_float (GF_BitStream *bs, Float value) | 
|   | float writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_double (GF_BitStream *bs, Double value) | 
|   | double writing  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_write_data (GF_BitStream *bs, const u8 *data, u32 nbBytes) | 
|   | data writing  
  | 
|   | 
| GF_EXPORT u8  | gf_bs_align (GF_BitStream *bs) | 
|   | bitstream alignment  
  | 
|   | 
| GF_EXPORT u64  | gf_bs_available (GF_BitStream *bs) | 
|   | capacity query  
  | 
|   | 
| static s32  | BS_CutBuffer (GF_BitStream *bs) | 
|   | 
| GF_EXPORT void  | gf_bs_get_content_no_truncate (GF_BitStream *bs, u8 **output, u32 *outSize, u32 *alloc_size) | 
|   | buffer fetching  
  | 
|   | 
| GF_EXPORT void  | gf_bs_get_content (GF_BitStream *bs, u8 **output, u32 *outSize) | 
|   | buffer fetching  
  | 
|   | 
| GF_Err  | gf_bs_grow (GF_BitStream *bs, u32 addSize) | 
|   | 
| GF_EXPORT void  | gf_bs_skip_bytes (GF_BitStream *bs, u64 nbBytes) | 
|   | byte skipping  
  | 
|   | 
| static GF_Err  | BS_SeekIntern (GF_BitStream *bs, u64 offset) | 
|   | 
| GF_EXPORT GF_Err  | gf_bs_seek (GF_BitStream *bs, u64 offset) | 
|   | bitstream seeking  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_peek_bits (GF_BitStream *bs, u32 numBits, u64 byte_offset) | 
|   | bit peeking  
  | 
|   | 
| GF_EXPORT u64  | gf_bs_get_refreshed_size (GF_BitStream *bs) | 
|   | file-based size query  
  | 
|   | 
| GF_EXPORT u64  | gf_bs_get_size (GF_BitStream *bs) | 
|   | size query  
  | 
|   | 
| GF_EXPORT u64  | gf_bs_get_position (GF_BitStream *bs) | 
|   | position query  
  | 
|   | 
| GF_EXPORT u8  | gf_bs_bits_available (GF_BitStream *bs) | 
|   | bit reservoir query  
  | 
|   | 
| GF_EXPORT void  | gf_bs_set_eos_callback (GF_BitStream *bs, void(*EndOfStream)(void *par), void *par) | 
|   | end of bitstream management  
  | 
|   | 
| GF_EXPORT u64  | gf_bs_read_u64_le (GF_BitStream *bs) | 
|   | little endian integer reading  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_read_u32_le (GF_BitStream *bs) | 
|   | little endian integer reading  
  | 
|   | 
| GF_EXPORT u16  | gf_bs_read_u16_le (GF_BitStream *bs) | 
|   | little endian integer reading  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_u64_le (GF_BitStream *bs, u64 val) | 
|   | little endian large integer writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_u32_le (GF_BitStream *bs, u32 val) | 
|   | little endian integer writing  
  | 
|   | 
| GF_EXPORT void  | gf_bs_write_u16_le (GF_BitStream *bs, u32 val) | 
|   | little endian short writing  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_get_bit_offset (GF_BitStream *bs) | 
|   | bit position  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_get_bit_position (GF_BitStream *bs) | 
|   | current bit position  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_read_vluimsbf5 (GF_BitStream *bs) | 
|   | variable length integer reading  
  | 
|   | 
| GF_EXPORT void  | gf_bs_truncate (GF_BitStream *bs) | 
|   | bitstream truncation  
  | 
|   | 
| void  | gf_bs_untruncate (GF_BitStream *bs) | 
|   | 
| GF_EXPORT GF_Err  | gf_bs_transfer (GF_BitStream *dst, GF_BitStream *src, Bool keep_src) | 
|   | transfer content from source bitstream to destination bitstream  
  | 
|   | 
| GF_EXPORT void  | gf_bs_flush (GF_BitStream *bs) | 
|   | Flushes bitstream content to disk.  
  | 
|   | 
| u64  | gf_bs_set_cookie (GF_BitStream *bs, u64 cookie) | 
|   | Sets cookie.  
  | 
|   | 
| u64  | gf_bs_get_cookie (GF_BitStream *bs) | 
|   | Gets cookie.  
  | 
|   | 
| GF_EXPORT GF_Err  | gf_bs_insert_data (GF_BitStream *bs, u8 *data, u32 size, u64 offset) | 
|   | Inserts a data block, moving bytes to the end.  
  | 
|   | 
| GF_Err  | gf_bs_set_logger (GF_BitStream *bs, void(*on_bs_log)(void *udta, const char *field_name, u32 nb_bits, u64 field_val, s32 idx1, s32 idx2, s32 idx3), void *udta) | 
|   | 
| void  | gf_bs_log_idx (GF_BitStream *bs, u32 nBits, const char *fname, s64 val, s32 idx1, s32 idx2, s32 idx3) | 
|   | 
| void  | gf_bs_mark_overflow (GF_BitStream *bs, Bool reset) | 
|   | Marks overflow access.  
  | 
|   | 
| GF_EXPORT u32  | gf_bs_is_overflow (GF_BitStream *bs) | 
|   | Gets overflow state.  
  | 
|   | 
| GF_EXPORT char *  | gf_bs_read_utf8 (GF_BitStream *bs) | 
|   | Reads string.  
  | 
|   | 
| GF_EXPORT GF_Err  | gf_bs_write_utf8 (GF_BitStream *bs, const char *str) | 
|   | Writes string.  
  | 
|   |