[SCM] libav/experimental: slif aka "SoftLab MPEG-2 I-frames Codec" support. Flipping one bit still is popular it seems as a means to create a new codec. fixes issue1469.
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:55:15 UTC 2013
The following commit has been merged in the experimental branch:
commit 483aad717e898c265fde51e1a837e51bedff6faa
Author: Michael Niedermayer <michaelni at gmx.at>
Date: Tue Dec 1 02:07:46 2009 +0000
slif aka "SoftLab MPEG-2 I-frames Codec" support.
Flipping one bit still is popular it seems as a means to create a new codec.
fixes issue1469.
Originally committed as revision 20679 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index 6680db2..b9896ae 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -1694,6 +1694,9 @@ static int mpeg_decode_slice(Mpeg1Context *s1, int mb_y,
s->mb_x=0;
+ if(mb_y==0 && s->codec_tag == AV_RL32("SLIF")){
+ skip_bits1(&s->gb);
+ }else{
for(;;) {
int code = get_vlc2(&s->gb, mbincr_vlc.table, MBINCR_VLC_BITS, 2);
if (code < 0){
@@ -1710,6 +1713,8 @@ static int mpeg_decode_slice(Mpeg1Context *s1, int mb_y,
break;
}
}
+ }
+
if(s->mb_x >= (unsigned)s->mb_width){
av_log(s->avctx, AV_LOG_ERROR, "initial skip overflow\n");
return -1;
diff --git a/libavformat/riff.c b/libavformat/riff.c
index faaa194..3ea3242 100644
--- a/libavformat/riff.c
+++ b/libavformat/riff.c
@@ -116,6 +116,7 @@ const AVCodecTag ff_codec_bmp_tags[] = {
{ CODEC_ID_MPEG2VIDEO, MKTAG('D', 'V', 'R', ' ') },
{ CODEC_ID_MPEG2VIDEO, MKTAG('M', 'M', 'E', 'S') },
{ CODEC_ID_MPEG2VIDEO, MKTAG('L', 'M', 'P', '2') }, /* Lead MPEG2 in avi */
+ { CODEC_ID_MPEG2VIDEO, MKTAG('s', 'l', 'i', 'f') },
{ CODEC_ID_MJPEG, MKTAG('M', 'J', 'P', 'G') },
{ CODEC_ID_MJPEG, MKTAG('L', 'J', 'P', 'G') },
{ CODEC_ID_MJPEG, MKTAG('d', 'm', 'b', '1') },
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list