search for: vorbis_analysis_blockout

Displaying 20 results from an estimated 27 matches for "vorbis_analysis_blockout".

2005 Nov 16
1
Crash in mdct_forward
Hello all, I am playing around, trying to get an OggVorbis encoder implementation working on the Symbian OS. Unfortunately I am getting a crash - here is the stack vorbis_analysis_blockout _ve_envelope_search _ve_amp mdct_forward free User::Free(void *) RHeap::Free(void *) RHeap::GetAddress(const void *)const RHeap::CheckCell(const RHeap::SCell *)const Panic(TCdtPanic) User::Panic(const TDesC16 &, int) In the case here the free call is doing something very bad (like for examp...
2005 Nov 16
1
Crash in mdct_forward
Hello all, I am playing around, trying to get an OggVorbis encoder implementation working on the Symbian OS. Unfortunately I am getting a crash - here is the stack vorbis_analysis_blockout _ve_envelope_search _ve_amp mdct_forward free User::Free(void *) RHeap::Free(void *) RHeap::GetAddress(const void *)const RHeap::CheckCell(const RHeap::SCell *)const Panic(TCdtPanic) User::Panic(const TDesC16 &, int) In the case here the free call is doing something very bad (like for examp...
2007 Sep 17
1
How To Encode Realtime
Hi, ??Forgive my poor English, I'm trying to implement a net phone using vorbis codec, which need realtime encode and decode the stream. The problem is, I use vorbis_analysis_buffer() and vorbis_analysis_wrote() push the PCM data in, then use vorbis_analysis_blockout(&vd, &vb) to output a block, it can't output all the data. It seems that some data which length is constant, must be in the vorbis_dsp_state, can not be output. When Decode, there's similar problem. These lead time lapse. I have tested, 22050, 1 channel. First, vorbis_analysis_w...
2001 Jan 26
1
Thread issues: clarification
Monty -- I'm still running into problems with my threaded encoded, and I think I just figured out why. I have N threads running in parallel calling vorbis_analysis_blockout() and vorbis_analysis() to do the number crunching on the input samples. They all share a single vorbis_dsp_state -- my understanding was that this was ok; they only *read* from the vorbis_dsp_state, therefore not creating any race conditions. However, I think I must have misunderstood, because in...
2006 Sep 11
4
encode, decode and encode again
...files, but each of them can be normally played by Windows. And now I can't correctly encode these decoded files into sound archive again. The behavior of encoder is the following: 1) it normally encodes first 10-20 files and after that the time of encoding for each file starts to grow The vorbis_analysis_blockout() function starts to return 0 (in normal mode it returns 1). The time of executing vorbis_analysis_buffer() function starts to grow (in normal mode this time is very small). It seems like the encoder processes vorbis_analysis_blockout() function only when the end-of-stream flag is set to 1 (at th...
2001 Mar 11
1
vorbis_analysis() dependencies?
Per Monty's suggestions from a while ago, I have [finally] gotten around to playing with different schemes for parallel oggenc. Monty's main suggestion was to have a single thread loop over reading samples and calling vorbis_analysis_blockout(), and then queueing up the resulting blocks to be processed through vorbis_analysis() in other threads (in parallel). To verify that this works, I modified vanilla oggenc (current CVS head on everything, of course) to do something similar, but in a single-threaded way. However, the output from t...
2001 Sep 11
2
Another backtrace
I got this one this morning, but didn't notice it til now: --- (gdb) bt #0 0x4003be91 in vorbis_block_clear (vb=0xbffff71c) at block.c:156 #1 0x4003ce36 in vorbis_analysis_blockout (v=0xbffff71c, vb=0x8050b80) at block.c:591 #2 0x4002ff23 in _prefetch_all_headers (vf=0xbffff540, dataoffset=-1073749296) at vorbisfile.c:324 #3 0x4003039c in _process_packet (vf=0xbffff540, readp=1) at vorbisfile.c:525 #4 0x4003238e in ov_read (vf=0xbffff540, buffer=0x804d040 &quot...
2003 Sep 11
1
Flushing audio
...is_buffer(&dsp_state, vals); for(int i=0;i<vals;i++){ buffer[0][i] = ((buf[i*2 + 1] << 8) | (0x00ff & (int) buf[i*2])) / 32768.f; } vorbis_analysis_wrote(&dsp_state, vals); while(vorbis_analysis_blockout(&dsp_state, &vblock) == 1){ ogg_packet ogg_pkt; vorbis_analysis(&vblock, &ogg_pkt); ogg_stream_packetin(&ogg_stream, &ogg_pkt); while(1){ int result = ogg_stream_flush(&ogg_stream, &...
2010 Mar 20
1
Parallel processing for Theora?
I noticed that Vorbis has a function called vorbis_analysis_blockout() that breaks up input data into blocks that can be processed in parallel for multi-threaded applications. Ironically, this is much less useful now that processors are so powerful that Vorbis encoding uses up very little processor load. The truly ironic part is that Theora has no analogue to this...
2006 Aug 09
0
encode, decode and encode again - bug
...files, but each of them can be normally played by Windows. And now I can't correctly encode these decoded files into sound archive again. The behavior of encoder is the following: 1) it normally encodes first 10-20 files and after that the time of encoding for each file starts to grow The vorbis_analysis_blockout() function starts to return 0 (in normal mode it returns 1). The time of executing vorbis_analysis_buffer() function starts to grow (in normal mode this time is very small). It seems like the encoder processes vorbis_analysis_blockout() function only when the end-of-stream flag is set to 1 (at th...
2009 Dec 12
1
Skipping of sample in ogg writing
...if (src != 0 && dst != 0) { for (int j = 0; j < numSamples; ++j) dst[j] = (float) src[j]; } } } vorbis_analysis_wrote (&vd, numSamples); while (vorbis_analysis_blockout (&vd, &vb) == 1) { vorbis_analysis (&vb, 0); vorbis_bitrate_addblock (&vb); while (vorbis_bitrate_flushpacket (&vd, &op)) { ogg_stream_packetin (&os, &op); for (;;)...
2009 Dec 12
1
Skipping of sample in ogg writing
...if (src != 0 && dst != 0) { for (int j = 0; j < numSamples; ++j) dst[j] = (float) src[j]; } } } vorbis_analysis_wrote (&vd, numSamples); while (vorbis_analysis_blockout (&vd, &vb) == 1) { vorbis_analysis (&vb, 0); vorbis_bitrate_addblock (&vb); while (vorbis_bitrate_flushpacket (&vd, &op)) { ogg_stream_packetin (&os, &op); for (;;)...
2005 Sep 26
2
encoder_example.c Questions
...[i*4+3]<<8)| (0x00ff&(int)readbuffer[i*4+2]))/32768.f; } This is the second. /* vorbis does some data preanalysis, then divvies up blocks for more involved (potentially parallel) processing. Get a single block for encoding now */ while(vorbis_analysis_blockout(&vd,&vb)==1){ /* analysis, assume we want to use bitrate management */ vorbis_analysis(&vb,NULL); vorbis_bitrate_addblock(&vb); while(vorbis_bitrate_flushpacket(&vd,&op)){ /* weld the packet into the bitstream */ ogg_stream_packetin...
2001 Sep 02
0
Encoding process
...fatal error 16 forever: 17 get buffer from dsp -- vorbis_analysis_buffer() 18 get some data into buffer 19 if no data: 20 flush dsp -- vorbis_analysis_wrote(..., 0) 21 else: 22 tell dsp how much data in buffer -- vorbis_analysis_wrote() 23 while blocks from dsp to analyze: -- vorbis_analysis_blockout() 24 analyze block into packet -- vorbis_analysis() 25 dump packet into stream -- ogg_stream_packetin() 26 while not end of stream: 27 get page from stream: -- ogg_stream_pageout() 28 if no page available: 29 break 30 write page to file 31 if nothing writ...
2002 Jan 02
2
RC3 Changes needed for MacOS
...=========================================== RCS file: /usr/local/cvsroot/vorbis/mac/libvorbis.mcp.exp,v retrieving revision 1.2 diff -u -r1.2 libvorbis.mcp.exp --- mac/libvorbis.mcp.exp 2000/11/22 06:15:19 1.2 +++ mac/libvorbis.mcp.exp 2002/01/03 07:21:48 @@ -23,6 +23,8 @@ vorbis_analysis_wrote vorbis_analysis_blockout vorbis_analysis +vorbis_bitrate_addblock +vorbis_bitrate_flushpacket # Vorbis PRIMITIVES: synthesis layer @@ -43,10 +45,10 @@ _vi_psy_copy _vp_compute_mask -_vp_apply_floor ### From "xxx.h" (for VorbisEncLib) _time_P _floor_P _residue_P _mapping_P +residue_free_info...
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
2003 Nov 08
2
Encoding in Delphi - Help
...end else begin fix; buffer := vorbis_analysis_buffer(vd, SAMPLES); // uninterleave_little_endian(buffer,@readbuffer[0],bytes div 4); uninterleave(buffer,@readbuffer[0],bytes div 4); vorbis_analysis_wrote(vd, bytes div 4); end; fix; while(vorbis_analysis_blockout(vd,vb)=1) do begin fix; vorbis_analysis(vb,op); fix; vorbis_bitrate_addblock(vb); fix; while(vorbis_bitrate_flushpacket(vd,op)<>0) do begin fix; ogg_stream_packetin(os,op); while (not eos) do begin...
2004 Nov 16
0
metadata switches for ffmpeg2theora
...*/ for (i = 0; i < samples; i++){ - for(j=0;j<info.channels;j++){ + for(j=0;j<info->channels;j++){ vorbis_buffer[j][i] = buffer[count++] / 32768.f; } } - vorbis_analysis_wrote (&info.vd, samples); + vorbis_analysis_wrote (&info->vd, samples); } - while(vorbis_analysis_blockout (&info.vd, &info.vb) == 1){ + while(vorbis_analysis_blockout (&info->vd, &info->vb) == 1){ /* analysis, assume we want to use bitrate management */ - vorbis_analysis (&info.vb, NULL); - vorbis_bitrate_addblock (&info.vb); + vorbis_analysis (&info->vb,...
2000 Aug 24
3
lib/block.c question
...if the power variation in some channel is too big. (b) increment j by half the smallest blocksize (vd.vi->blocksizes[0]/2) (c) if j gets past largebound, assign a large window and return 1. (d) repeat unless we've run out of filtered data, in which case return -1. Returning to vorbis_analysis_blockout in lib/block.c, we see what how the largebound parameter is chosen: For the large block W [using the 3/4-pt to 1/4-pt overlap rule that seems to be implied by the code], ``stop searching when j gets to the midpoint of a short block following a long block.'' largebound = centerW +...
2004 Apr 19
3
encoding from 22050Hz source
Hi! I'd like to encode from a 22050 Hz source wav file (only in that case), but i get the following error message: "Invalid floating point operation" I use delphi: vorbis_encode_init_vbr(vi,2,22050,0.5) . . . While (i < readCount div 4) Do Begin buffer[0][i] := smallInt((pArray(@readbuffer)[i shl 2 + 1] shl 8) or pArray(@readbuffer)[i shl 2 + 0]) / 32768;