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...