static int mov_write_avid_tag(AVIOContext *pb, MOVTrack *track)

{

    int i;

    avio_wb32(pb, 24); /* size */

    ffio_wfourcc(pb, "ACLR");

    ffio_wfourcc(pb, "ACLR");

    ffio_wfourcc(pb, "0001");

    if (track->enc->color_range == AVCOL_RANGE_MPEG || /* Legal range (16-235) */

        track->enc->color_range == AVCOL_RANGE_UNSPECIFIED) {

        avio_wb32(pb, 1); /* Corresponds to 709 in official encoder */

    } else { /* Full range (0-255) */

        avio_wb32(pb, 2); /* Corresponds to RGB in official encoder */

    }

    avio_wb32(pb, 0); /* unknown */



    avio_wb32(pb, 24); /* size */

    ffio_wfourcc(pb, "APRG");

    ffio_wfourcc(pb, "APRG");

    ffio_wfourcc(pb, "0001");

    avio_wb32(pb, 1); /* unknown */

    avio_wb32(pb, 0); /* unknown */



    avio_wb32(pb, 120); /* size */

    ffio_wfourcc(pb, "ARES");

    ffio_wfourcc(pb, "ARES");

    ffio_wfourcc(pb, "0001");

    avio_wb32(pb, AV_RB32(track->vos_data + 0x28)); /* dnxhd cid, some id ? */

    avio_wb32(pb, track->enc->width);

    /* values below are based on samples created with quicktime and avid codecs */

    if (track->vos_data[5] & 2) { // interlaced

        avio_wb32(pb, track->enc->height / 2);

        avio_wb32(pb, 2); /* unknown */

        avio_wb32(pb, 0); /* unknown */

        avio_wb32(pb, 4); /* unknown */

    } else {

        avio_wb32(pb, track->enc->height);

        avio_wb32(pb, 1); /* unknown */

        avio_wb32(pb, 0); /* unknown */

        if (track->enc->height == 1080)

            avio_wb32(pb, 5); /* unknown */

        else

            avio_wb32(pb, 6); /* unknown */

    }

    /* padding */

    for (i = 0; i < 10; i++)

        avio_wb64(pb, 0);



    /* extra padding for stsd needed */

    avio_wb32(pb, 0);

    return 0;

}

static int mov_write_avid_tag(AVIOContext *pb, MOVTrack *track)

{

    int i;

    avio_wb32(pb, 24); 

    ffio_wfourcc(pb, "ACLR");

    ffio_wfourcc(pb, "ACLR");

    ffio_wfourcc(pb, "0001");

    if (track->enc->color_range == AVCOL_RANGE_MPEG || 

        track->enc->color_range == AVCOL_RANGE_UNSPECIFIED) {

        avio_wb32(pb, 1); 

    } else { 

        avio_wb32(pb, 2); 

    }

    avio_wb32(pb, 0); 



    avio_wb32(pb, 24); 

    ffio_wfourcc(pb, "APRG");

    ffio_wfourcc(pb, "APRG");

    ffio_wfourcc(pb, "0001");

    avio_wb32(pb, 1); 

    avio_wb32(pb, 0); 



    avio_wb32(pb, 120); 

    ffio_wfourcc(pb, "ARES");

    ffio_wfourcc(pb, "ARES");

    ffio_wfourcc(pb, "0001");

    avio_wb32(pb, AV_RB32(track->vos_data + 0x28)); 

    avio_wb32(pb, track->enc->width);

    

    if (track->vos_data[5] & 2) { 

        avio_wb32(pb, track->enc->height / 2);

        avio_wb32(pb, 2); 

        avio_wb32(pb, 0); 

        avio_wb32(pb, 4); 

    } else {

        avio_wb32(pb, track->enc->height);

        avio_wb32(pb, 1); 

        avio_wb32(pb, 0); 

        if (track->enc->height == 1080)

            avio_wb32(pb, 5); 

        else

            avio_wb32(pb, 6); 

    }

    

    for (i = 0; i < 10; i++)

        avio_wb64(pb, 0);



    

    avio_wb32(pb, 0);

    return 0;

}

    avio_wb32(pb, 0);
static int FUNC_0(AVIOContext *VAR_0, MOVTrack *VAR_1)

{

    int VAR_2;

    avio_wb32(VAR_0, 24); 

    ffio_wfourcc(VAR_0, "ACLR");

    ffio_wfourcc(VAR_0, "ACLR");

    ffio_wfourcc(VAR_0, "0001");

    if (VAR_1->enc->color_range == AVCOL_RANGE_MPEG || 

        VAR_1->enc->color_range == AVCOL_RANGE_UNSPECIFIED) {

        avio_wb32(VAR_0, 1); 

    } else { 

        avio_wb32(VAR_0, 2); 

    }

    avio_wb32(VAR_0, 0); 



    avio_wb32(VAR_0, 24); 

    ffio_wfourcc(VAR_0, "APRG");

    ffio_wfourcc(VAR_0, "APRG");

    ffio_wfourcc(VAR_0, "0001");

    avio_wb32(VAR_0, 1); 

    avio_wb32(VAR_0, 0); 



    avio_wb32(VAR_0, 120); 

    ffio_wfourcc(VAR_0, "ARES");

    ffio_wfourcc(VAR_0, "ARES");

    ffio_wfourcc(VAR_0, "0001");

    avio_wb32(VAR_0, AV_RB32(VAR_1->vos_data + 0x28)); 

    avio_wb32(VAR_0, VAR_1->enc->width);

    

    if (VAR_1->vos_data[5] & 2) { 

        avio_wb32(VAR_0, VAR_1->enc->height / 2);

        avio_wb32(VAR_0, 2); 

        avio_wb32(VAR_0, 0); 

        avio_wb32(VAR_0, 4); 

    } else {

        avio_wb32(VAR_0, VAR_1->enc->height);

        avio_wb32(VAR_0, 1); 

        avio_wb32(VAR_0, 0); 

        if (VAR_1->enc->height == 1080)

            avio_wb32(VAR_0, 5); 

        else

            avio_wb32(VAR_0, 6); 

    }

    

    for (VAR_2 = 0; VAR_2 < 10; VAR_2++)

        avio_wb64(VAR_0, 0);



    

    avio_wb32(VAR_0, 0);

    return 0;

}

static int FUNC_0(AVIOContext *VAR_0, MOVTrack *VAR_1)
{ int VAR_2; avio_wb32(VAR_0, 24); ffio_wfourcc(VAR_0, "ACLR"); ffio_wfourcc(VAR_0, "ACLR"); ffio_wfourcc(VAR_0, "0001"); if (VAR_1->enc->color_range == AVCOL_RANGE_MPEG ||
VAR_1->enc->color_range == AVCOL_RANGE_UNSPECIFIED) { avio_wb32(VAR_0, 1); } else { avio_wb32(VAR_0, 2); } avio_wb32(VAR_0, 0); avio_wb32(VAR_0, 24); ffio_wfourcc(VAR_0, "APRG"); ffio_wfourcc(VAR_0, "APRG"); ffio_wfourcc(VAR_0, "0001"); avio_wb32(VAR_0, 1); avio_wb32(VAR_0, 0); avio_wb32(VAR_0, 120); ffio_wfourcc(VAR_0, "ARES"); ffio_wfourcc(VAR_0, "ARES"); ffio_wfourcc(VAR_0, "0001"); avio_wb32(VAR_0, AV_RB32(VAR_1->vos_data + 0x28)); avio_wb32(VAR_0, VAR_1->enc->width); if (VAR_1->vos_data[5] & 2) { avio_wb32(VAR_0, VAR_1->enc->height / 2); avio_wb32(VAR_0, 2); avio_wb32(VAR_0, 0); avio_wb32(VAR_0, 4); } else { avio_wb32(VAR_0, VAR_1->enc->height); avio_wb32(VAR_0, 1); avio_wb32(VAR_0, 0); if (VAR_1->enc->height == 1080)
avio_wb32(VAR_0, 5); else
avio_wb32(VAR_0, 6); } for (VAR_2 = 0; VAR_2 < 10; VAR_2++) avio_wb64(VAR_0, 0); avio_wb32(VAR_0, 0); return 0; }