Vorbis issueshttps://gitlab.xiph.org/xiph/vorbis/-/issues2017-04-08T10:58:44Zhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1263Add filter support to vorbis decoding2017-04-08T10:58:44ZwilliampoetraAdd filter support to vorbis decodingWHAT:
Support for specifying a filter function when decoding a vorbis stream. The filter function can do anything to the stream, like for example applying ReplayGain.
WHEN:
Done. Had been sitting on my disk for a couple of months no...WHAT:
Support for specifying a filter function when decoding a vorbis stream. The filter function can do anything to the stream, like for example applying ReplayGain.
WHEN:
Done. Had been sitting on my disk for a couple of months now.
WHY:
I wanted to add ReplayGain (VorbisGain) support to ogg123, and found that everything could be made remarkably simpler if we can have a filter function available.
HOW:
See attached patch. It's quite simple, actually: Just create a function ov_read_filter() with the same parameters as ov_read() except that ov_read_filter() takes two extra arguments: a pointer to the filter function (filter()) and a pointer to the data to be passed to the filter function (filter_param).
The filter function takes four arguments: 1. pointer to buffer containing the pcm samples in floating point format, 2. the number of channels, 3. the number of samples, and 4. the data (filter_param). The data passed in filter_param can be anything and is to be decided by the application. In my case, I used it to implement ReplayGain in ogg123 (the implementation is basically a much stripped-down version of vgplay).
WHO:
Me. williampoetra at gmail dot com
I would love to see this patch merged. Comments and suggestion please.
Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1258Add defines to exclude encoder specific parts from library2017-04-08T10:58:44ZGitlab BotAdd defines to exclude encoder specific parts from librarySeveral things can be removed from the library at compile time by using #defines if only a vorbis decoder is needed. These include, but are not limted to:
* Floor packer + Floor forward function
* Residue packer + Residue forward func...Several things can be removed from the library at compile time by using #defines if only a vorbis decoder is needed. These include, but are not limted to:
* Floor packer + Floor forward function
* Residue packer + Residue forward function
* Mapping packer + Mapping forward function
* Codebook packer/encoder
* Bitrate management (bitrate.c)
* vorbis_block_internal and functions that deal with it.
* Envelope code (envelope.c)
* Psychoaucostic model code (psy.c)
* Analysis file (analysis.c)
* info packers (info.c)
* smallft.c
This reduces the size of the generated code from >100kb to ~60kb.
Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1232[PATCH] Add -Wdeclaration-after-statement to CFLAGS2017-04-08T10:58:44Zmle[PATCH] Add -Wdeclaration-after-statement to CFLAGSgcc-4.1 seems to default to conforming to the C99 standard which allows declarations after statements, ie
```
void whatever (int param)
{
if (param == 0)
return ;
int a = 10 ;
return a ;
}
```
The above is reported as...gcc-4.1 seems to default to conforming to the C99 standard which allows declarations after statements, ie
```
void whatever (int param)
{
if (param == 0)
return ;
int a = 10 ;
return a ;
}
```
The above is reported as an error in compilers which conform to earlier C standards.
The problem is that anyone working with a C99 compiler can accidentally commit code that breaks the compile for some other compilers.
The solution (at least for C99) is to compile with the -Wdeclaration-after-statement CFLAG, but not all versions of gcc recognise that flag. Fortunately its possible to detect whether gcc accepts this CFLAG at configure time.
Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1228[Patch] Const correct tags functions2017-04-08T10:58:44Zmle[Patch] Const correct tags functionsI tend to compile my code with all GCC warnings turned on. However,
when I do this :
vorbis_comment_add_tag(&vdata->vc,"ENCODER","libsndfile");
I get the following warning messages:
warning: passing argument 2 of 'vorbis_comme...I tend to compile my code with all GCC warnings turned on. However,
when I do this :
vorbis_comment_add_tag(&vdata->vc,"ENCODER","libsndfile");
I get the following warning messages:
warning: passing argument 2 of 'vorbis_comment_add_tag' discards
qualifiers from pointer target type
warning: passing argument 3 of 'vorbis_comment_add_tag' discards
qualifiers from pointer target type
The problem is that string literals like "ENCODER" are be const
char * while vorbis_comment_add_tag is prototyped as having char *
pointers, even though the strings pointed to are not modified.
The following patch (against SVN head) makes the libvorbis const
correct.
Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1204bad quality2017-04-08T10:58:44Zselindosbad qualityAt decoding ogg in wav and then coding in ogg very bad quality. Please correct a mistakeAt decoding ogg in wav and then coding in ogg very bad quality. Please correct a mistakeMonty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1142Vorbis encoder segfault2017-04-08T10:58:44ZrowenVorbis encoder segfaultI am getting an access violation from libvorbis while encoding. I'm using libvorbis-1.1.2, but I have tried the latest subversion code (as of 3/5/07) without any improvement. Unfortunately, I can't duplicate the problem with the debug ...I am getting an access violation from libvorbis while encoding. I'm using libvorbis-1.1.2, but I have tried the latest subversion code (as of 3/5/07) without any improvement. Unfortunately, I can't duplicate the problem with the debug build of the library, so I can't give a full backtrace.
Here are the details that I have:
The error is an access violation reading 0x00FCD818
My code is based on the encoder example included with libvorbis, with some light modifications - the largest being that a fixed bitrate is used instead of vbr. With my code built in debug mode, but the libraries built in release mode, I can trace the access violation to the vorbis_analysis function - which I think is kind of a dispatch function, so thats probably not much help.
I'm building on Windows XP Pro SP2 with VC++ express edition 2005 (8.0.507727.42). I'm using the win32/build_vorbis_dynamic.bat and the other included .bat files to build DLLs for vorbis, vorbisenc, vorbisfile, and ogg.
I have built a stand-alone executable that can duplicate the problem with some test audio data. The stand-alone program is also based off of encoder_example.c and simply encodes some test audio data in a similar way to what my application does.
There are two audio streams used in my test program:
One is raw 16-bit PCM audio data with a sample rate of 44100.
The other is the same audio stream, resampled to 22050 samples per second (still 16-bit PCM).
The bug only seems to occur if the 44100 sample is encoded with a bit rate of 48, and then the 22050 sample is encoded twice with a bit rate of 32.
I don't see a way to attach files to a ticket, so send me an email and I can send you the test app and test data.Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1123libvorbis does not respect includedir2017-04-08T10:58:44Zschizolibvorbis does not respect includedirlibvorbis hardcodes $(prefix)/include/vorbis rather than respecting $(includedir)
I will attach a patch which corresponds to the Makefile.am by Tollef Fog Heen in Debian bug #249695.libvorbis hardcodes $(prefix)/include/vorbis rather than respecting $(includedir)
I will attach a patch which corresponds to the Makefile.am by Tollef Fog Heen in Debian bug #249695.Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1091Strange sounds when encoding at 64kbps.2017-04-08T10:58:44ZGitlab BotStrange sounds when encoding at 64kbps.When encoding at quality level 0 there is a strange sound that appears in the background.
It sounds sort of like the sound you would get using an older format such as MP3 at a low bitrate. At lower quality settings (-1), this problem doe...When encoding at quality level 0 there is a strange sound that appears in the background.
It sounds sort of like the sound you would get using an older format such as MP3 at a low bitrate. At lower quality settings (-1), this problem does not exist.
The problem is specific to Vorbis and does not exist in the AAC encoder of iTunes, Windoze Media, or any other competing codec (Although those codecs do have bugs of their own...).
The song I found it in first was Burnout by Green Day.
Also, I am listening on headphones.
Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/922[PATCH] Patch to support ELF symbols visibility2017-04-08T10:58:44ZDiego Elio Pettenò[PATCH] Patch to support ELF symbols visibilityThe patch I'll (try) to attach allows libvorbis to make use of ELF symbols visibility. Basically it removes from the final .so files the symbols that are not exported by public APIs.
There's one exception for _analysis_output_always that...The patch I'll (try) to attach allows libvorbis to make use of ELF symbols visibility. Basically it removes from the final .so files the symbols that are not exported by public APIs.
There's one exception for _analysis_output_always that has to be exported or libvorbisfile.so won't be complete.
Also, vorbis_window was being used by libvorbisfile.so but was defined in libvorbis.so, I've moved the function, but this way I also had to move _vorbis_window_get function in window.h instead of .c, with also the tables (that are constantised so that the compiler can optimise them.
HTH,
Diego "Flameeyes" Pettenò <flameeyes@gentoo.org>Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/851[PATCH] Files missing in tarball2017-04-08T10:58:44ZGitlab Bot[PATCH] Files missing in tarballHi I see some files are missing from the tarball created with make dist:
The more recent RTP draft are not included, even if mentioned in the 1.1.2 changelog. There also other things not included (symbian dir, doc/fish_xiph_org.png, exa...Hi I see some files are missing from the tarball created with make dist:
The more recent RTP draft are not included, even if mentioned in the 1.1.2 changelog. There also other things not included (symbian dir, doc/fish_xiph_org.png, examples/frameview.pl, lib/misc.c, many files in vq/, todo.txt, and others ...) that may be useful.
Would be nice to build also a .bz2 tarball with make dist.
The same is for Theora, ticket #852 .Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/730libvorbis-1.1.0 and libvorbis-1.1.1 broken2017-04-08T10:58:44Zsge1899libvorbis-1.1.0 and libvorbis-1.1.1 brokenoggenc creates distorted ogg files from wav files, when using libvorbis-1.1.0 or libvorbis-1.1.1... i now use libvorbis-1.0.1-r2, which work without a hitch....
the resulting oggfile created with above mentioned libraries sound like th...oggenc creates distorted ogg files from wav files, when using libvorbis-1.1.0 or libvorbis-1.1.1... i now use libvorbis-1.0.1-r2, which work without a hitch....
the resulting oggfile created with above mentioned libraries sound like there were byte order problems inside the file... don't know yet... just wonder, why no one seems to have that problem... actually, it is completely reproducible here... i'm usig gentoo, so i just paste you my "emerge info", which shows up possibly important things such as my CFLAGS...
Cheers,
KanneMonty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/725Compile error for libvorbis2017-04-08T10:58:44ZmhouleCompile error for libvorbisI'm trying to compile the libvorbis library on a SGI octane 2, Irix 6.5... libogg compile directly, but I got this stange error when trying to compile libvorbis.
Here is the make output :
```
ES -fsigned-char -DUSE_MEMORY_H -c -o ...I'm trying to compile the libvorbis library on a SGI octane 2, Irix 6.5... libogg compile directly, but I got this stange error when trying to compile libvorbis.
Here is the make output :
```
ES -fsigned-char -DUSE_MEMORY_H -c -o analysis.lo analysis.c
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/magma/people/houlem/bin//include -O20 -D__NO_MATH_INLINES -fsigned-char -DUSE_MEMORY_H -c analysis.c -Wp,-MD,.deps/analysis.TPlo -DPIC -o .libs/analysis.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/magma/people/houlem/bin//include -O20 -D__NO_MATH_INLINES -fsigned-char -DUSE_MEMORY_H -c analysis.c -Wp,-MD,.deps/analysis.TPlo -o analysis.o >/dev/null 2>&1
source='synthesis.c' object='synthesis.lo' libtool=yes \
DEPDIR=.deps depmode=gcc /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/magma/people/houlem/bin//include -O20 -D__NO_MATH_INLINES -fsigned-char -DUSE_MEMORY_H -c -o synthesis.lo synthesis.c
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/magma/people/houlem/bin//include -O20 -D__NO_MATH_INLINES -fsigned-char -DUSE_MEMORY_H -c synthesis.c -Wp,-MD,.deps/synthesis.TPlo -DPIC -o .libs/synthesis.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/magma/people/houlem/bin//include -O20 -D__NO_MATH_INLINES -fsigned-char -DUSE_MEMORY_H -c synthesis.c -Wp,-MD,.deps/synthesis.TPlo -o synthesis.o >/dev/null 2>&1
source='psy.c' object='psy.lo' libtool=yes \
DEPDIR=.deps depmode=gcc /bin/sh ../depcomp \
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/magma/people/houlem/bin//include -O20 -D__NO_MATH_INLINES -fsigned-char -DUSE_MEMORY_H -c -o psy.lo psy.c
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/magma/people/houlem/bin//include -O20 -D__NO_MATH_INLINES -fsigned-char -DUSE_MEMORY_H -c psy.c -Wp,-MD,.deps/psy.TPlo -DPIC -o .libs/psy.o
as: Error: /var/tmp/ccc6ZVoc.s, line 7395: Macro instruction used in branch delay slot
*** Error code 1 (bu21)
*** Error code 1 (bu21)
*** Error code 1 (bu21)
*** Error code 1 (bu21)
```
Thanks in advance for checking what it can be. If you need more information, just contact me and I'll try to get it for you....
BTW, I run both configure command with :
```
./configure --prefix=/home/houlem/bin/ --exec-prefix=/home/houlem/bin/
```Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/682possible use of uninitialized variable in Tremor/sharedbook.c2017-04-08T10:58:44ZDaniel Stenbergpossible use of uninitialized variable in Tremor/sharedbook.cBuilding Tremor with gcc 4.0 identified this possible flaw (and the Tremor svn repo seems to still have it done this way). This change was just committed in the Rockbox project's CVS tree. (There doesn't seem to be any component in the b...Building Tremor with gcc 4.0 identified this possible flaw (and the Tremor svn repo seems to still have it done this way). This change was just committed in the Rockbox project's CVS tree. (There doesn't seem to be any component in the bug tracker for Tremor so I set it to libvorbis...)
```
--- sharedbook.c 28 Feb 2005 20:55:30 -0000 1.2
+++ sharedbook.c 7 Jul 2005 08:23:21 -0000 1.3
@@ -211,7 +211,7 @@
int indexdiv=1;
for(k=0;k<b->dim;k++){
int index= (j/indexdiv)%quantvals;
- int point;
+ int point=0;
int val=VFLOAT_MULTI(delta,delpoint,
abs(b->quantlist[index]),&point);
@@ -245,7 +245,7 @@
int lastpoint=0;
for(k=0;k<b->dim;k++){
- int point;
+ int point=0;
int val=VFLOAT_MULTI(delta,delpoint,
abs(b->quantlist[j*b->dim+k]),&point);
```Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/622warnings while compiling tremor2017-04-08T10:58:44Zdominikwarnings while compiling tremorWhile building MPlayer (which includes a copy of tremor) I've fixed some compiler warnings. The patch still applies to current trunk.
While building MPlayer (which includes a copy of tremor) I've fixed some compiler warnings. The patch still applies to current trunk.
Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/582[PATCH] Problem during book initialisation2017-04-08T10:58:44ZFelix Leder[PATCH] Problem during book initialisation```
The following situation can occur in _vds_shared_init (block.c) at line 224.
When calling vorbis_book_init_decode (sharedbook.c, l. 318) with a
static_codebook which has all lengthlist = 0, blocks with a size of 0 bytes are
allocated...```
The following situation can occur in _vds_shared_init (block.c) at line 224.
When calling vorbis_book_init_decode (sharedbook.c, l. 318) with a
static_codebook which has all lengthlist = 0, blocks with a size of 0 bytes are
allocated. The behaviour of malloc/calloc in that case is "implementation
dependant".
Most "implementations" return a pointer. Then everything works fine. BUT if you
have an implementation (e.g. TI DSPs) that returns NULL in case of a
calloc/malloc(0) either a segmentation fault is produced or data from memory
position 0 on is overwritten. Neither is wanted.
This overwriting happens in _book_unquantize (sharedbook.c, l. 183) in line 215
and possibly in line 235.
A fix is to replace lines 204 & 225 in this file:
< if((sparsemap && b->lengthlist[j]) || !sparsemap){
------------------
> if(b->lengthlist[j]){
This bug may be related to bug #340
```Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/581configure script ignores all the --with-ogg* options2017-04-08T10:58:44Zgorlikconfigure script ignores all the --with-ogg* options```
If there is a ogg version on the system configure will find it and ignore the --
with-ogg , --with-ogg-includes , --with-ogg-libraries options.
This prevents cross compiling on any system that has native ogg installed.
system detail...```
If there is a ogg version on the system configure will find it and ignore the --
with-ogg , --with-ogg-includes , --with-ogg-libraries options.
This prevents cross compiling on any system that has native ogg installed.
system details:
debian testing kernel 2.6.8-alpha and 2.6.9-i386
libvorbis-1.1.0
```Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/580divide by zero error2017-04-08T10:58:44Zjohnhdivide by zero error```
Encountered div by zero exception in bark_noise_hybridmp() in PSY.C caused by
the statement: D = tN * tXX - tX * tX; (don't know which one, there are 4
instances). When I prevented R = (A + x * B) / D; from being calculated if D ==
0...```
Encountered div by zero exception in bark_noise_hybridmp() in PSY.C caused by
the statement: D = tN * tXX - tX * tX; (don't know which one, there are 4
instances). When I prevented R = (A + x * B) / D; from being calculated if D ==
0, all was ok & the resultant OGG file could still be played (used winAmp).
Built v1.1 of ogg, vorbis, vorbisenc & vorbisfile with borland c++ builder v6 &
tested with builds of oggenc & oggdec on this dev. platform. Have emailed the
offending WAV file to Mike Smith - was generated by using directSound (v9) audio
capture api. Problem also occurred on a WAV decoded from an MP3 using LAME.
```Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/vorbis/-/issues/572alloca() is not portable2017-04-08T10:58:44Zjohnathanalloca() is not portable```
All calls to function "alloca()" should be removed as this function is machine
specific and not supported on all platforms or all compilers (ie. MPW for
Macintosh does not support this functionality). Even the man page for alloca()
...```
All calls to function "alloca()" should be removed as this function is machine
specific and not supported on all platforms or all compilers (ie. MPW for
Macintosh does not support this functionality). Even the man page for alloca()
states that use of this function is inadvisable.
Thanks.
```Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/557oggenc outputs 7s to stderr2017-04-08T10:58:44ZKyungjoon Leeoggenc outputs 7s to stderr```
Oggenc outputs lots of 7s to stderr when encoding. It still appears even when -Q
is active.
Here's a partial hexdump -C of the redirected output.
00000000 37 20 37 20 37 20 37 20 37 20 37 20 37 20 37 20 |7 7 7 7 7 7 7 7 |
*
``````
Oggenc outputs lots of 7s to stderr when encoding. It still appears even when -Q
is active.
Here's a partial hexdump -C of the redirected output.
00000000 37 20 37 20 37 20 37 20 37 20 37 20 37 20 37 20 |7 7 7 7 7 7 7 7 |
*
```Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/vorbis/-/issues/515bad m4 syntax with automake 1.8.x2017-04-08T10:58:44ZGitlab Botbad m4 syntax with automake 1.8.x```
people who have automake 1.8.x would see warnings like :
/usr/share/aclocal/vorbis.m4:9: warning: underquoted definition of XIPH_PATH_VORBIS
when running any ./autogen.sh
AC_DEFUN(XIPH_PATH_VORBIS,
should be
AC_DEFUN([XIPH_PATH_...```
people who have automake 1.8.x would see warnings like :
/usr/share/aclocal/vorbis.m4:9: warning: underquoted definition of XIPH_PATH_VORBIS
when running any ./autogen.sh
AC_DEFUN(XIPH_PATH_VORBIS,
should be
AC_DEFUN([XIPH_PATH_VORBIS],
then, automake would be silent
```Monty MontgomeryMonty Montgomery