[FFmpeg-cvslog] avcodec/bmp_parser: delay frame end detection to the next header or EOF
Michael Niedermayer
git at videolan.org
Sat Sep 13 17:58:44 CEST 2014
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Sep 13 17:46:18 2014 +0200| [ceb2fe027fec2bf8f1847d8a9676630583031e65] | committer: Michael Niedermayer
avcodec/bmp_parser: delay frame end detection to the next header or EOF
Fixes Ticket3687
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ceb2fe027fec2bf8f1847d8a9676630583031e65
---
libavcodec/bmp_parser.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/libavcodec/bmp_parser.c b/libavcodec/bmp_parser.c
index b5845ed..c9493dc 100644
--- a/libavcodec/bmp_parser.c
+++ b/libavcodec/bmp_parser.c
@@ -62,11 +62,13 @@ restart:
bpc->pc.frame_start_found = 0;
continue;
}
- if (bpc->fsize <= ihsize + 14)
- bpc->fsize = INT_MAX/2;
bpc->pc.frame_start_found++;
bpc->remaining_size = bpc->fsize + i - 17;
- goto restart;
+
+ if (bpc->pc.index + i > 17) {
+ next = i - 17;
+ } else
+ goto restart;
} else if (bpc->pc.frame_start_found)
bpc->pc.frame_start_found++;
}
@@ -77,7 +79,9 @@ restart:
bpc->remaining_size -= i;
if (bpc->remaining_size)
goto flush;
- next = i;
+
+ bpc->pc.frame_start_found = 0;
+ goto restart;
}
}
More information about the ffmpeg-cvslog
mailing list