pub trait BitRead {
// Required methods
fn read_ue(&mut self, name: &'static str) -> Result<u32, BitReaderError>;
fn read_se(&mut self, name: &'static str) -> Result<i32, BitReaderError>;
fn read_bool(&mut self, name: &'static str) -> Result<bool, BitReaderError>;
fn read<U: Numeric>(
&mut self,
bit_count: u32,
name: &'static str,
) -> Result<U, BitReaderError>;
fn read_to<V: Primitive>(
&mut self,
name: &'static str,
) -> Result<V, BitReaderError>;
fn skip(
&mut self,
bit_count: u32,
name: &'static str,
) -> Result<(), BitReaderError>;
fn has_more_rbsp_data(
&mut self,
name: &'static str,
) -> Result<bool, BitReaderError>;
fn finish_rbsp(self) -> Result<(), BitReaderError>;
fn finish_sei_payload(self) -> Result<(), BitReaderError>;
}Required Methods§
Sourcefn read_ue(&mut self, name: &'static str) -> Result<u32, BitReaderError>
fn read_ue(&mut self, name: &'static str) -> Result<u32, BitReaderError>
Reads an unsigned Exp-Golomb-coded value, as defined in the H.264 spec.
Sourcefn read_se(&mut self, name: &'static str) -> Result<i32, BitReaderError>
fn read_se(&mut self, name: &'static str) -> Result<i32, BitReaderError>
Reads a signed Exp-Golomb-coded value, as defined in the H.264 spec.
Sourcefn read_bool(&mut self, name: &'static str) -> Result<bool, BitReaderError>
fn read_bool(&mut self, name: &'static str) -> Result<bool, BitReaderError>
Reads a single bit, as in [crate::bitstream_io::read::BitRead::read_bool].
Sourcefn read<U: Numeric>(
&mut self,
bit_count: u32,
name: &'static str,
) -> Result<U, BitReaderError>
fn read<U: Numeric>( &mut self, bit_count: u32, name: &'static str, ) -> Result<U, BitReaderError>
Reads an unsigned value from the bitstream with the given number of bytes, as in
crate::bitstream_io::read::BitRead::read.
Sourcefn read_to<V: Primitive>(
&mut self,
name: &'static str,
) -> Result<V, BitReaderError>
fn read_to<V: Primitive>( &mut self, name: &'static str, ) -> Result<V, BitReaderError>
Reads a whole value from the bitstream whose size is equal to its byte size, as in
crate::bitstream_io::read::BitRead::read_to.
Sourcefn skip(
&mut self,
bit_count: u32,
name: &'static str,
) -> Result<(), BitReaderError>
fn skip( &mut self, bit_count: u32, name: &'static str, ) -> Result<(), BitReaderError>
Skips the given number of bits in the bitstream, as in
crate::bitstream_io::read::BitRead::skip.
Sourcefn has_more_rbsp_data(
&mut self,
name: &'static str,
) -> Result<bool, BitReaderError>
fn has_more_rbsp_data( &mut self, name: &'static str, ) -> Result<bool, BitReaderError>
Returns true if positioned before the RBSP trailing bits.
This matches the definition of more_rbsp_data() in Rec. ITU-T H.264
(03/2010) section 7.2.
Sourcefn finish_rbsp(self) -> Result<(), BitReaderError>
fn finish_rbsp(self) -> Result<(), BitReaderError>
Consumes the reader, returning error if it’s not positioned at the RBSP trailing bits.
Sourcefn finish_sei_payload(self) -> Result<(), BitReaderError>
fn finish_sei_payload(self) -> Result<(), BitReaderError>
Consumes the reader, returning error if this sei_payload message is unfinished.
This is similar to finish_rbsp, but SEI payloads have no trailing bits if
already byte-aligned.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.