LMMS
Loading...
Searching...
No Matches
bitwriter.c File Reference
#include <stdlib.h>
#include <string.h>
#include "include/private/bitwriter.h"
#include "include/private/crc.h"
#include "../assert.h"
#include "../alloc.h"
#include "../compat.h"
#include "../endswap.h"

Classes

struct  FLAC__BitWriter

Macros

#define FLAC__BYTES_PER_WORD   4
#define FLAC__BITS_PER_WORD   (8 * FLAC__BYTES_PER_WORD)
#define FLAC__WORD_ALL_ONES   ((FLAC__uint32)0xffffffff)
#define SWAP_BE_WORD_TO_HOST(x)
#define FLAC__WORDS_TO_BITS(words)
#define FLAC__TOTAL_BITS(bw)

Functions

static FLAC__bool bitwriter_grow_ (FLAC__BitWriter *bw, unsigned bits_to_add)
FLAC__BitWriterFLAC__bitwriter_new (void)
void FLAC__bitwriter_delete (FLAC__BitWriter *bw)
FLAC__bool FLAC__bitwriter_init (FLAC__BitWriter *bw)
void FLAC__bitwriter_free (FLAC__BitWriter *bw)
void FLAC__bitwriter_clear (FLAC__BitWriter *bw)
void FLAC__bitwriter_dump (const FLAC__BitWriter *bw, FILE *out)
FLAC__bool FLAC__bitwriter_get_write_crc16 (FLAC__BitWriter *bw, FLAC__uint16 *crc)
FLAC__bool FLAC__bitwriter_get_write_crc8 (FLAC__BitWriter *bw, FLAC__byte *crc)
FLAC__bool FLAC__bitwriter_is_byte_aligned (const FLAC__BitWriter *bw)
unsigned FLAC__bitwriter_get_input_bits_unconsumed (const FLAC__BitWriter *bw)
FLAC__bool FLAC__bitwriter_get_buffer (FLAC__BitWriter *bw, const FLAC__byte **buffer, size_t *bytes)
void FLAC__bitwriter_release_buffer (FLAC__BitWriter *bw)
FLAC__bool FLAC__bitwriter_write_zeroes (FLAC__BitWriter *bw, unsigned bits)
FLAC__bool FLAC__bitwriter_write_raw_uint32 (FLAC__BitWriter *bw, FLAC__uint32 val, unsigned bits)
FLAC__bool FLAC__bitwriter_write_raw_int32 (FLAC__BitWriter *bw, FLAC__int32 val, unsigned bits)
FLAC__bool FLAC__bitwriter_write_raw_uint64 (FLAC__BitWriter *bw, FLAC__uint64 val, unsigned bits)
FLAC__bool FLAC__bitwriter_write_raw_uint32_little_endian (FLAC__BitWriter *bw, FLAC__uint32 val)
FLAC__bool FLAC__bitwriter_write_byte_block (FLAC__BitWriter *bw, const FLAC__byte vals[], unsigned nvals)
FLAC__bool FLAC__bitwriter_write_unary_unsigned (FLAC__BitWriter *bw, unsigned val)
unsigned FLAC__bitwriter_rice_bits (FLAC__int32 val, unsigned parameter)
FLAC__bool FLAC__bitwriter_write_rice_signed (FLAC__BitWriter *bw, FLAC__int32 val, unsigned parameter)
FLAC__bool FLAC__bitwriter_write_rice_signed_block (FLAC__BitWriter *bw, const FLAC__int32 *vals, unsigned nvals, unsigned parameter)
FLAC__bool FLAC__bitwriter_write_utf8_uint32 (FLAC__BitWriter *bw, FLAC__uint32 val)
FLAC__bool FLAC__bitwriter_write_utf8_uint64 (FLAC__BitWriter *bw, FLAC__uint64 val)
FLAC__bool FLAC__bitwriter_zero_pad_to_byte_boundary (FLAC__BitWriter *bw)

Variables

static const unsigned FLAC__BITWRITER_DEFAULT_CAPACITY = 32768u / sizeof(uint32_t)
static const unsigned FLAC__BITWRITER_DEFAULT_INCREMENT = 4096u / sizeof(uint32_t)

Macro Definition Documentation

◆ FLAC__BITS_PER_WORD

#define FLAC__BITS_PER_WORD   (8 * FLAC__BYTES_PER_WORD)

◆ FLAC__BYTES_PER_WORD

#define FLAC__BYTES_PER_WORD   4

◆ FLAC__TOTAL_BITS

#define FLAC__TOTAL_BITS ( bw)
Value:
(FLAC__WORDS_TO_BITS((bw)->words) + (bw)->bits)
#define FLAC__WORDS_TO_BITS(words)
Definition bitwriter.c:69

◆ FLAC__WORD_ALL_ONES

#define FLAC__WORD_ALL_ONES   ((FLAC__uint32)0xffffffff)

◆ FLAC__WORDS_TO_BITS

#define FLAC__WORDS_TO_BITS ( words)
Value:
#define FLAC__BITS_PER_WORD
Definition bitreader.c:51

◆ SWAP_BE_WORD_TO_HOST

#define SWAP_BE_WORD_TO_HOST ( x)
Value:
unsigned x[BMAX+1]
Definition inflate.c:1586
#define ENDSWAP_32(x)
Definition endswap.h:64

Function Documentation

◆ bitwriter_grow_()

FLAC__bool bitwriter_grow_ ( FLAC__BitWriter * bw,
unsigned bits_to_add )
static

◆ FLAC__bitwriter_clear()

void FLAC__bitwriter_clear ( FLAC__BitWriter * bw)

◆ FLAC__bitwriter_delete()

void FLAC__bitwriter_delete ( FLAC__BitWriter * bw)

◆ FLAC__bitwriter_dump()

void FLAC__bitwriter_dump ( const FLAC__BitWriter * bw,
FILE * out )

◆ FLAC__bitwriter_free()

void FLAC__bitwriter_free ( FLAC__BitWriter * bw)

◆ FLAC__bitwriter_get_buffer()

FLAC__bool FLAC__bitwriter_get_buffer ( FLAC__BitWriter * bw,
const FLAC__byte ** buffer,
size_t * bytes )

◆ FLAC__bitwriter_get_input_bits_unconsumed()

unsigned FLAC__bitwriter_get_input_bits_unconsumed ( const FLAC__BitWriter * bw)

◆ FLAC__bitwriter_get_write_crc16()

FLAC__bool FLAC__bitwriter_get_write_crc16 ( FLAC__BitWriter * bw,
FLAC__uint16 * crc )

◆ FLAC__bitwriter_get_write_crc8()

FLAC__bool FLAC__bitwriter_get_write_crc8 ( FLAC__BitWriter * bw,
FLAC__byte * crc )

◆ FLAC__bitwriter_init()

FLAC__bool FLAC__bitwriter_init ( FLAC__BitWriter * bw)

◆ FLAC__bitwriter_is_byte_aligned()

FLAC__bool FLAC__bitwriter_is_byte_aligned ( const FLAC__BitWriter * bw)

◆ FLAC__bitwriter_new()

FLAC__BitWriter * FLAC__bitwriter_new ( void )

◆ FLAC__bitwriter_release_buffer()

void FLAC__bitwriter_release_buffer ( FLAC__BitWriter * bw)

◆ FLAC__bitwriter_rice_bits()

unsigned FLAC__bitwriter_rice_bits ( FLAC__int32 val,
unsigned parameter )

◆ FLAC__bitwriter_write_byte_block()

FLAC__bool FLAC__bitwriter_write_byte_block ( FLAC__BitWriter * bw,
const FLAC__byte vals[],
unsigned nvals )
inline

◆ FLAC__bitwriter_write_raw_int32()

FLAC__bool FLAC__bitwriter_write_raw_int32 ( FLAC__BitWriter * bw,
FLAC__int32 val,
unsigned bits )
inline

◆ FLAC__bitwriter_write_raw_uint32()

FLAC__bool FLAC__bitwriter_write_raw_uint32 ( FLAC__BitWriter * bw,
FLAC__uint32 val,
unsigned bits )
inline

◆ FLAC__bitwriter_write_raw_uint32_little_endian()

FLAC__bool FLAC__bitwriter_write_raw_uint32_little_endian ( FLAC__BitWriter * bw,
FLAC__uint32 val )
inline

◆ FLAC__bitwriter_write_raw_uint64()

FLAC__bool FLAC__bitwriter_write_raw_uint64 ( FLAC__BitWriter * bw,
FLAC__uint64 val,
unsigned bits )
inline

◆ FLAC__bitwriter_write_rice_signed()

FLAC__bool FLAC__bitwriter_write_rice_signed ( FLAC__BitWriter * bw,
FLAC__int32 val,
unsigned parameter )

◆ FLAC__bitwriter_write_rice_signed_block()

FLAC__bool FLAC__bitwriter_write_rice_signed_block ( FLAC__BitWriter * bw,
const FLAC__int32 * vals,
unsigned nvals,
unsigned parameter )

◆ FLAC__bitwriter_write_unary_unsigned()

FLAC__bool FLAC__bitwriter_write_unary_unsigned ( FLAC__BitWriter * bw,
unsigned val )

◆ FLAC__bitwriter_write_utf8_uint32()

FLAC__bool FLAC__bitwriter_write_utf8_uint32 ( FLAC__BitWriter * bw,
FLAC__uint32 val )

◆ FLAC__bitwriter_write_utf8_uint64()

FLAC__bool FLAC__bitwriter_write_utf8_uint64 ( FLAC__BitWriter * bw,
FLAC__uint64 val )

◆ FLAC__bitwriter_write_zeroes()

FLAC__bool FLAC__bitwriter_write_zeroes ( FLAC__BitWriter * bw,
unsigned bits )
inline

◆ FLAC__bitwriter_zero_pad_to_byte_boundary()

FLAC__bool FLAC__bitwriter_zero_pad_to_byte_boundary ( FLAC__BitWriter * bw)

Variable Documentation

◆ FLAC__BITWRITER_DEFAULT_CAPACITY

const unsigned FLAC__BITWRITER_DEFAULT_CAPACITY = 32768u / sizeof(uint32_t)
static

◆ FLAC__BITWRITER_DEFAULT_INCREMENT

const unsigned FLAC__BITWRITER_DEFAULT_INCREMENT = 4096u / sizeof(uint32_t)
static