[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