static int decode_user_data(MpegEncContext *s, GetBitContext *gb){

    char buf[256];

    int i;

    int e;

    int ver, build, ver2, ver3;

    char last;



    for(i=0; i<255; i++){

        if(show_bits(gb, 23) == 0) break;

        buf[i]= get_bits(gb, 8);

    }

    buf[i]=0;



    /* divx detection */

    e=sscanf(buf, "DivX%dBuild%d%c", &ver, &build, &last);

    if(e<2)

        e=sscanf(buf, "DivX%db%d%c", &ver, &build, &last);

    if(e>=2){

        s->divx_version= ver;

        s->divx_build= build;

        s->divx_packed= e==3 && last=='p';

    }

    

    /* ffmpeg detection */

    e=sscanf(buf, "FFmpe%*[^b]b%d", &build)+3;

    if(e!=4)

        e=sscanf(buf, "FFmpeg v%d.%d.%d / libavcodec build: %d", &ver, &ver2, &ver3, &build); 

    if(e!=4){

        e=sscanf(buf, "Lavc%d.%d.%d", &ver, &ver2, &ver3)+1;

        build= (ver<<16) + (ver2<<8) + ver3;

    }

    if(e!=4){

        if(strcmp(buf, "ffmpeg")==0){

            s->lavc_build= 4600;

        }

    }

    if(e==4){

        s->lavc_build= build;

    }

    

    /* xvid detection */

    e=sscanf(buf, "XviD%d", &build);

    if(e==1){

        s->xvid_build= build;

    }



//printf("User Data: %s\n", buf);

    return 0;

}

static int decode_user_data(MpegEncContext *s, GetBitContext *gb){

    char buf[256];

    int i;

    int e;

    int ver, build, ver2, ver3;

    char last;



    for(i=0; i<255; i++){

        if(show_bits(gb, 23) == 0) break;

        buf[i]= get_bits(gb, 8);

    }

    buf[i]=0;



    

    e=sscanf(buf, "DivX%dBuild%d%c", &ver, &build, &last);

    if(e<2)

        e=sscanf(buf, "DivX%db%d%c", &ver, &build, &last);

    if(e>=2){

        s->divx_version= ver;

        s->divx_build= build;

        s->divx_packed= e==3 && last=='p';

    }

    

    

    e=sscanf(buf, "FFmpe%*[^b]b%d", &build)+3;

    if(e!=4)

        e=sscanf(buf, "FFmpeg v%d.%d.%d / libavcodec build: %d", &ver, &ver2, &ver3, &build); 

    if(e!=4){

        e=sscanf(buf, "Lavc%d.%d.%d", &ver, &ver2, &ver3)+1;

        build= (ver<<16) + (ver2<<8) + ver3;

    }

    if(e!=4){

        if(strcmp(buf, "ffmpeg")==0){

            s->lavc_build= 4600;

        }

    }

    if(e==4){

        s->lavc_build= build;

    }

    

    

    e=sscanf(buf, "XviD%d", &build);

    if(e==1){

        s->xvid_build= build;

    }





    return 0;

}

    int ver, build, ver2, ver3;     for(i=0; i<255; i++){         build= (ver<<16) + (ver2<<8) + ver3;
static int FUNC_0(MpegEncContext *VAR_0, GetBitContext *VAR_1){

    char VAR_2[256];

    int VAR_3;

    int VAR_4;

    int VAR_5, VAR_6, VAR_7, VAR_8;

    char VAR_9;



    for(VAR_3=0; VAR_3<255; VAR_3++){

        if(show_bits(VAR_1, 23) == 0) break;

        VAR_2[VAR_3]= get_bits(VAR_1, 8);

    }

    VAR_2[VAR_3]=0;



    

    VAR_4=sscanf(VAR_2, "DivX%dBuild%d%c", &VAR_5, &VAR_6, &VAR_9);

    if(VAR_4<2)

        VAR_4=sscanf(VAR_2, "DivX%db%d%c", &VAR_5, &VAR_6, &VAR_9);

    if(VAR_4>=2){

        VAR_0->divx_version= VAR_5;

        VAR_0->divx_build= VAR_6;

        VAR_0->divx_packed= VAR_4==3 && VAR_9=='p';

    }

    

    

    VAR_4=sscanf(VAR_2, "FFmpe%*[^b]b%d", &VAR_6)+3;

    if(VAR_4!=4)

        VAR_4=sscanf(VAR_2, "FFmpeg v%d.%d.%d / libavcodec VAR_6: %d", &VAR_5, &VAR_7, &VAR_8, &VAR_6); 

    if(VAR_4!=4){

        VAR_4=sscanf(VAR_2, "Lavc%d.%d.%d", &VAR_5, &VAR_7, &VAR_8)+1;

        VAR_6= (VAR_5<<16) + (VAR_7<<8) + VAR_8;

    }

    if(VAR_4!=4){

        if(strcmp(VAR_2, "ffmpeg")==0){

            VAR_0->lavc_build= 4600;

        }

    }

    if(VAR_4==4){

        VAR_0->lavc_build= VAR_6;

    }

    

    

    VAR_4=sscanf(VAR_2, "XviD%d", &VAR_6);

    if(VAR_4==1){

        VAR_0->xvid_build= VAR_6;

    }





    return 0;

}

static int FUNC_0(MpegEncContext *VAR_0, GetBitContext *VAR_1){ char VAR_2[256]; int VAR_3; int VAR_4; int VAR_5, VAR_6, VAR_7, VAR_8; char VAR_9; for(VAR_3=0; VAR_3<255; VAR_3++){ if(show_bits(VAR_1, 23) == 0) break; VAR_2[VAR_3]= get_bits(VAR_1, 8); } VAR_2[VAR_3]=0; VAR_4=sscanf(VAR_2, "DivX%dBuild%d%c", &VAR_5, &VAR_6, &VAR_9); if(VAR_4<2)
VAR_4=sscanf(VAR_2, "DivX%db%d%c", &VAR_5, &VAR_6, &VAR_9); if(VAR_4>=2){ VAR_0->divx_version= VAR_5; VAR_0->divx_build= VAR_6; VAR_0->divx_packed= VAR_4==3 && VAR_9=='p'; } VAR_4=sscanf(VAR_2, "FFmpe%*[^b]b%d", &VAR_6)+3; if(VAR_4!=4)
VAR_4=sscanf(VAR_2, "FFmpeg v%d.%d.%d / libavcodec VAR_6: %d", &VAR_5, &VAR_7, &VAR_8, &VAR_6); if(VAR_4!=4){ VAR_4=sscanf(VAR_2, "Lavc%d.%d.%d", &VAR_5, &VAR_7, &VAR_8)+1; VAR_6= (VAR_5<<16) + (VAR_7<<8) + VAR_8; } if(VAR_4!=4){ if(strcmp(VAR_2, "ffmpeg")==0){ VAR_0->lavc_build= 4600; } } if(VAR_4==4){ VAR_0->lavc_build= VAR_6; } VAR_4=sscanf(VAR_2, "XviD%d", &VAR_6); if(VAR_4==1){ VAR_0->xvid_build= VAR_6; } return 0; }