ffmpeg | branch: master | Tomas Härdin <g...@haerdin.se> | Fri May 20 11:38:25 2022 +0200| [1ee994e168dfdbed2909570e3b479b790cb2b0e8] | committer: Tomas Härdin
libavcodec/jpeg2000_parser: Speed up long skips > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1ee994e168dfdbed2909570e3b479b790cb2b0e8 --- libavcodec/jpeg2000_parser.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libavcodec/jpeg2000_parser.c b/libavcodec/jpeg2000_parser.c index 2975e71482..34a5487e90 100644 --- a/libavcodec/jpeg2000_parser.c +++ b/libavcodec/jpeg2000_parser.c @@ -95,6 +95,17 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ state64 = state64 << 8 | buf[i]; m->bytes_read++; if (m->skip_bytes) { + // handle long skips + if (m->skip_bytes > 8) { + // need -9 else buf_size - i == 8 ==> i == buf_size after this, + // and thus i == buf_size + 1 after the loop + int skip = FFMIN(FFMIN((int64_t)m->skip_bytes - 8, buf_size - i - 9), INT_MAX); + if (skip > 0) { + m->skip_bytes -= skip; + i += skip; + m->bytes_read += skip; + } + } m->skip_bytes--; continue; } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".