if(get_bits(&s->gb, 19)!=DC_MARKER){
if(get_bits_long(&s->gb, 19)!=DC_MARKER){
int ff_mpeg4_decode_partitions(MpegEncContext *s){    int mb_num;    const int part_a_error= s->pict_type==I_TYPE ? (DC_ERROR|MV_ERROR) : MV_ERROR;    const int part_a_end  = s->pict_type==I_TYPE ? (DC_END  |MV_END)   : MV_END;        mb_num= mpeg4_decode_partition_a(s);        if(mb_num<0){        ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, part_a_error);        return -1;    }        if(s->resync_mb_x + s->resync_mb_y*s->mb_width + mb_num > s->mb_num){        fprintf(stderr, "slice below monitor ...\n");        ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, part_a_error);        return -1;    }    s->mb_num_left= mb_num;            if(s->pict_type==I_TYPE){        if(get_bits(&s->gb, 19)!=DC_MARKER){            fprintf(stderr, "marker missing after first I partition at %d %d\n", s->mb_x, s->mb_y);            return -1;        }    }else{        if(get_bits(&s->gb, 17)!=MOTION_MARKER){            fprintf(stderr, "marker missing after first P partition at %d %d\n", s->mb_x, s->mb_y);            return -1;        }    }    ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x-1, s->mb_y, part_a_end);        if( mpeg4_decode_partition_b(s, mb_num) < 0){        if(s->pict_type==P_TYPE)            ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, DC_ERROR);        return -1;    }else{        if(s->pict_type==P_TYPE)            ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x-1, s->mb_y, DC_END);    }    return 0;        }