Lines Matching refs:opb
209 static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){ in _vorbis_unpack_info() argument
213 vi->version=oggpack_read(opb,32); in _vorbis_unpack_info()
216 vi->channels=oggpack_read(opb,8); in _vorbis_unpack_info()
217 vi->rate=oggpack_read(opb,32); in _vorbis_unpack_info()
219 vi->bitrate_upper=oggpack_read(opb,32); in _vorbis_unpack_info()
220 vi->bitrate_nominal=oggpack_read(opb,32); in _vorbis_unpack_info()
221 vi->bitrate_lower=oggpack_read(opb,32); in _vorbis_unpack_info()
223 ci->blocksizes[0]=1<<oggpack_read(opb,4); in _vorbis_unpack_info()
224 ci->blocksizes[1]=1<<oggpack_read(opb,4); in _vorbis_unpack_info()
232 if(oggpack_read(opb,1)!=1)goto err_out; /* EOP check */ in _vorbis_unpack_info()
240 static int _vorbis_unpack_comment(vorbis_comment *vc,oggpack_buffer *opb){ in _vorbis_unpack_comment() argument
242 int vendorlen=oggpack_read(opb,32); in _vorbis_unpack_comment()
244 if(vendorlen>opb->storage-8)goto err_out; in _vorbis_unpack_comment()
246 _v_readstring(opb,vc->vendor,vendorlen); in _vorbis_unpack_comment()
247 i=oggpack_read(opb,32); in _vorbis_unpack_comment()
249 if(i>((opb->storage-oggpack_bytes(opb))>>2))goto err_out; in _vorbis_unpack_comment()
255 int len=oggpack_read(opb,32); in _vorbis_unpack_comment()
257 if(len>opb->storage-oggpack_bytes(opb))goto err_out; in _vorbis_unpack_comment()
260 _v_readstring(opb,vc->user_comments[i],len); in _vorbis_unpack_comment()
262 if(oggpack_read(opb,1)!=1)goto err_out; /* EOP check */ in _vorbis_unpack_comment()
272 static int _vorbis_unpack_books(vorbis_info *vi,oggpack_buffer *opb){ in _vorbis_unpack_books() argument
278 ci->books=oggpack_read(opb,8)+1; in _vorbis_unpack_books()
281 ci->book_param[i]=vorbis_staticbook_unpack(opb); in _vorbis_unpack_books()
287 int times=oggpack_read(opb,6)+1; in _vorbis_unpack_books()
290 int test=oggpack_read(opb,16); in _vorbis_unpack_books()
296 ci->floors=oggpack_read(opb,6)+1; in _vorbis_unpack_books()
299 ci->floor_type[i]=oggpack_read(opb,16); in _vorbis_unpack_books()
301 ci->floor_param[i]=_floor_P[ci->floor_type[i]]->unpack(vi,opb); in _vorbis_unpack_books()
306 ci->residues=oggpack_read(opb,6)+1; in _vorbis_unpack_books()
309 ci->residue_type[i]=oggpack_read(opb,16); in _vorbis_unpack_books()
311 ci->residue_param[i]=_residue_P[ci->residue_type[i]]->unpack(vi,opb); in _vorbis_unpack_books()
316 ci->maps=oggpack_read(opb,6)+1; in _vorbis_unpack_books()
319 ci->map_type[i]=oggpack_read(opb,16); in _vorbis_unpack_books()
321 ci->map_param[i]=_mapping_P[ci->map_type[i]]->unpack(vi,opb); in _vorbis_unpack_books()
326 ci->modes=oggpack_read(opb,6)+1; in _vorbis_unpack_books()
330 ci->mode_param[i]->blockflag=oggpack_read(opb,1); in _vorbis_unpack_books()
331 ci->mode_param[i]->windowtype=oggpack_read(opb,16); in _vorbis_unpack_books()
332 ci->mode_param[i]->transformtype=oggpack_read(opb,16); in _vorbis_unpack_books()
333 ci->mode_param[i]->mapping=oggpack_read(opb,8); in _vorbis_unpack_books()
341 if(oggpack_read(opb,1)!=1)goto err_out; /* top level EOP check */ in _vorbis_unpack_books()
351 oggpack_buffer opb; in vorbis_synthesis_idheader() local
355 oggpack_readinit(&opb,op->packet,op->bytes); in vorbis_synthesis_idheader()
360 if(oggpack_read(&opb,8) != 1) in vorbis_synthesis_idheader()
364 _v_readstring(&opb,buffer,6); in vorbis_synthesis_idheader()
380 oggpack_buffer opb; in vorbis_synthesis_headerin() local
383 oggpack_readinit(&opb,op->packet,op->bytes); in vorbis_synthesis_headerin()
389 int packtype=oggpack_read(&opb,8); in vorbis_synthesis_headerin()
391 _v_readstring(&opb,buffer,6); in vorbis_synthesis_headerin()
407 return(_vorbis_unpack_info(vi,&opb)); in vorbis_synthesis_headerin()
415 return(_vorbis_unpack_comment(vc,&opb)); in vorbis_synthesis_headerin()
423 return(_vorbis_unpack_books(vi,&opb)); in vorbis_synthesis_headerin()
437 static int _vorbis_pack_info(oggpack_buffer *opb,vorbis_info *vi){ in _vorbis_pack_info() argument
442 oggpack_write(opb,0x01,8); in _vorbis_pack_info()
443 _v_writestring(opb,"vorbis", 6); in _vorbis_pack_info()
446 oggpack_write(opb,0x00,32); in _vorbis_pack_info()
447 oggpack_write(opb,vi->channels,8); in _vorbis_pack_info()
448 oggpack_write(opb,vi->rate,32); in _vorbis_pack_info()
450 oggpack_write(opb,vi->bitrate_upper,32); in _vorbis_pack_info()
451 oggpack_write(opb,vi->bitrate_nominal,32); in _vorbis_pack_info()
452 oggpack_write(opb,vi->bitrate_lower,32); in _vorbis_pack_info()
454 oggpack_write(opb,ilog2(ci->blocksizes[0]),4); in _vorbis_pack_info()
455 oggpack_write(opb,ilog2(ci->blocksizes[1]),4); in _vorbis_pack_info()
456 oggpack_write(opb,1,1); in _vorbis_pack_info()
461 static int _vorbis_pack_comment(oggpack_buffer *opb,vorbis_comment *vc){ in _vorbis_pack_comment() argument
465 oggpack_write(opb,0x03,8); in _vorbis_pack_comment()
466 _v_writestring(opb,"vorbis", 6); in _vorbis_pack_comment()
469 oggpack_write(opb,bytes,32); in _vorbis_pack_comment()
470 _v_writestring(opb,ENCODE_VENDOR_STRING, bytes); in _vorbis_pack_comment()
474 oggpack_write(opb,vc->comments,32); in _vorbis_pack_comment()
479 oggpack_write(opb,vc->comment_lengths[i],32); in _vorbis_pack_comment()
480 _v_writestring(opb,vc->user_comments[i], vc->comment_lengths[i]); in _vorbis_pack_comment()
482 oggpack_write(opb,0,32); in _vorbis_pack_comment()
486 oggpack_write(opb,1,1); in _vorbis_pack_comment()
491 static int _vorbis_pack_books(oggpack_buffer *opb,vorbis_info *vi){ in _vorbis_pack_books() argument
496 oggpack_write(opb,0x05,8); in _vorbis_pack_books()
497 _v_writestring(opb,"vorbis", 6); in _vorbis_pack_books()
500 oggpack_write(opb,ci->books-1,8); in _vorbis_pack_books()
502 if(vorbis_staticbook_pack(ci->book_param[i],opb))goto err_out; in _vorbis_pack_books()
505 oggpack_write(opb,0,6); in _vorbis_pack_books()
506 oggpack_write(opb,0,16); in _vorbis_pack_books()
509 oggpack_write(opb,ci->floors-1,6); in _vorbis_pack_books()
511 oggpack_write(opb,ci->floor_type[i],16); in _vorbis_pack_books()
513 _floor_P[ci->floor_type[i]]->pack(ci->floor_param[i],opb); in _vorbis_pack_books()
519 oggpack_write(opb,ci->residues-1,6); in _vorbis_pack_books()
521 oggpack_write(opb,ci->residue_type[i],16); in _vorbis_pack_books()
522 _residue_P[ci->residue_type[i]]->pack(ci->residue_param[i],opb); in _vorbis_pack_books()
526 oggpack_write(opb,ci->maps-1,6); in _vorbis_pack_books()
528 oggpack_write(opb,ci->map_type[i],16); in _vorbis_pack_books()
529 _mapping_P[ci->map_type[i]]->pack(vi,ci->map_param[i],opb); in _vorbis_pack_books()
533 oggpack_write(opb,ci->modes-1,6); in _vorbis_pack_books()
535 oggpack_write(opb,ci->mode_param[i]->blockflag,1); in _vorbis_pack_books()
536 oggpack_write(opb,ci->mode_param[i]->windowtype,16); in _vorbis_pack_books()
537 oggpack_write(opb,ci->mode_param[i]->transformtype,16); in _vorbis_pack_books()
538 oggpack_write(opb,ci->mode_param[i]->mapping,8); in _vorbis_pack_books()
540 oggpack_write(opb,1,1); in _vorbis_pack_books()
550 oggpack_buffer opb; in vorbis_commentheader_out() local
552 oggpack_writeinit(&opb); in vorbis_commentheader_out()
553 if(_vorbis_pack_comment(&opb,vc)) return OV_EIMPL; in vorbis_commentheader_out()
555 op->packet = _ogg_malloc(oggpack_bytes(&opb)); in vorbis_commentheader_out()
556 memcpy(op->packet, opb.buffer, oggpack_bytes(&opb)); in vorbis_commentheader_out()
558 op->bytes=oggpack_bytes(&opb); in vorbis_commentheader_out()
574 oggpack_buffer opb; in vorbis_analysis_headerout() local
584 oggpack_writeinit(&opb); in vorbis_analysis_headerout()
585 if(_vorbis_pack_info(&opb,vi))goto err_out; in vorbis_analysis_headerout()
589 b->header=_ogg_malloc(oggpack_bytes(&opb)); in vorbis_analysis_headerout()
590 memcpy(b->header,opb.buffer,oggpack_bytes(&opb)); in vorbis_analysis_headerout()
592 op->bytes=oggpack_bytes(&opb); in vorbis_analysis_headerout()
600 oggpack_reset(&opb); in vorbis_analysis_headerout()
601 if(_vorbis_pack_comment(&opb,vc))goto err_out; in vorbis_analysis_headerout()
604 b->header1=_ogg_malloc(oggpack_bytes(&opb)); in vorbis_analysis_headerout()
605 memcpy(b->header1,opb.buffer,oggpack_bytes(&opb)); in vorbis_analysis_headerout()
607 op_comm->bytes=oggpack_bytes(&opb); in vorbis_analysis_headerout()
615 oggpack_reset(&opb); in vorbis_analysis_headerout()
616 if(_vorbis_pack_books(&opb,vi))goto err_out; in vorbis_analysis_headerout()
619 b->header2=_ogg_malloc(oggpack_bytes(&opb)); in vorbis_analysis_headerout()
620 memcpy(b->header2,opb.buffer,oggpack_bytes(&opb)); in vorbis_analysis_headerout()
622 op_code->bytes=oggpack_bytes(&opb); in vorbis_analysis_headerout()
628 oggpack_writeclear(&opb); in vorbis_analysis_headerout()
636 oggpack_writeclear(&opb); in vorbis_analysis_headerout()