Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/bmp.c3
-rw-r--r--libavformat/mov.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/libavcodec/bmp.c b/libavcodec/bmp.c
index 7443fa9772..458fd0c768 100644
--- a/libavcodec/bmp.c
+++ b/libavcodec/bmp.c
@@ -128,6 +128,7 @@ static int bmp_decode_frame(AVCodecContext *avctx,
rgb[0] = bytestream_get_le32(&buf);
rgb[1] = bytestream_get_le32(&buf);
rgb[2] = bytestream_get_le32(&buf);
+ if (ihsize > 40)
alpha = bytestream_get_le32(&buf);
}
@@ -247,6 +248,8 @@ static int bmp_decode_frame(AVCodecContext *avctx,
} else if (t) {
colors = t;
}
+ } else {
+ colors = FFMIN(256, (hsize-ihsize-14) / 3);
}
buf = buf0 + 14 + ihsize; //palette location
// OS/2 bitmap, 3 bytes per palette entry
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 03ed6d4220..89ecc5400b 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3264,7 +3264,6 @@ static int mov_probe(AVProbeData *p)
/* check for obvious tags */
case MKTAG('m','o','o','v'):
moov_offset = offset + 4;
- case MKTAG('j','P',' ',' '): /* jpeg 2000 signature */
case MKTAG('m','d','a','t'):
case MKTAG('p','n','o','t'): /* detect movs with preview pics like ew.mov and april.mov */
case MKTAG('u','d','t','a'): /* Packet Video PVAuthor adds this and a lot of more junk */
@@ -3274,6 +3273,9 @@ static int mov_probe(AVProbeData *p)
offset + 12 > (unsigned int)p->buf_size ||
AV_RB64(p->buf+offset + 8) == 0)) {
score = FFMAX(score, AVPROBE_SCORE_EXTENSION);
+ } else if (tag == MKTAG('f','t','y','p') &&
+ AV_RL32(p->buf + offset + 8) == MKTAG('j','p','2',' ')) {
+ score = FFMAX(score, 5);
} else {
score = AVPROBE_SCORE_MAX;
}