aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Zimmerman2014-10-09 10:12:44 -0700
committerMichael Niedermayer2014-10-24 19:36:09 +0200
commit4ba5420e4d3699b89c9f7f15928cd486f88e9562 (patch)
tree41914667254e1abf0ff4116f2f5a77aa7ae28c93
parent4641ae352ec587355764ffd5c43dd0d0ebd47654 (diff)
Added support for G2M5 codec
This has also been independently found and fixed similarly by carl in f4a3bbf4a3cd375121ea2495817f3e50e831ed48 The 2nd magic check is taken from carls implementation Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/g2meet.c4
-rw-r--r--libavformat/riff.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index 1004e1921e..41ad943150 100644
--- a/libavcodec/g2meet.c
+++ b/libavcodec/g2meet.c
@@ -683,12 +683,12 @@ static int g2m_decode_frame(AVCodecContext *avctx, void *data,
magic = bytestream2_get_be32(&bc);
if ((magic & ~0xF) != MKBETAG('G', '2', 'M', '0') ||
- (magic & 0xF) < 2 || (magic & 0xF) > 4) {
+ (magic & 0xF) < 2 || (magic & 0xF) > 5) {
av_log(avctx, AV_LOG_ERROR, "Wrong magic %08X\n", magic);
return AVERROR_INVALIDDATA;
}
- if ((magic & 0xF) != 4) {
+ if ((magic & 0xF) < 4) {
av_log(avctx, AV_LOG_ERROR, "G2M2 and G2M3 are not yet supported\n");
return AVERROR(ENOSYS);
}
diff --git a/libavformat/riff.c b/libavformat/riff.c
index 99fee626fa..c63e406be4 100644
--- a/libavformat/riff.c
+++ b/libavformat/riff.c
@@ -360,6 +360,7 @@ const AVCodecTag ff_codec_bmp_tags[] = {
{ AV_CODEC_ID_G2M, MKTAG('G', '2', 'M', '2') },
{ AV_CODEC_ID_G2M, MKTAG('G', '2', 'M', '3') },
{ AV_CODEC_ID_G2M, MKTAG('G', '2', 'M', '4') },
+ { AV_CODEC_ID_G2M, MKTAG('G', '2', 'M', '5') },
{ AV_CODEC_ID_FIC, MKTAG('F', 'I', 'C', 'V') },
{ AV_CODEC_ID_NONE, 0 }
};