Top | ![]() |
![]() |
![]() |
![]() |
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.
#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()
.
Since 0.10.22
#define GST_BIT_READER_INIT_FROM_BUFFER(buffer) {GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer), 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()
.
Since 0.10.22
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
Since 0.10.22
GstBitReader *
gst_bit_reader_new_from_buffer (const GstBuffer *buffer
);
Create a new GstBitReader instance, which will read from the
GstBuffer buffer
.
Free-function: gst_bit_reader_free
Since 0.10.22
void
gst_bit_reader_free (GstBitReader *reader
);
Frees a GstBitReader instance, which was previously allocated by
gst_bit_reader_new()
or gst_bit_reader_new_from_buffer()
.
Since 0.10.22
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.
reader |
a GstBitReader instance |
|
data |
data from which the bit reader should read. |
[in][array length=size] |
size |
Size of |
Since 0.10.22
void gst_bit_reader_init_from_buffer (GstBitReader *reader
,const GstBuffer *buffer
);
Initializes a GstBitReader instance to read from buffer
. This function
can be called on already initialized instances.
reader |
a GstBitReader instance |
|
buffer |
Buffer from which the GstBitReader should read. |
[transfer none] |
Since 0.10.22
guint
gst_bit_reader_get_pos (const GstBitReader *reader
);
Returns the current position of a GstBitReader instance in bits.
Since 0.10.22
guint
gst_bit_reader_get_remaining (const GstBitReader *reader
);
Returns the remaining number of bits of a GstBitReader instance.
Since 0.10.22
gboolean gst_bit_reader_set_pos (GstBitReader *reader
,guint pos
);
Sets the new position of a GstBitReader instance to pos
in bits.
Since 0.10.22
guint
gst_bit_reader_get_size (const GstBitReader *reader
);
Returns the total number of bits of a GstBitReader instance.
Since 0.10.26
gboolean gst_bit_reader_skip (GstBitReader *reader
,guint nbits
);
Skips nbits
bits of the GstBitReader instance.
Since 0.10.22
gboolean
gst_bit_reader_skip_to_byte (GstBitReader *reader
);
Skips until the next byte.
Since 0.10.22
gboolean gst_bit_reader_get_bits_uint16 (GstBitReader *reader
,guint16 *val
,guint nbits
);
Read nbits
bits into val
and update the current position.
reader |
a GstBitReader instance |
|
val |
Pointer to a guint16 to store the result. |
[out] |
nbits |
number of bits to read |
Since 0.10.22
gboolean gst_bit_reader_get_bits_uint32 (GstBitReader *reader
,guint32 *val
,guint nbits
);
Read nbits
bits into val
and update the current position.
reader |
a GstBitReader instance |
|
val |
Pointer to a guint32 to store the result. |
[out] |
nbits |
number of bits to read |
Since 0.10.22
gboolean gst_bit_reader_get_bits_uint64 (GstBitReader *reader
,guint64 *val
,guint nbits
);
Read nbits
bits into val
and update the current position.
reader |
a GstBitReader instance |
|
val |
Pointer to a guint64 to store the result. |
[out] |
nbits |
number of bits to read |
Since 0.10.22
gboolean gst_bit_reader_get_bits_uint8 (GstBitReader *reader
,guint8 *val
,guint nbits
);
Read nbits
bits into val
and update the current position.
reader |
a GstBitReader instance |
|
val |
Pointer to a guint8 to store the result. |
[out] |
nbits |
number of bits to read |
Since 0.10.22
gboolean gst_bit_reader_peek_bits_uint16 (const GstBitReader *reader
,guint16 *val
,guint nbits
);
Read nbits
bits into val
but keep the current position.
reader |
a GstBitReader instance |
|
val |
Pointer to a guint16 to store the result. |
[out] |
nbits |
number of bits to read |
Since 0.10.22
gboolean gst_bit_reader_peek_bits_uint32 (const GstBitReader *reader
,guint32 *val
,guint nbits
);
Read nbits
bits into val
but keep the current position.
reader |
a GstBitReader instance |
|
val |
Pointer to a guint32 to store the result. |
[out] |
nbits |
number of bits to read |
Since 0.10.22
gboolean gst_bit_reader_peek_bits_uint64 (const GstBitReader *reader
,guint64 *val
,guint nbits
);
Read nbits
bits into val
but keep the current position.
reader |
a GstBitReader instance |
|
val |
Pointer to a guint64 to store the result. |
[out] |
nbits |
number of bits to read |
Since 0.10.22
gboolean gst_bit_reader_peek_bits_uint8 (const GstBitReader *reader
,guint8 *val
,guint nbits
);
Read nbits
bits into val
but keep the current position.
reader |
a GstBitReader instance |
|
val |
Pointer to a guint8 to store the result. |
[out] |
nbits |
number of bits to read |
Since 0.10.22
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.
Since 0.10.31
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.
Since 0.10.31
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.
Since 0.10.31
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.
Since 0.10.31
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.
Since 0.10.31
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.
Since 0.10.31
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
Since 0.10.31
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
Since 0.10.31
guint64 gst_bit_reader_peek_bits_uint64_unchecked (const GstBitReader *reader
,guint nbits
);
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
Since 0.10.31