ffmpeg | branch: master | wm4 <nfx...@googlemail.com> | Sat Oct 31 14:36:38 2015 +0100| [f128b8e19ac7f702adae899ab91cc1e80f238761] | committer: Luca Barbato
mov: detect cover art pictures by content I've got some m4a samples that had jpeg cover art marked as png. Since these files were supposedly written by iTunes, and other software can read it (e.g. clementine does), this should be worked around. Since png has a very simple to detect header, while it's apparently a real pain to detect jpeg in the general case, try to detect png and assume jpeg otherwise. Not bothering with bmp, as I have no test case. Signed-off-by: Luca Barbato <lu_z...@gentoo.org> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f128b8e19ac7f702adae899ab91cc1e80f238761 --- libavformat/mov.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 95dc1ee..9532213 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -200,6 +200,14 @@ static int mov_read_covr(MOVContext *c, AVIOContext *pb, int type, int len) if (ret < 0) return ret; + if (pkt.size >= 8 && id != AV_CODEC_ID_BMP) { + if (AV_RB64(pkt.data) == 0x89504e470d0a1a0a) { + id = AV_CODEC_ID_PNG; + } else { + id = AV_CODEC_ID_MJPEG; + } + } + st->disposition |= AV_DISPOSITION_ATTACHED_PIC; st->attached_pic = pkt; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog