Top |
Functions
Description
GstBitReader provides a bit reader that can read any number of bits from a memory buffer. It provides functions for reading any number of bits into 8, 16, 32 and 64 bit variables.
Functions
GST_BIT_READER_INIT()
#define GST_BIT_READER_INIT(data, size) {data, size, 0, 0}
A GstBitReader must be initialized with this macro, before it can be
used. This macro can used be to initialize a variable, but it cannot
be assigned to a variable. In that case you have to use
gst_bit_reader_init()
.
gst_bit_reader_new ()
GstBitReader * gst_bit_reader_new (const guint8 *data
,guint size
);
Create a new GstBitReader instance, which will read from data
.
Free-function: gst_bit_reader_free
[skip]
Parameters
data |
Data from which the GstBitReader should read. |
[array length=size] |
size |
Size of |
gst_bit_reader_free ()
void
gst_bit_reader_free (GstBitReader *reader
);
Frees a GstBitReader instance, which was previously allocated by
gst_bit_reader_new()
.
gst_bit_reader_init ()
void gst_bit_reader_init (GstBitReader *reader
,const guint8 *data
,guint size
);
Initializes a GstBitReader instance to read from data
. This function
can be called on already initialized instances.
Parameters
reader |
a GstBitReader instance |
|
data |
data from which the bit reader should read. |
[in][array length=size] |
size |
Size of |
gst_bit_reader_get_pos ()
guint
gst_bit_reader_get_pos (const GstBitReader *reader
);
Returns the current position of a GstBitReader instance in bits.
gst_bit_reader_get_remaining ()
guint
gst_bit_reader_get_remaining (const GstBitReader *reader
);
Returns the remaining number of bits of a GstBitReader instance.
gst_bit_reader_set_pos ()
gboolean gst_bit_reader_set_pos (GstBitReader *reader
,guint pos
);
Sets the new position of a GstBitReader instance to pos
in bits.
gst_bit_reader_get_size ()
guint
gst_bit_reader_get_size (const GstBitReader *reader
);
Returns the total number of bits of a GstBitReader instance.
gst_bit_reader_skip ()
gboolean gst_bit_reader_skip (GstBitReader *reader
,guint nbits
);
Skips nbits
bits of the GstBitReader instance.
gst_bit_reader_skip_to_byte ()
gboolean
gst_bit_reader_skip_to_byte (GstBitReader *reader
);
Skips until the next byte.
gst_bit_reader_get_bits_uint16 ()
gboolean gst_bit_reader_get_bits_uint16 (GstBitReader *reader
,guint16 *val
,guint nbits
);
Read nbits
bits into val
and update the current position.
Parameters
reader |
a GstBitReader instance |
|
val |
Pointer to a guint16 to store the result. |
[out] |
nbits |
number of bits to read |
gst_bit_reader_get_bits_uint32 ()
gboolean gst_bit_reader_get_bits_uint32 (GstBitReader *reader
,guint32 *val
,guint nbits
);
Read nbits
bits into val
and update the current position.
Parameters
reader |
a GstBitReader instance |
|
val |
Pointer to a guint32 to store the result. |
[out] |
nbits |
number of bits to read |
gst_bit_reader_get_bits_uint64 ()
gboolean gst_bit_reader_get_bits_uint64 (GstBitReader *reader
,guint64 *val
,guint nbits
);
Read nbits
bits into val
and update the current position.
Parameters
reader |
a GstBitReader instance |
|
val |
Pointer to a guint64 to store the result. |
[out] |
nbits |
number of bits to read |
gst_bit_reader_get_bits_uint8 ()
gboolean gst_bit_reader_get_bits_uint8 (GstBitReader *reader
,guint8 *val
,guint nbits
);
Read nbits
bits into val
and update the current position.
Parameters
reader |
a GstBitReader instance |
|
val |
Pointer to a guint8 to store the result. |
[out] |
nbits |
number of bits to read |
gst_bit_reader_peek_bits_uint16 ()
gboolean gst_bit_reader_peek_bits_uint16 (const GstBitReader *reader
,guint16 *val
,guint nbits
);
Read nbits
bits into val
but keep the current position.
Parameters
reader |
a GstBitReader instance |
|
val |
Pointer to a guint16 to store the result. |
[out] |
nbits |
number of bits to read |
gst_bit_reader_peek_bits_uint32 ()
gboolean gst_bit_reader_peek_bits_uint32 (const GstBitReader *reader
,guint32 *val
,guint nbits
);
Read nbits
bits into val
but keep the current position.
Parameters
reader |
a GstBitReader instance |
|
val |
Pointer to a guint32 to store the result. |
[out] |
nbits |
number of bits to read |
gst_bit_reader_peek_bits_uint64 ()
gboolean gst_bit_reader_peek_bits_uint64 (const GstBitReader *reader
,guint64 *val
,guint nbits
);
Read nbits
bits into val
but keep the current position.
Parameters
reader |
a GstBitReader instance |
|
val |
Pointer to a guint64 to store the result. |
[out] |
nbits |
number of bits to read |
gst_bit_reader_peek_bits_uint8 ()
gboolean gst_bit_reader_peek_bits_uint8 (const GstBitReader *reader
,guint8 *val
,guint nbits
);
Read nbits
bits into val
but keep the current position.
Parameters
reader |
a GstBitReader instance |
|
val |
Pointer to a guint8 to store the result. |
[out] |
nbits |
number of bits to read |
gst_bit_reader_skip_unchecked ()
void gst_bit_reader_skip_unchecked (GstBitReader *reader
,guint nbits
);
Skips nbits
bits of the GstBitReader instance without checking if there
are enough bits available in the bit reader.
gst_bit_reader_skip_to_byte_unchecked ()
void
gst_bit_reader_skip_to_byte_unchecked (GstBitReader *reader
);
Skips until the next byte without checking if there are enough bits available in the bit reader.
gst_bit_reader_get_bits_uint16_unchecked ()
guint16 gst_bit_reader_get_bits_uint16_unchecked (GstBitReader *reader
,guint nbits
);
Read nbits
bits into val
and update the current position without
checking if there are enough bits available in the bit reader.
gst_bit_reader_get_bits_uint32_unchecked ()
guint32 gst_bit_reader_get_bits_uint32_unchecked (GstBitReader *reader
,guint nbits
);
Read nbits
bits into val
and update the current position without
checking if there are enough bits available in the bit reader.
gst_bit_reader_get_bits_uint64_unchecked ()
guint64 gst_bit_reader_get_bits_uint64_unchecked (GstBitReader *reader
,guint nbits
);
Read nbits
bits into val
and update the current position without
checking if there are enough bits available in the bit reader.
gst_bit_reader_get_bits_uint8_unchecked ()
guint8 gst_bit_reader_get_bits_uint8_unchecked (GstBitReader *reader
,guint nbits
);
Read nbits
bits into val
and update the current position without
checking if there are enough bits available in the bit reader.
gst_bit_reader_peek_bits_uint16_unchecked ()
guint16 gst_bit_reader_peek_bits_uint16_unchecked (const GstBitReader *reader
,guint nbits
);
Read nbits
bits into val
but keep the current position without
checking if there are enough bits available in the bit reader
gst_bit_reader_peek_bits_uint32_unchecked ()
guint32 gst_bit_reader_peek_bits_uint32_unchecked (const GstBitReader *reader
,guint nbits
);
Read nbits
bits into val
but keep the current position without
checking if there are enough bits available in the bit reader
gst_bit_reader_peek_bits_uint64_unchecked ()
guint64 gst_bit_reader_peek_bits_uint64_unchecked (const GstBitReader *reader
,guint nbits
);
Read nbits
bits into val
but keep the current position without
checking if there are enough bits available in the bit reader
gst_bit_reader_peek_bits_uint8_unchecked ()
guint8 gst_bit_reader_peek_bits_uint8_unchecked (const GstBitReader *reader
,guint nbits
);
Read nbits
bits into val
but keep the current position without
checking if there are enough bits available in the bit reader