summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-06-06 14:01:43 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-06-06 14:01:43 +0200
commitbfe945ac3a0c328371dc4b4cc3409b7da5784cb8 (patch)
tree4ddd94b025b01c7c382744d74acc6ecf748cf00a
parentb5bc436ebc57ec60d87f86008a1888fbfb4099bc (diff)
avcodec/bmp_parser: Fix frame_start_found in cross frame cases
Fixes part of ticket 5598 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/bmp_parser.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/bmp_parser.c b/libavcodec/bmp_parser.c
index b06e3e84ef..c9fe153de1 100644
--- a/libavcodec/bmp_parser.c
+++ b/libavcodec/bmp_parser.c
@@ -91,7 +91,10 @@ flush:
if (ff_combine_frame(&bpc->pc, next, &buf, &buf_size) < 0)
return buf_size;
- bpc->pc.frame_start_found = 0;
+ if (next != END_NOT_FOUND && next < 0)
+ bpc->pc.frame_start_found = FFMAX(bpc->pc.frame_start_found - i - 1, 0);
+ else
+ bpc->pc.frame_start_found = 0;
*poutbuf = buf;
*poutbuf_size = buf_size;