On Wed, 04. Dec 01:39, Andreas Rheinhardt wrote: > On Wed, Dec 4, 2019 at 1:04 AM Andriy Gelman <andriy.gel...@gmail.com> > wrote: > > > From: Andriy Gelman <andriy.gel...@gmail.com> > > > > Since the nal unit payload is located after the length prefix, there is > > no reason to continue reading if there is no nal unit payload remaining. > > --- > > libavcodec/hevc_mp4toannexb_bsf.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/libavcodec/hevc_mp4toannexb_bsf.c > > b/libavcodec/hevc_mp4toannexb_bsf.c > > index faf516634b2..c0968b63239 100644 > > --- a/libavcodec/hevc_mp4toannexb_bsf.c > > +++ b/libavcodec/hevc_mp4toannexb_bsf.c > > @@ -136,7 +136,7 @@ static int hevc_mp4toannexb_filter(AVBSFContext *ctx, > > AVPacket *out) > > > > bytestream2_init(&gb, in->data, in->size); > > > > - while (bytestream2_get_bytes_left(&gb)) { > > + while (bytestream2_get_bytes_left(&gb) > s->length_size) { > > > > So if there is some data left, you simply ignore it. It could also be > argued that this is invalid data. > (The packet you are dealing with here is padded btw, so you don't need to > worry about reading beyond the end when reading the size field; which > actually can't happen anyway, because the safe version of the bytestream > API is used throughout.)
I suppose it would be invalid data. If there are <= s->length_size bytes left then there is no nal unit payload and there is no point to even parse nalu_size. Plus you avoid calling av_grow_packet() an extra time. Thanks, -- Andriy _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".