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>
This commit is contained in:
parent
4641ae352e
commit
4ba5420e4d
@ -683,12 +683,12 @@ static int g2m_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
|
|
||||||
magic = bytestream2_get_be32(&bc);
|
magic = bytestream2_get_be32(&bc);
|
||||||
if ((magic & ~0xF) != MKBETAG('G', '2', 'M', '0') ||
|
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);
|
av_log(avctx, AV_LOG_ERROR, "Wrong magic %08X\n", magic);
|
||||||
return AVERROR_INVALIDDATA;
|
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");
|
av_log(avctx, AV_LOG_ERROR, "G2M2 and G2M3 are not yet supported\n");
|
||||||
return AVERROR(ENOSYS);
|
return AVERROR(ENOSYS);
|
||||||
}
|
}
|
||||||
|
@ -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', '2') },
|
||||||
{ AV_CODEC_ID_G2M, MKTAG('G', '2', 'M', '3') },
|
{ 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', '4') },
|
||||||
|
{ AV_CODEC_ID_G2M, MKTAG('G', '2', 'M', '5') },
|
||||||
{ AV_CODEC_ID_FIC, MKTAG('F', 'I', 'C', 'V') },
|
{ AV_CODEC_ID_FIC, MKTAG('F', 'I', 'C', 'V') },
|
||||||
{ AV_CODEC_ID_NONE, 0 }
|
{ AV_CODEC_ID_NONE, 0 }
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user