comparison mpeg12.c @ 10610:cf7af348a11a libavcodec

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.
author michael
date Tue, 01 Dec 2009 02:07:46 +0000
parents 6e672d7eb297
children 7f6911429cdc
comparison
equal deleted inserted replaced
10609:f864e7927dff 10610:cf7af348a11a
1692 skip_bits(&s->gb, 8); 1692 skip_bits(&s->gb, 8);
1693 } 1693 }
1694 1694
1695 s->mb_x=0; 1695 s->mb_x=0;
1696 1696
1697 if(mb_y==0 && s->codec_tag == AV_RL32("SLIF")){
1698 skip_bits1(&s->gb);
1699 }else{
1697 for(;;) { 1700 for(;;) {
1698 int code = get_vlc2(&s->gb, mbincr_vlc.table, MBINCR_VLC_BITS, 2); 1701 int code = get_vlc2(&s->gb, mbincr_vlc.table, MBINCR_VLC_BITS, 2);
1699 if (code < 0){ 1702 if (code < 0){
1700 av_log(s->avctx, AV_LOG_ERROR, "first mb_incr damaged\n"); 1703 av_log(s->avctx, AV_LOG_ERROR, "first mb_incr damaged\n");
1701 return -1; 1704 return -1;
1708 } else { 1711 } else {
1709 s->mb_x += code; 1712 s->mb_x += code;
1710 break; 1713 break;
1711 } 1714 }
1712 } 1715 }
1716 }
1717
1713 if(s->mb_x >= (unsigned)s->mb_width){ 1718 if(s->mb_x >= (unsigned)s->mb_width){
1714 av_log(s->avctx, AV_LOG_ERROR, "initial skip overflow\n"); 1719 av_log(s->avctx, AV_LOG_ERROR, "initial skip overflow\n");
1715 return -1; 1720 return -1;
1716 } 1721 }
1717 1722