Comments (1)
Hmm, here's a thought. If all the readers were #![derive(Clone)
(the ReadBuf
for the NAL, the ReadBuf
for the RBSP, and the bitstream_io::BitReader
), has_more_rbsp_data
would be easy. It just needs to clone and look for two upcoming one bits [edit: minor correction: a one bit that isn't the very next bit]. The NAL and RBSP readers would be easy to make Clone
. Making bitstream_io::BitReader
Clone
would be be a feature request for bitstream_io
but I don't think they'd object. iirc just a plain #![derive(Clone)]
has an automatic where R: Clone
on it so this would be a one-line change to bitstream_io
.
finish
isn't too hard either as mentioned above.
I still don't see a way I'm in love with of having all the methods be trailing bit-aware. There's the seeking backward I described but that's kind of complicated. We could also have a second RBSP reader that marks the point where we're sure there's another one in the stream and compare their positions, but that's still complicated, and it doubles the RBSP decoding overhead. But maybe it's just not important to have them all be trailing bit-aware.
from h264-reader.
Related Issues (20)
- Work out how to support h265 syntax without duplicating lots of code HOT 1
- NalSwitch crash when forbidden zero bit set HOT 2
- Fuzzing: OOM in HrdParameters::read_cpb_specs() HOT 1
- release HOT 4
- release? HOT 1
- [Q] Install for those not familiar with Rust HOT 2
- Make SliceHeader fields pub? HOT 5
- Create simpler facades for decoding steps HOT 10
- Maybe wrong constants in PicScalingMatrix HOT 3
- It looks like VuiParameter parsing is slightly off HOT 7
- Parse SeqParameterSet fail with RbspReaderError(RemainingData) HOT 1
- Missing bounds-checks for VUI Bitstream Restriction Syntax Elements HOT 3
- Wrong Bounds Check for pic_parameter_set_id HOT 4
- Incorrect Parsing of Explicit Assignment Slice Groups
- Panic from 'attempt to add with overflow' in qs_y calculation HOT 1
- MVP example parsing NALs HOT 3
- Fields of `h264_reader::nal::slice::SliceHeader` are not `pub` HOT 1
- Reader example HOT 1
- convenience methods? HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from h264-reader.