-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong Bounds Check for pic_parameter_set_id #56
Comments
This arises from mistakenly sharing a single |
Is there a need for a video in which this gets triggered? I can provide one. |
Using a single ParamSetId had the problem that Ids for pic_parameter_set and seq_parameter_set have different maximum allowed values. This change removes that original type and replaces it with seperate PicParamSetId and SeqParamSetId types. SeqParamSetId enforces a limit of 31 as before, but PicParamSetId enforces a limit of 255. Fixes #56
Using a single ParamSetId had the problem that Ids for pic_parameter_set and seq_parameter_set have different maximum allowed values. This change removes that original type and replaces it with seperate PicParamSetId and SeqParamSetId types. SeqParamSetId enforces a limit of 31 as before, but PicParamSetId enforces a limit of 255. Fixes #56
Using a single ParamSetId had the problem that Ids for pic_parameter_set and seq_parameter_set have different maximum allowed values. This change removes that original type and replaces it with seperate PicParamSetId and SeqParamSetId types. SeqParamSetId enforces a limit of 31 as before, but PicParamSetId enforces a limit of 255. Fixes #56
@astraw yes please - I would be happy to add a real PPS as a unit test |
Here is an MP4 file containing an h264 video track that triggers the issue for me. (I moved my .h264 file into an .mp4 file with |
Using a single ParamSetId had the problem that Ids for pic_parameter_set and seq_parameter_set have different maximum allowed values. This change removes that original type and replaces it with seperate PicParamSetId and SeqParamSetId types. SeqParamSetId enforces a limit of 31 as before, but PicParamSetId enforces a limit of 255. Fixes #56
Using a single ParamSetId had the problem that Ids for pic_parameter_set and seq_parameter_set have different maximum allowed values. This change removes that original type and replaces it with seperate PicParamSetId and SeqParamSetId types. SeqParamSetId enforces a limit of 31 as before, but PicParamSetId enforces a limit of 255. Fixes #56
Using a single ParamSetId had the problem that Ids for pic_parameter_set and seq_parameter_set have different maximum allowed values. This change removes that original type and replaces it with seperate PicParamSetId and SeqParamSetId types. SeqParamSetId enforces a limit of 31 as before, but PicParamSetId enforces a limit of 255. Fixes #56
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#L218Valid bitstreams can have
pic_parameter_set_id
s in the range [0, 255].The text was updated successfully, but these errors were encountered: