skip_bits(&s,4);
skip_bits(&s,3);
uint8_t extractMpeg4Info(uint8_t *data,uint32_t dataSize,uint32_t *w,uint32_t *h){    // Search startcode    uint8_t b;    uint32_t idx=0;    uint32_t mw,mh;    uint32_t time_inc;        mixDump(data,dataSize);    printf("\n");    while(1)    {        uint32_t startcode=0xffffffff;        while(dataSize>2)        {            startcode=(startcode<<8)+data[idx];            idx++;            dataSize--;            if((startcode&0xffffff)==1) break;        }        if(dataSize>2)        {            printf("Startcodec:%x\n",data[idx]);            if((data[idx]&0xF0)==0x20) //VOL start            {                dataSize--;                idx++;                printf("VOL Header:\n");                mixDump(data+idx,dataSize);printf("\n");                // Here we go !                GetBitContext s;                init_get_bits( &s,data+idx, dataSize*8);                //                skip_bits1(&s); // Random access                skip_bits(&s,8); // Obj type indication                if(get_bits(&s,1)) // VO od                 {                      skip_bits(&s,4); // Ver                      skip_bits(&s,4);  // Priority                }                if(get_bits(&s,4)==15) // custom A/R                {                      skip_bits(&s,8);                      skip_bits(&s,8);                }                if(get_bits(&s,1)) // Vol control param                {                      skip_bits(&s,2);   //Chroma                      skip_bits(&s,1);   // Low delay                      if(!get_bits(&s,1)) // VBV Info                      {                        skip_bits(&s,16);                        skip_bits(&s,16);                        skip_bits(&s,16);                        skip_bits(&s,16);                        skip_bits(&s,16);                      }                  }                 skip_bits(&s,2); //  Shape                 skip_bits(&s,1); //  Marker                 time_inc=get_bits(&s,16); // Time increment                 skip_bits(&s,1); //  Marker                 if(get_bits(&s,1)) // Fixed vop rate, compute how much bits needed                 {                    uint32_t in=time_inc;                    uint32_t i=1;                    in--;                    while(in)                    {                        in>>=1;                        if(in) i++;                    }                    skip_bits(&s,i);                 }                  skip_bits(&s,1); //  Marker                  mw=get_bits(&s,13);                  skip_bits(&s,1); //  Marker                  mh=get_bits(&s,13);                // /Here we go                *h=mh;                *w=mw;                return 1;;                // Free get bits ?                // WTF ?            }            continue;        }        else        {            printf("No more startcode\n");            // Free get bits ?            return 0;                    }    }        return 0;}