h264-reader icon indicating copy to clipboard operation
h264-reader copied to clipboard

Rust reader for H264 bitsream syntax

Results 13 h264-reader issues
Sort by recently updated
recently updated
newest added

Many pieces of functionality currently exposed by this create for decoding layers of the H264 spec exposes an API which... * accepts partial input * parses the data incrementally *...

**The problem** The call to `PicParameterSetExtra::read` is commented-out/broken. https://github.com/dholroyd/h264-reader/blob/aa5bb36e5d14f505f63dc9660ec82bc7213e6f57/src/nal/pps.rs#L252 https://github.com/dholroyd/h264-reader/blob/aa5bb36e5d14f505f63dc9660ec82bc7213e6f57/src/nal/pps.rs#L173-L176 I think I understand the problem now. Before I changed it, `has_more_rbsp_data` did the following: https://github.com/dholroyd/h264-reader/blob/c96301cf81163fabe9029c986421ecc448296bab/src/rbsp.rs#L287-L289 (`position` and `total_size` are...

What are your feelings on additional convenience methods / methods that interpret the raw fields? I find the H.264 spec rather dense and want to get a few "simple" things...

Lots of h264 syntax, as supported by this crate right now, is the same as h265. i.e. overall structure using _Network Abstraction Layer Units_. Work out a good way of...

Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version. Changelog Sourced from criterion's changelog. [0.4.0] - 2022-09-10 Removed The Criterion::can_plot function has been removed. The Criterion::bench_function_over_inputs function has been...

dependencies

Updates the requirements on [bitstream-io](https://github.com/tuffy/bitstream-io) to permit the latest version. Commits 1e54cf9 Bump version to 2.2.0 160db28 Simplify docs to use new read_as interface 97848f7 Add read_as_to and write_as_from to...

dependencies
rust

The `pic_parameter_set_id` is a ParamSetId struct, which checks if the ID is within [0, 31]: https://github.com/dholroyd/h264-reader/blob/master/src/nal/pps.rs#L218 Valid bitstreams can have `pic_parameter_set_id`s in the range [0, 255].

I tried using your lib to parse some H.264 stream. Let's say I have these NALs: ![image](https://github.com/dholroyd/h264-reader/assets/301288/21ce2ae7-953e-44ed-831e-fa1af9c58e91) And I have a function which splits them into NAL units like so...

https://github.com/dholroyd/h264-reader/blob/8cae2315eee5796b297a412d388c7cf797b386da/src/nal/slice/mod.rs#L602C74-L602C74 A missing bounds check in `pps.pic_init_qs_minus26` can cause an overflow when calculating `qs_y`. Here is an input with `pps.pic_init_qs_minus26` set to `-285` and `slice_qs_delta` set to `-2147483645`: ```rust vec![0x00,...

Currently, a `slice_group_map_type` of 6 calls [read_group_ids()](https://github.com/dholroyd/h264-reader/blob/master/src/nal/pps.rs#L127) which will use `pic_size_in_map_units_minus1` as the bit-length to read each `run_length_minus1` value, up to `num_slice_groups` times. The `pic_size_in_map_units_minus1` and `num_slice_groups` should be swapped...