[Vorbis-dev] various patches from Mandrakelinux package
David Walser
luigiwalser
Mon Aug 2 08:04:56 PDT 2004
I previously forwarded a similar (lib64) patch from
Gwenole for libao which has not been integrated. It,
and another patch can be seen here:
http://cvs.mandrakesoft.com/cgi-bin/cvsweb.cgi/SPECS/libao/
Also, libogg has two similar patches here:
http://cvs.mandrakesoft.com/cgi-bin/cvsweb.cgi/SPECS/libogg/
These patches add amd64/nacona support, and make it so
that it doesn't override your CFLAGS.
PS - this is the second time I had to send this
because since the stupid mailing list software doesn't
set the Reply-to and you have to change it manually I
accidentally put vorbis at xiph.org the first time :o(
--- Frederik Himpe <fhimpe at telenet.be> wrote:
> I was looking at the libvorbis 1.0 SRPM of
> Mandrakelinux, and it contained
> some patches which are not included in vorbis 1.1
> svn. I'm attaching these
> patches here, because it could maybe be interesting
> to include these
> upstream.
>
> (libvorbis-1.1-aliasing.patch is actually a rediffed
> patch of Mandrakesoft's
> one for 1.0 against 1.1 svn).
>
> The author of these patches is Gwenole Beachesne,
> gbeauchesne at
> mandrakesoft.com.
>
> Frederik
>
>
> > --- libvorbis-1.0/vorbis.m4.lib64 2002-07-09
> 09:08:57.000000000 -0400
> +++ libvorbis-1.0/vorbis.m4 2002-07-25
> 13:56:52.000000000 -0400
> @@ -15,12 +15,37 @@ AC_ARG_WITH(vorbis-libraries,[
> --with-v
> AC_ARG_WITH(vorbis-includes,[
> --with-vorbis-includes=DIR Directory where
> libvorbis header files are installed (optional)],
> vorbis_includes="$withval", vorbis_includes="")
> AC_ARG_ENABLE(vorbistest, [ --disable-vorbistest
> Do not try to compile and run a test Vorbis
> program],, enable_vorbistest=yes)
>
> + case $host in
> + *-*-linux*)
> + # Test if the compiler is 64bit
> + echo 'int i;' > conftest.$ac_ext
> + vorbis_cv_cc_64bit_output=no
> + if AC_TRY_EVAL(ac_compile); then
> + case `/usr/bin/file conftest.$ac_objext` in
> + *"ELF 64"*)
> + vorbis_cv_cc_64bit_output=yes
> + ;;
> + esac
> + fi
> + rm -rf conftest*
> + ;;
> + esac
> +
> + case $host_cpu:$vorbis_cv_cc_64bit_output in
> + powerpc64:yes | s390x:yes | sparc64:yes |
> x86_64:yes)
> + vorbis_libname="lib64"
> + ;;
> + *:*)
> + vorbis_libname="lib"
> + ;;
> + esac
> +
> if test "x$vorbis_libraries" != "x" ; then
> VORBIS_LIBS="-L$vorbis_libraries"
> elif test "x$vorbis_prefix" != "x" ; then
> - VORBIS_LIBS="-L$vorbis_prefix/lib"
> + VORBIS_LIBS="-L$vorbis_prefix/$vorbis_libname"
> elif test "x$prefix" != "xNONE"; then
> - VORBIS_LIBS="-L$prefix/lib"
> + VORBIS_LIBS="-L$prefix/$vorbis_libname"
> fi
>
> VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm"
> > --- vorbis/lib/scales.h.orig 2004-08-02
> 15:45:04.362854132 +0200
> +++ vorbis/lib/scales.h 2004-08-02
> 15:50:21.122133795 +0200
> @@ -25,21 +25,47 @@
> #define VORBIS_IEEE_FLOAT32 1
> #ifdef VORBIS_IEEE_FLOAT32
>
> -static float unitnorm(float x){
> +static inline float unitnorm(float x){
> +#if 1
> + union ieee754_float v;
> + v.f = x;
> + v.ieee.exponent = IEEE754_FLOAT_BIAS;
> + v.ieee.mantissa = 0;
> + return v.f;
> +#else
> ogg_uint32_t *ix=(ogg_uint32_t *)&x;
> *ix=(*ix&0x80000000UL)|(0x3f800000UL);
> return(x);
> +#endif
> }
>
> -static float FABS(float *x){
> +static inline float FABS(float *x){
> +/* [gb] why would people want this semantics? */
> +static inline float FABS(float *x){ /* UNUSED */
> +#if 1
> + union ieee754_float v;
> + v.f = *x;
> + v.ieee.negative = 0;
> + return (*x = v.f);
> +#else
> ogg_uint32_t *ix=(ogg_uint32_t *)x;
> *ix&=0x7fffffffUL;
> return(*x);
> +#endif
> }
>
> /* Segher was off (too high) by ~ .3 decibel.
> Center the conversion correctly. */
> -static float todB(const float *x){
> +static inline float todB(const float *x){
> +#if 1
> + union { float f; ogg_int32_t i; } v;
> + v.f = fabs(*x);
> + calc = v.i;
> + calc *= 7.17711438e-7f;
> + calc += -764.6161886f;
> + return calc;
> +#else
> return (float)((*(ogg_int32_t *)x)&0x7fffffff) *
> 7.17711438e-7f -764.6161886f;
> +#endif
> }
>
> #define todB_nn(x) todB(x)
> > --- ./configure.in.gege Fri Jan 11 18:44:20 2002
> +++ ./configure.in Fri Jan 11 18:46:12 2002
> @@ -75,10 +75,10 @@
>
> case $host in
> *86-*-linux*)
> - DEBUG="-g -Wall -W -D_REENTRANT
> -D__NO_MATH_INLINES -fsigned-char"
> - CFLAGS="-O20 -ffast-math -mno-ieee-fp
> -D_REENTRANT -fsigned-char"
> +# DEBUG="-g -Wall -W -D_REENTRANT
> -D__NO_MATH_INLINES -fsigned-char"
> + CFLAGS="$CFLAGS -ffast-math -mno-ieee-fp
> -D_REENTRANT -fsigned-char"
> # PROFILE="-Wall -W -pg -g -O20
> -ffast-math -D_REENTRANT -fsigned-char -fno-inline
> -static"
> - PROFILE="-Wall -W -pg -g -O20 -ffast-math
> -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline"
> +# PROFILE="-Wall -W -pg -g -O20 -ffast-math
> -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline"
>
> # glibc < 2.1.3 has a serious FP bug in the math
> inline header
> # that will cripple Vorbis. Look to see if the
> magic FP stack
> @@ -120,9 +120,9 @@
> PROFILE=${PROFILE}" -D__NO_MATH_INLINES"
> fi;;
> *-*-linux*)
> - DEBUG="-g -Wall -W -D_REENTRANT
> -D__NO_MATH_INLINES -fsigned-char"
> - CFLAGS="-O20 -ffast-math -D_REENTRANT
> -fsigned-char"
> - PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT
> -fsigned-char";;
> +# DEBUG="-g -Wall -W -D_REENTRANT
> -D__NO_MATH_INLINES -fsigned-char"
> + CFLAGS="$CFLAGS -ffast-math -D_REENTRANT
> -fsigned-char";;
> +# PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT
> -fsigned-char";;
> sparc-sun-*)
> DEBUG="-g -Wall -W -D__NO_MATH_INLINES
> -fsigned-char -mv8"
> CFLAGS="-O20 -ffast-math -D__NO_MATH_INLINES
> -fsigned-char -mv8"
> > _______________________________________________
> Vorbis-dev mailing list
> Vorbis-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/vorbis-dev
>
_______________________________
Do you Yahoo!?
Express yourself with Y! Messenger! Free. Download now.
http://messenger.yahoo.com
More information about the Vorbis-dev
mailing list