search for: vorbis_block

Displaying 20 results from an estimated 25 matches for "vorbis_block".

2003 Feb 13
2
Are vorbis_blocks really independent?
I read some lines in libvorbis/include/vorbis/codec.h: /* vorbis_block is a single block of data to be processed as part of the analysis/synthesis stream; it belongs to a specific logical bitstream, but is independant from other vorbis_blocks belonging to that logical bitstream. *************************************************/ My question. Does this imply that vorb...
2001 Jan 09
1
Question re: vorbis_block_clear()
I'm running into memory leak and read-from/write-to unallocated errors in the cleanup phase of parallel oggenc. I see in vorbis_block_clear() that it references some fields on the vorbis_dsp_state that it cached during vorbis_block_init(), and conditionally does some cleanup based on the values of those fields. Does this fact effectively mean that you can't have multiple vorbis_block instances outstanding? i.e., can you onl...
2004 Jun 29
3
Struct Fields Description
Hello all Can anyone point me to some form of description for the fields in the following structures : 1/ vorbis_dsp_state 2/ vorbis_block Thank you. regards ~previr _____________________________________________________________ Previr Rangroo STMicroelectronics Associate Systems Lab Engineer Plot No. 2 & 3, Audio Competence Center Sector 16A, CMG Systems Lab Instit...
2004 Jun 29
3
Struct Fields Description
Hello all Can anyone point me to some form of description for the fields in the following structures : 1/ vorbis_dsp_state 2/ vorbis_block Thank you. regards ~previr _____________________________________________________________ Previr Rangroo STMicroelectronics Associate Systems Lab Engineer Plot No. 2 & 3, Audio Competence Center Sector 16A, CMG Systems Lab Instit...
2000 Dec 08
1
voribs_analysis() question
A variation on questions that I've asked before... In working on the parallel version of oggenc (both threaded and MPI), a profiling run shows that the function vorbis_analysis() takes up the majority of the run time. This seems to be an obvious choice for parallelization -- send each vorbis_block to a different processor, and let them call vorbis_analsis() in parallel with each other. However, as has been briefly alluded on this list before, there is global state that is shared between all vorbis_block instances. Specifically, vorbis_block contains a pointer to the stream's vorbis_dsp...
2001 Mar 11
1
vorbis_analysis() dependencies?
...ater calls to vorbis_analysis() are based upon that DSP state, and are therefore produce different output. Is that more or less that is going on? Is this by design? ----- Here's the general algorithm in my slightly modified oggenc (ignoring memory leaks here): - allocate/initialize a new vorbis_block - loop until file empty - read some samples - loop while vorbis_analysis_blockout returns 1 - save current [and now full] vorbis_block - allocate/initialize new vorbis_block - if we have > N pending vorbis_blocks - loop over the N pending vorbis_blocks - c...
2015 May 15
1
Extension to libvorbis for lossless volume changes
I added a new function to libvorbis that allows lossless changes of the volume to an vorbis_block. This can help to get reasonable loudness on hardware players that do not support the Replay Gain tags. int vorbis_gainadj(vorbis_block *vb, ogg_packet *op, float* dbgain); dbgain contains the relative adjustment for each channel. The trick is quite simple. I adjust the first 2 floor values for...
2017 Feb 06
3
libvorbis without encapulsation
...on the ogg_packet struct for final output and input to decoder, and shows now examples on how to do without it. Taking a look at the vorbis_bitstream_flush() function, which in the overview is the last step before output, it seems that there is an oggpack_buffer in an array of buffers internal to vorbis_block: (*vorbis_block.internal)(vorbis_block.internal)->packetblob[PACKETBLOBS / 2] (PACKETBLOBS = 15, the macro is not commented, so don't know what this is). This is the output of a encoder pass from gdb: (gdb) p *vbi $3 = {pcmdelay = 0x647140, ampmax = -58.0271301, blocktype = 0, packetblo...
2003 Feb 13
1
Blocked encoding question
...Since there is almost no documentation on the vorbis algorithm I have to post some questions on this list. To remind you: I am trying to implement a parallel (multithreaded) ogg encoder, using a manager-worker model. 1. About the vorbis algorithm. I plan to let the workers each process a buffer of vorbis_blocks. The point is that each worker has to start somewhere and can not use previous encoded blocks. A solution could be to let each worker start a (few) block(s) earlier to 'seed'/initialize the encoding process. Illustration: thread 1 |-----| thread 2 |-----| After encoding, I discard th...
2001 Jan 26
1
Thread issues: clarification
...d using invalidated memory, and Badness happens from there. Am I reading this right? Is this a real problem? ...or was it designed that way? Did you intend that vorbis_dsp_state instances can be shared between threads? Or are vorbis_dsp_state instances now just stateless, in that one can encode vorbis_blocks on different vorbis_dsp_state instances and still get continuous audio output? (I don't know how to put that any differently; did that make sense?) {+} Jeff Squyres {+} squyres@cse.nd.edu {+} Perpetual Obsessive Notre Dame Student Craving Utter Madness {+} "I came to ND for 4 years and e...
2000 Dec 24
0
State of Vorbis: Monty's current offline development
Nothing on a branch yet; I'll be building a temp branch for my changes soon. First, I'm eliminating ordering dependancies in vorbis_block structures. They'll be totally sepreate and vorbis_analysis won't have a global state in vorbis_dsp_state that requires them being done in order. That way, a parallel-threaded encoder can run multiple vorbis_blocks through multiple simultaneous calls to vorbis_analysis. Second, psy.c is...
2007 Feb 15
1
Using decoding vorebis from a Vorbis / Theora Video
I am trying to write a media player in c# which will be able to play .ogg video files which contain Theora video and Vorbis audio streams. Currently I am using LibOgg and LibTheora (via a SWIG generated wrapper). This currently is able to decode the video and output it to the screen. I would like to use LibVorbis to decode the audio stream. Looking at the documentation it looks like I have to use
2001 Jan 01
1
By design or a bug?
Happy new millenium! Summary: I'm having a problem queueing up the ogg_packet results of vorbis_analyze() for later writing to an .ogg stream. The docs don't seem to say if this is permissable or not. Hence, I don't know if I'm using the API incorrectly, or if this is an actual bug. ----- Attached is a short patch to vorbis-tools/oggenc/encode.c (from CVS head, 01/01/01... I
2000 Aug 23
0
explicit header deps: patch
.../lib/spectrum.h vorbis.nowp/lib/spectrum.h *** vorbis.now/lib/spectrum.h Tue Jan 4 04:05:04 2000 --- vorbis.nowp/lib/spectrum.h Wed Aug 23 13:15:48 2000 *************** *** 20,23 **** --- 20,25 ---- #define _V_SPECT_H_ + #include "vorbis/codec.h" + extern int _vs_spectrum_encode(vorbis_block *vb,double amp,double *lsp); extern int _vs_spectrum_decode(vorbis_block *vb,double *amp,double *lsp); diff -c2 -bBw -r -x Mak* -x conf* -x CVS -x *.c vorbis.now/vq/vqgen.h vorbis.nowp/vq/vqgen.h *** vorbis.now/vq/vqgen.h Tue Jun 13 21:38:32 2000 --- vorbis.nowp/vq/vqgen.h Wed Aug 23...
2009 Mar 15
1
Add vorbis_dsp_init() ?
Hi, This mozilla bug report is a crash triggered by a Vorbis file with corrupt headers: https://bugzilla.mozilla.org/show_bug.cgi?id=481601 The patch to fix the crash adds a new vorbis_dsp_init() function to libvorbis, and calls that from fs_vorbis_init() in libfishsound: https://bug481601.bugzilla.mozilla.org/attachment.cgi?id=366150 The public function it adds is: void
1999 Oct 04
3
Detailed decoder pseudocode (was: Re: ETA?)
...bitstream page. Vorbis packets are inside */ ogg_packet op; /* one raw packet of data for decode */ vorbis_info vi; /* struct that stores all the static vorbis bitstream settings */ vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */ vorbis_block vb; /* local working space for packet->PCM decode */ char *buffer; int bytes; int i; int eos=0; /********** Decode setup ************/ ogg_sync_init(&oy); /* Now we can parse pages out of the bitstream */ /* grab some data at the head of the stream. We want the first page (which...
2001 Oct 16
4
Possible channel coupling bug in encoder
...rbis_encode_init(&VorbisInfo, 1, 22050, -1, 128000, -1); then I get a crash in: _vp_quantize_couple(vorbis_look_psy * 0x01e6a6ec, vorbis_info_mapping0 * 0x017c1988, float * * 0x01ea3ce0, float * * 0x00120754, float * * 0x00120758, int * 0x00120760, int 0) line 1021 + 35 bytes mapping0_forward(vorbis_block * 0x00121a20, void * 0x01e68d3c) line 496 + 41 bytes vorbis_analysis(vorbis_block * 0x00121a20, ogg_packet * 0x00121b30) line 65 + 30 bytes The error stems from: float *pcmA=pcm[vi->coupling_ang[i]]; where i is 0 vi->coupling_ang[i] is 1 pcm is only one channel so pcmA is 0xfdfdfdfd im...
2003 Oct 09
0
Vorbis plugin for RealOne Player
Hi All, I am trying to build an Ogg/Vorbis plugin for RealOne Player through the HelixCommunity source. During runtime, however, I saw an access violation. I did some debugging and narrowed it down to the following function in the Vorbis source.. int vorbis_synthesis(vorbis_block *vb,ogg_packet *op){ vorbis_dsp_state *vd=vb->vd; backend_lookup_state *b=vd->backend_state; vorbis_info *vi=vd->vi; codec_setup_info *ci=vi->codec_setup; oggpack_buffer *opb=&vb->opb; int type,mode,i; /* first things...
2012 May 14
0
Memory Leak in vorbis_info_clear()
...eck=yes ./vbs */ /* leak: valgrind --leak-check=yes ./vbs -l */ #include <unistd.h> /* getopt(3) */ #include <vorbis/codec.h> #include <vorbis/vorbisenc.h> static struct vorbis_info info; static struct vorbis_dsp_state dsp; static struct vorbis_comment comment; static struct vorbis_block block; void init(void) { struct { ogg_packet ident, comment, setup; } pkt; vorbis_info_init(&info); vorbis_encode_init_vbr(&info, 2, 44100, 1.0); vorbis_analysis_init(&dsp, &info); vorbis_comment_init(&comment); vorbis_analysis_headerout(&dsp, &comment, &p...
2001 Sep 02
0
Encoding process
...hat happens. I got it down in pseudocode as follows: --- 1 get parameters 2 init vorbis_comment -- vorbis_comment_init() 3 init vorbis_info -- vorbis_info_init() 4 start encoding with info and params -- vorbis_encode_init() 5 init vorbis_dsp_state from info -- vorbis_analysis_init() 6 init vorbis_block from dsp -- vorbis_block_init() 7 init ogg_stream_state with serial -- ogg_stream_init() 8 fill vorbis_comment -- vorbis_comment_add() 9 create header packets from dsp -- vorbis_analysis_headerout() 10 dump header packets to stream -- ogg_stream_packetin() 11 while pages need to be flushed from...