static int mpegvideo_probe(AVProbeData *p)

{

    uint32_t code= -1;

    int pic=0, seq=0, slice=0, pspack=0, vpes=0, apes=0, res=0;

    int i;



    for(i=0; i<p->buf_size; i++){

        code = (code<<8) + p->buf[i];

        if ((code & 0xffffff00) == 0x100) {

            switch(code){

            case     SEQ_START_CODE:   seq++; break;

            case PICTURE_START_CODE:   pic++; break;

            case    PACK_START_CODE: pspack++; break;

            case              0x1b6:

                                        res++; break;

            }

            if (code >= SLICE_START_CODE && code <= 0x1af) slice++;

            if     ((code & 0x1f0) == VIDEO_ID)   vpes++;

            else if((code & 0x1e0) == AUDIO_ID)   apes++;

        }

    }

    if(seq && seq*9<=pic*10 && pic*9<=slice*10 && !pspack && !apes && !res) {

        if(vpes) return AVPROBE_SCORE_MAX/8;

        else     return pic>1 ? AVPROBE_SCORE_MAX/2+1 : AVPROBE_SCORE_MAX/4; // +1 for .mpg

    }

    return 0;

}

static int mpegvideo_probe(AVProbeData *p)

{

    uint32_t code= -1;

    int pic=0, seq=0, slice=0, pspack=0, vpes=0, apes=0, res=0;

    int i;



    for(i=0; i<p->buf_size; i++){

        code = (code<<8) + p->buf[i];

        if ((code & 0xffffff00) == 0x100) {

            switch(code){

            case     SEQ_START_CODE:   seq++; break;

            case PICTURE_START_CODE:   pic++; break;

            case    PACK_START_CODE: pspack++; break;

            case              0x1b6:

                                        res++; break;

            }

            if (code >= SLICE_START_CODE && code <= 0x1af) slice++;

            if     ((code & 0x1f0) == VIDEO_ID)   vpes++;

            else if((code & 0x1e0) == AUDIO_ID)   apes++;

        }

    }

    if(seq && seq*9<=pic*10 && pic*9<=slice*10 && !pspack && !apes && !res) {

        if(vpes) return AVPROBE_SCORE_MAX/8;

        else     return pic>1 ? AVPROBE_SCORE_MAX/2+1 : AVPROBE_SCORE_MAX/4; 

    }

    return 0;

}

static int FUNC_0(AVProbeData *VAR_0)

{

    uint32_t code= -1;

    int VAR_1=0, VAR_2=0, VAR_3=0, VAR_4=0, VAR_5=0, VAR_6=0, VAR_7=0;

    int VAR_8;



    for(VAR_8=0; VAR_8<VAR_0->buf_size; VAR_8++){

        code = (code<<8) + VAR_0->buf[VAR_8];

        if ((code & 0xffffff00) == 0x100) {

            switch(code){

            case     SEQ_START_CODE:   VAR_2++; break;

            case PICTURE_START_CODE:   VAR_1++; break;

            case    PACK_START_CODE: VAR_4++; break;

            case              0x1b6:

                                        VAR_7++; break;

            }

            if (code >= SLICE_START_CODE && code <= 0x1af) VAR_3++;

            if     ((code & 0x1f0) == VIDEO_ID)   VAR_5++;

            else if((code & 0x1e0) == AUDIO_ID)   VAR_6++;

        }

    }

    if(VAR_2 && VAR_2*9<=VAR_1*10 && VAR_1*9<=VAR_3*10 && !VAR_4 && !VAR_6 && !VAR_7) {

        if(VAR_5) return AVPROBE_SCORE_MAX/8;

        else     return VAR_1>1 ? AVPROBE_SCORE_MAX/2+1 : AVPROBE_SCORE_MAX/4; 

    }

    return 0;

}

static int FUNC_0(AVProbeData *VAR_0)
{ uint32_t code= -1; int VAR_1=0, VAR_2=0, VAR_3=0, VAR_4=0, VAR_5=0, VAR_6=0, VAR_7=0; int VAR_8; for(VAR_8=0; VAR_8<VAR_0->buf_size; VAR_8++){ code = (code<<8) + VAR_0->buf[VAR_8]; if ((code & 0xffffff00) == 0x100) { switch(code){ case     SEQ_START_CODE:   VAR_2++; break; case PICTURE_START_CODE:   VAR_1++; break; case    PACK_START_CODE: VAR_4++; break; case              0x1b6:
VAR_7++; break; } if (code >= SLICE_START_CODE && code <= 0x1af) VAR_3++; if     ((code & 0x1f0) == VIDEO_ID)   VAR_5++; else if((code & 0x1e0) == AUDIO_ID)   VAR_6++; } } if(VAR_2 && VAR_2*9<=VAR_1*10 && VAR_1*9<=VAR_3*10 && !VAR_4 && !VAR_6 && !VAR_7) { if(VAR_5) return AVPROBE_SCORE_MAX/8; else     return VAR_1>1 ? AVPROBE_SCORE_MAX/2+1 : AVPROBE_SCORE_MAX/4; } return 0; }