Home | History | Annotate | Download | only in lib

Lines Matching refs:vb

88 int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb){
90 memset(vb,0,sizeof(*vb));
91 vb->vd=v;
92 vb->localalloc=0;
93 vb->localstore=NULL;
96 vb->internal=_ogg_calloc(1,sizeof(vorbis_block_internal));
101 vbi->packetblob[i]=&vb->opb;
113 void *_vorbis_block_alloc(vorbis_block *vb,long bytes){
115 if(bytes+vb->localtop>vb->localalloc){
117 if(vb->localstore){
119 vb->totaluse+=vb->localtop;
120 link->next=vb->reap;
121 link->ptr=vb->localstore;
122 vb->reap=link;
125 vb->localalloc=bytes;
126 vb->localstore=_ogg_malloc(vb->localalloc);
127 vb->localtop=0;
130 void *ret=(void *)(((char *)vb->localstore)+vb->localtop);
131 vb->localtop+=bytes;
137 void _vorbis_block_ripcord(vorbis_block *vb){
139 struct alloc_chain *reap=vb->reap;
148 if(vb->totaluse){
149 vb->localstore=_ogg_realloc(vb->localstore,vb->totaluse+vb->localalloc);
150 vb->localalloc+=vb->totaluse;
151 vb->totaluse=0;
155 vb->localtop=0;
156 vb->reap=NULL;
159 int vorbis_block_clear(vorbis_block *vb){
161 vorbis_block_internal *vbi=vb->internal;
163 _vorbis_block_ripcord(vb);
164 if(vb->localstore)_ogg_free(vb->localstore);
173 memset(vb,0,sizeof(*vb));
523 int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb){
530 vorbis_block_internal *vbi=(vorbis_block_internal *)vb->internal;
581 _vorbis_block_ripcord(vb);
582 vb->lW=v->lW;
583 vb->W=v->W;
584 vb->nW=v->nW;
606 vb->vd=v;
607 vb->sequence=v->sequence++;
608 vb->granulepos=v->granulepos;
609 vb->pcmend=ci->blocksizes[v->W];
611 /* copy the vectors; this uses the local storage in vb */
619 vb->pcm=_vorbis_block_alloc(vb,sizeof(*vb->pcm)*vi->channels);
620 vbi->pcmdelay=_vorbis_block_alloc(vb,sizeof(*vbi->pcmdelay)*vi->channels);
623 _vorbis_block_alloc(vb,(vb->pcmend+beginW)*sizeof(*vbi->pcmdelay[i]));
624 memcpy(vbi->pcmdelay[i],v->pcm[i],(vb->pcmend+beginW)*sizeof(*vbi->pcmdelay[i]));
625 vb->pcm[i]=vbi->pcmdelay[i]+beginW;
628 vb->pcm[i]=_vorbis_block_alloc(vb,vb->pcmend*sizeof(*vb->pcm[i]));
629 memcpy(vb->pcm[i],v->pcm[i]+beginW,ci->blocksizes[v->W]*sizeof(*vb->pcm[i]));
641 vb->eofflag=1;
720 int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){
727 if(!vb)return(OV_EINVAL);
731 v->W=vb->W;
735 (v->sequence+1 != vb->sequence)){
740 v->sequence=vb->sequence;
742 if(vb->pcm){ /* no pcm to process if vorbis_synthesis_trackonly
751 v->glue_bits+=vb->glue_bits;
752 v->time_bits+=vb->time_bits;
753 v->floor_bits+=vb->floor_bits;
754 v->res_bits+=vb->res_bits;
775 float *p=vb->pcm[j];
782 float *p=vb->pcm[j];
791 float *p=vb->pcm[j]+n1/2-n0/2;
800 float *p=vb->pcm[j];
809 float *p=vb->pcm[j]+n;
839 return will be past the vb->granulepos.
854 if(vb->granulepos!=-1){ /* only set if we have a position to set to */
856 v->granulepos=vb->granulepos;
862 if(vb->eofflag){
882 if(vb->granulepos!=-1 && v->granulepos!=vb->granulepos){
884 if(v->granulepos>vb->granulepos){
885 long extra=v->granulepos-vb->granulepos;
888 if(vb->eofflag){
895 v->granulepos=vb->granulepos;
901 if(vb->eofflag)v->eofflag=1;