diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-07-05 04:12:08 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-05 04:12:12 +0200 |
commit | d5818c37f3219a4c6929c0401e6eacbfef3b843e (patch) | |
tree | 52054eb7730bee039a6b690088512e0526fdb436 | |
parent | 4216a5082bee6f5132702f5542d986ad4dcc1797 (diff) | |
parent | 810294ce3d3d9cceb3670a938379e2b2cba6cdc9 (diff) | |
download | ffmpeg-d5818c37f3219a4c6929c0401e6eacbfef3b843e.tar.gz |
Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
Use os/2 palette even if it contains less than 256 entries.
Assume that old bmps do not contain transparency information.
Do not detect jp2 images as mov files.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/bmp.c | 3 | ||||
-rw-r--r-- | libavformat/mov.c | 4 |
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; } |