static int analyze(const uint8_t *buf, int size, int packet_size, int *index,

                   int probe)

{

    int stat[TS_MAX_PACKET_SIZE];

    int stat_all = 0;

    int i;

    int best_score = 0;



    memset(stat, 0, packet_size * sizeof(*stat));



    for (i = 0; i < size - 3; i++) {

        if (buf[i] == 0x47 &&

            (!probe || (!(buf[i + 1] & 0x80) && buf[i + 3] != 0x47))) {

            int x = i % packet_size;

            stat[x]++;

            stat_all++;

            if (stat[x] > best_score) {

                best_score = stat[x];

                if (index)

                    *index = x;

            }

        }

    }



    return best_score - FFMAX(stat_all - 10*best_score, 0)/10;

}

static int analyze(const uint8_t *buf, int size, int packet_size, int *index,

                   int probe)

{

    int stat[TS_MAX_PACKET_SIZE];

    int stat_all = 0;

    int i;

    int best_score = 0;



    memset(stat, 0, packet_size * sizeof(*stat));



    for (i = 0; i < size - 3; i++) {

        if (buf[i] == 0x47 &&

            (!probe || (!(buf[i + 1] & 0x80) && buf[i + 3] != 0x47))) {

            int x = i % packet_size;

            stat[x]++;

            stat_all++;

            if (stat[x] > best_score) {

                best_score = stat[x];

                if (index)

                    *index = x;

            }

        }

    }



    return best_score - FFMAX(stat_all - 10*best_score, 0)/10;

}

static int FUNC_0(const uint8_t *VAR_0, int VAR_1, int VAR_2, int *VAR_3,

                   int VAR_4)

{

    int VAR_5[TS_MAX_PACKET_SIZE];

    int VAR_6 = 0;

    int VAR_7;

    int VAR_8 = 0;



    memset(VAR_5, 0, VAR_2 * sizeof(*VAR_5));



    for (VAR_7 = 0; VAR_7 < VAR_1 - 3; VAR_7++) {

        if (VAR_0[VAR_7] == 0x47 &&

            (!VAR_4 || (!(VAR_0[VAR_7 + 1] & 0x80) && VAR_0[VAR_7 + 3] != 0x47))) {

            int VAR_9 = VAR_7 % VAR_2;

            VAR_5[VAR_9]++;

            VAR_6++;

            if (VAR_5[VAR_9] > VAR_8) {

                VAR_8 = VAR_5[VAR_9];

                if (VAR_3)

                    *VAR_3 = VAR_9;

            }

        }

    }



    return VAR_8 - FFMAX(VAR_6 - 10*VAR_8, 0)/10;

}

static int FUNC_0(const uint8_t *VAR_0, int VAR_1, int VAR_2, int *VAR_3,
int VAR_4)
{ int VAR_5[TS_MAX_PACKET_SIZE]; int VAR_6 = 0; int VAR_7; int VAR_8 = 0; memset(VAR_5, 0, VAR_2 * sizeof(*VAR_5)); for (VAR_7 = 0; VAR_7 < VAR_1 - 3; VAR_7++) { if (VAR_0[VAR_7] == 0x47 &&
(!VAR_4 || (!(VAR_0[VAR_7 + 1] & 0x80) && VAR_0[VAR_7 + 3] != 0x47))) { int VAR_9 = VAR_7 % VAR_2; VAR_5[VAR_9]++; VAR_6++; if (VAR_5[VAR_9] > VAR_8) { VAR_8 = VAR_5[VAR_9]; if (VAR_3)
*VAR_3 = VAR_9; } } } return VAR_8 - FFMAX(VAR_6 - 10*VAR_8, 0)/10; }