static int mov_read_chpl(MOVContext *c, AVIOContext *pb, MOVAtom atom)

{

    int64_t start;

    int i, nb_chapters, str_len, version;

    char str[256+1];



    if ((atom.size -= 5) < 0)

        return 0;



    version = avio_r8(pb);

    avio_rb24(pb);

    if (version)

        avio_rb32(pb); // ???

    nb_chapters = avio_r8(pb);



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

        if (atom.size < 9)

            return 0;



        start = avio_rb64(pb);

        str_len = avio_r8(pb);



        if ((atom.size -= 9+str_len) < 0)

            return 0;



        avio_read(pb, str, str_len);

        str[str_len] = 0;

        avpriv_new_chapter(c->fc, i, (AVRational){1,10000000}, start, AV_NOPTS_VALUE, str);

    }

    return 0;

}

static int mov_read_chpl(MOVContext *c, AVIOContext *pb, MOVAtom atom)

{

    int64_t start;

    int i, nb_chapters, str_len, version;

    char str[256+1];



    if ((atom.size -= 5) < 0)

        return 0;



    version = avio_r8(pb);

    avio_rb24(pb);

    if (version)

        avio_rb32(pb); 

    nb_chapters = avio_r8(pb);



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

        if (atom.size < 9)

            return 0;



        start = avio_rb64(pb);

        str_len = avio_r8(pb);



        if ((atom.size -= 9+str_len) < 0)

            return 0;



        avio_read(pb, str, str_len);

        str[str_len] = 0;

        avpriv_new_chapter(c->fc, i, (AVRational){1,10000000}, start, AV_NOPTS_VALUE, str);

    }

    return 0;

}

        avio_read(pb, str, str_len);
static int FUNC_0(MOVContext *VAR_0, AVIOContext *VAR_1, MOVAtom VAR_2)

{

    int64_t start;

    int VAR_3, VAR_4, VAR_5, VAR_6;

    char VAR_7[256+1];



    if ((VAR_2.size -= 5) < 0)

        return 0;



    VAR_6 = avio_r8(VAR_1);

    avio_rb24(VAR_1);

    if (VAR_6)

        avio_rb32(VAR_1); 

    VAR_4 = avio_r8(VAR_1);



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

        if (VAR_2.size < 9)

            return 0;



        start = avio_rb64(VAR_1);

        VAR_5 = avio_r8(VAR_1);



        if ((VAR_2.size -= 9+VAR_5) < 0)

            return 0;



        avio_read(VAR_1, VAR_7, VAR_5);

        VAR_7[VAR_5] = 0;

        avpriv_new_chapter(VAR_0->fc, VAR_3, (AVRational){1,10000000}, start, AV_NOPTS_VALUE, VAR_7);

    }

    return 0;

}

static int FUNC_0(MOVContext *VAR_0, AVIOContext *VAR_1, MOVAtom VAR_2)
{ int64_t start; int VAR_3, VAR_4, VAR_5, VAR_6; char VAR_7[256+1]; if ((VAR_2.size -= 5) < 0)
return 0; VAR_6 = avio_r8(VAR_1); avio_rb24(VAR_1); if (VAR_6)
avio_rb32(VAR_1); VAR_4 = avio_r8(VAR_1); for (VAR_3 = 0; VAR_3 < VAR_4; VAR_3++) { if (VAR_2.size < 9)
return 0; start = avio_rb64(VAR_1); VAR_5 = avio_r8(VAR_1); if ((VAR_2.size -= 9+VAR_5) < 0)
return 0; avio_read(VAR_1, VAR_7, VAR_5); VAR_7[VAR_5] = 0; avpriv_new_chapter(VAR_0->fc, VAR_3, (AVRational){1,10000000}, start, AV_NOPTS_VALUE, VAR_7); } return 0; }