static int xvid_strip_vol_header(AVCodecContext *avctx,

                  AVPacket *pkt,

                  unsigned int header_len,

                  unsigned int frame_len) {

    int vo_len = 0, i;



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

        if( pkt->data[i] == 0x00 &&

            pkt->data[i+1] == 0x00 &&

            pkt->data[i+2] == 0x01 &&

            pkt->data[i+3] == 0xB6 ) {

            vo_len = i;

            break;

        }

    }



    if( vo_len > 0 ) {

        /* We need to store the header, so extract it */

        if( avctx->extradata == NULL ) {

            avctx->extradata = av_malloc(vo_len);

            memcpy(avctx->extradata, pkt->data, vo_len);

            avctx->extradata_size = vo_len;

        }

        /* Less dangerous now, memmove properly copies the two

           chunks of overlapping data */

        memmove(pkt->data, &pkt->data[vo_len], frame_len - vo_len);

        pkt->size = frame_len - vo_len;

    }

    return 0;

}

static int xvid_strip_vol_header(AVCodecContext *avctx,

                  AVPacket *pkt,

                  unsigned int header_len,

                  unsigned int frame_len) {

    int vo_len = 0, i;



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

        if( pkt->data[i] == 0x00 &&

            pkt->data[i+1] == 0x00 &&

            pkt->data[i+2] == 0x01 &&

            pkt->data[i+3] == 0xB6 ) {

            vo_len = i;

            break;

        }

    }



    if( vo_len > 0 ) {

        

        if( avctx->extradata == NULL ) {

            avctx->extradata = av_malloc(vo_len);

            memcpy(avctx->extradata, pkt->data, vo_len);

            avctx->extradata_size = vo_len;

        }

        



        memmove(pkt->data, &pkt->data[vo_len], frame_len - vo_len);

        pkt->size = frame_len - vo_len;

    }

    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0,

                  AVPacket *VAR_1,

                  unsigned int VAR_2,

                  unsigned int VAR_3) {

    int VAR_4 = 0, VAR_5;



    for( VAR_5 = 0; VAR_5 < VAR_2 - 3; VAR_5++ ) {

        if( VAR_1->data[VAR_5] == 0x00 &&

            VAR_1->data[VAR_5+1] == 0x00 &&

            VAR_1->data[VAR_5+2] == 0x01 &&

            VAR_1->data[VAR_5+3] == 0xB6 ) {

            VAR_4 = VAR_5;

            break;

        }

    }



    if( VAR_4 > 0 ) {

        

        if( VAR_0->extradata == NULL ) {

            VAR_0->extradata = av_malloc(VAR_4);

            memcpy(VAR_0->extradata, VAR_1->data, VAR_4);

            VAR_0->extradata_size = VAR_4;

        }

        



        memmove(VAR_1->data, &VAR_1->data[VAR_4], VAR_3 - VAR_4);

        VAR_1->size = VAR_3 - VAR_4;

    }

    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0,
AVPacket *VAR_1,
unsigned int VAR_2,
unsigned int VAR_3) { int VAR_4 = 0, VAR_5; for( VAR_5 = 0; VAR_5 < VAR_2 - 3; VAR_5++ ) { if( VAR_1->data[VAR_5] == 0x00 &&
VAR_1->data[VAR_5+1] == 0x00 &&
VAR_1->data[VAR_5+2] == 0x01 &&
VAR_1->data[VAR_5+3] == 0xB6 ) { VAR_4 = VAR_5; break; } } if( VAR_4 > 0 ) { if( VAR_0->extradata == NULL ) { VAR_0->extradata = av_malloc(VAR_4); memcpy(VAR_0->extradata, VAR_1->data, VAR_4); VAR_0->extradata_size = VAR_4; } memmove(VAR_1->data, &VAR_1->data[VAR_4], VAR_3 - VAR_4); VAR_1->size = VAR_3 - VAR_4; } return 0; }