Xiph.Org issueshttps://gitlab.xiph.org/groups/xiph/-/issues2017-04-08T10:58:44Zhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1377float point exception (division by zero)2017-04-08T10:58:44Zdancefloat point exception (division by zero)Hello guys,
I found bug in vorbis lib, float point division by zero exception under C++ Builder 6.
In C++ Builder by default turn on exceptions with invalid float point operations.
Bug
Vorbis version 1.2.0
file: floor1.c
line: 510
sta...Hello guys,
I found bug in vorbis lib, float point division by zero exception under C++ Builder 6.
In C++ Builder by default turn on exceptions with invalid float point operations.
Bug
Vorbis version 1.2.0
file: floor1.c
line: 510
static void fit_line(lsfit_acc *a,int fits,int *y0,int *y1)
{
...
double denom = 1./(an*fx2-fx*fx); //in some situation an*fx2-fx*fx can be 0.
// I change this line like
//double denom = (0. == (an*fx2-fx*fx)) ? 0:1./(an*fx2-fx*fx);
...
}Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1370GCC on OS/2 does not support -Wextra2017-04-08T10:58:44Zdave.r.yeoGCC on OS/2 does not support -WextraHi, pulling svn code and attempting to build vorbis results in an error about GCC not understanding -Wextra. GCC is version 3.3.5
Simplest fix I could think of is in attached patch
Dave Yeo
dave.r.yeo@gmail.comHi, pulling svn code and attempting to build vorbis results in an error about GCC not understanding -Wextra. GCC is version 3.3.5
Simplest fix I could think of is in attached patch
Dave Yeo
dave.r.yeo@gmail.comMonty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1361[PATCH] Vorbis x64 with MS V.Studio 2005+ compile fix2017-04-08T10:58:44ZDmitryKos[PATCH] Vorbis x64 with MS V.Studio 2005+ compile fixHello!
Vorbis library does not compile out of box under MS Studio 2005+ for x64 platform, failing on vorbis_ftoi. Generic fix for this issue is to wrap win32 platform to avoid compiler error as following:
in: os.h
static __inline int ...Hello!
Vorbis library does not compile out of box under MS Studio 2005+ for x64 platform, failing on vorbis_ftoi. Generic fix for this issue is to wrap win32 platform to avoid compiler error as following:
in: os.h
static __inline int vorbis_ftoi(double f){
#ifdef _M_IX86
int i;
__asm{
fld f
fistp i
}
return i;
#else
return (int)(f+.5);
#endif
}
Best regards,
Dmitry Kostjuchenko.Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1352[PATCH] enable filter callback in ov_read()2017-04-08T10:58:44ZGitlab Bot[PATCH] enable filter callback in ov_read()Adding a separate ticket for libvorbis component of #381.Adding a separate ticket for libvorbis component of #381.Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1291[PATCH] Mark all the constant tables as constant2017-04-08T10:58:44ZDiego Elio Pettenò[PATCH] Mark all the constant tables as constantThe current status of libvorbis (and especially of libvorbisenc) is not one of the best for shared libraries, as it contains a lot of static and non-static non-constant tables, which are never ever modified.
I'm attaching a patch that m...The current status of libvorbis (and especially of libvorbisenc) is not one of the best for shared libraries, as it contains a lot of static and non-static non-constant tables, which are never ever modified.
I'm attaching a patch that marks all the tables as constant, so that they can be moved to .rodata and thus reduce the memory occupation of libvorbis and libvorbisenc. In particular, libvorbisenc had over 1.5MB of non-constant tables, which are now all constant.
The patch applies fine over current SVN trunk, although it cause an huge amount of warnings at the moment because a lot of structures request a "foo*" rather than "const foo*" even when they don't modify the content. Also functions don't always request "const foo*", so there are quite a few warnings thrown in for that too.
I fixed quite a few of them, but I just couldn't fix all of them at once, the size of the patch is already massive, and I risked to have it fail on SVN if I started fixing all of them. Please don't reject the patch for that, as it would be nitpickery against a fix that's very much useful.
If you want, after you applied this patch I can prepare a new one to shut up the warnings.Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1290[PATCH] Remove unused static seq variable2017-04-08T10:58:44ZDiego Elio Pettenò[PATCH] Remove unused static seq variableThere are two static seq variables in floor1.c, one is totally unused, the other is only ever written to. The attached patch gets rid of them to avoid copy-on-write.There are two static seq variables in floor1.c, one is totally unused, the other is only ever written to. The attached patch gets rid of them to avoid copy-on-write.Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/vorbis/-/issues/1265libvorbis-1.2.0 won't build under OS X 10.52017-04-08T10:58:44ZJeff Lyonlibvorbis-1.2.0 won't build under OS X 10.5libvorbis-1.2.0 won't build under OS X 10.5:
$ ./configure
checking build system type... powerpc-apple-darwin9.1.0
checking host system type... powerpc-apple-darwin9.1.0
checking target system type... powerpc-apple-darwin9.1.0
checking ...libvorbis-1.2.0 won't build under OS X 10.5:
$ ./configure
checking build system type... powerpc-apple-darwin9.1.0
checking host system type... powerpc-apple-darwin9.1.0
checking target system type... powerpc-apple-darwin9.1.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
file config.log was not created, so no further information in this error is available.
Monty MontgomeryMonty Montgomeryhttps://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 Montgomery