Mercurial > mplayer.hg
view tremor/tremor.diff @ 15019:bc17fdd4e2ef
step 1 of fixing ad_faad:
use internal downmixing just like liba52 does if the output is <= 2 channels
actually this is broken since it makes it impossible to manually use
af_pan; however liba52 already has that limitation, and without this
patch, aac audio comes out TOTALLY wrong on 2-channel systems.
hopefully someone will find a better solution later.
next up: making ad_faad reorder the channels according to what mplayer
expects, so they won't all come out the wrong speakers...
author | rfelker |
---|---|
date | Tue, 29 Mar 2005 17:59:08 +0000 |
parents | a98495858305 |
children | 5fed6f245cc3 |
line wrap: on
line source
diff -ur orig/misc.h mod-2004-01-05/misc.h --- orig/misc.h 2005-01-04 16:29:01.000000000 +0100 +++ mod-2004-01-05/misc.h 2004-12-30 13:09:20.000000000 +0100 @@ -29,8 +29,9 @@ /* 64 bit multiply */ #include <sys/types.h> +#include "config.h" -#if BYTE_ORDER==LITTLE_ENDIAN +#ifndef WORDS_BIGENDIAN union magic { struct { ogg_int32_t lo; @@ -38,9 +39,7 @@ } halves; ogg_int64_t whole; }; -#endif - -#if BYTE_ORDER==BIG_ENDIAN +#else union magic { struct { ogg_int32_t hi; diff -ur orig/os_types.h mod-2004-01-05/os_types.h --- orig/os_types.h 2005-01-04 16:29:02.000000000 +0100 +++ mod-2004-01-05/os_types.h 2005-01-05 10:39:07.000000000 +0100 @@ -32,57 +32,10 @@ #define _ogg_realloc realloc #define _ogg_free free -#ifdef _WIN32 - -# ifndef __GNUC__ - /* MSVC/Borland */ - typedef __int64 ogg_int64_t; - typedef __int32 ogg_int32_t; - typedef unsigned __int32 ogg_uint32_t; - typedef __int16 ogg_int16_t; -# else - /* Cygwin */ - #include <_G_config.h> - typedef _G_int64_t ogg_int64_t; - typedef _G_int32_t ogg_int32_t; - typedef _G_uint32_t ogg_uint32_t; - typedef _G_int16_t ogg_int16_t; -# endif - -#elif defined(__MACOS__) - -# include <sys/types.h> - typedef SInt16 ogg_int16_t; - typedef SInt32 ogg_int32_t; - typedef UInt32 ogg_uint32_t; - typedef SInt64 ogg_int64_t; - -#elif defined(__MACOSX__) /* MacOS X Framework build */ - -# include <sys/types.h> - typedef int16_t ogg_int16_t; - typedef int32_t ogg_int32_t; - typedef u_int32_t ogg_uint32_t; + #include <inttypes.h> typedef int64_t ogg_int64_t; - -#elif defined(__BEOS__) - - /* Be */ -# include <inttypes.h> - -#elif defined (__EMX__) - - /* OS/2 GCC */ - typedef short ogg_int16_t; - typedef int ogg_int32_t; - typedef unsigned int ogg_uint32_t; - typedef long long ogg_int64_t; - -#else - -# include <sys/types.h> -# include "config_types.h" - -#endif + typedef int32_t ogg_int32_t; + typedef uint32_t ogg_uint32_t; + typedef int16_t ogg_int16_t; #endif /* _OS_TYPES_H */