diff options
41 files changed, 144 insertions, 164 deletions
diff --git a/DOCS/man/hu/mplayer.1 b/DOCS/man/hu/mplayer.1 index 6d49d7fd92..a63c5af287 100644 --- a/DOCS/man/hu/mplayer.1 +++ b/DOCS/man/hu/mplayer.1 @@ -1,4 +1,4 @@ -.\" Synced with r29305 +.\" Synced with r29413 .\" MPlayer (C) 2000-2009 MPlayer Team .\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette .\" Karbantartó: Gabrov @@ -33,7 +33,7 @@ .\" Név .\" -------------------------------------------------------------------------- . -.TH MPlayer 1 "2009. 05. 24." "MPlayer Project" "A film lejátszó" +.TH MPlayer 1 "2009. 07. 13." "MPlayer Project" "A film lejátszó" . .SH NÉV mplayer \- film lejátszó @@ -7361,6 +7361,26 @@ A pixelek százalékos aránya, melyeknek a küszöb alatt kell lenniük (alapértelmez Határérték, mely alatt egy pixel feketének minősül (alapértelmezett: 32). .RE . +.TP +.B gradfun[=erősség[:sugár]] +Megszünteti a banding mellékhatásait, amik néha a színmélység 8 bitre történő +csökkentésekor jelentkeznek a sima területeken. +Interpolálja a szögeket, amik a sávok helyére kell, hogy kerüljenek és +árnyalja őket. +.sp 1 +Ez a szűrő a lejátszáshoz lett tervezve. +Ne használd veszteséges tömörítés előtt, mert a tömörítés elveszti az +árnyalást és visszahozza a sávokat. +.RSs +.IPs <erősség> +A maximum érték, amennyivel a szűrő megváltoztat egy pixelt. +Valamint ez a küszöbérték a majdnem sima területek azonosításához is (alapértelmezett: 1.2). +.IPs <sugár> +A szomszédság, melyhez a szögnek illeszkednie kell. +A nagyobb sugár simább szögeket ad, de megakadályozza a szűrőt a részletesebb +területek közelében lévő pixelek módosításában (alapértelmezett: 16). +.RE +. . . .SH "ÁLTALÁNOS KÓDOLÁSI OPCIÓK (CSAK MENCODER)" diff --git a/DOCS/man/it/mplayer.1 b/DOCS/man/it/mplayer.1 index 3d942fee2b..7232894625 100644 --- a/DOCS/man/it/mplayer.1 +++ b/DOCS/man/it/mplayer.1 @@ -1280,7 +1280,7 @@ Disabilita la cache. . .TP .B \-cache\-min <percentuale> -La riproduzione comincerŕ appena la cache verrŕ riempirŕ almeno a <percentuale> +La riproduzione comincerŕ appena la cache sarŕ piena fino alla <percentuale> del totale. . .TP diff --git a/DOCS/man/zh_CN/mplayer.1 b/DOCS/man/zh_CN/mplayer.1 index 78a0e2bbcc..874548068e 100644 --- a/DOCS/man/zh_CN/mplayer.1 +++ b/DOCS/man/zh_CN/mplayer.1 @@ -1,4 +1,4 @@ -.\" sync with en/mplayer.1 r29252 +.\" sync with en/mplayer.1 r29413 .\" Encoding: UTF-8 .\" Reminder of hard terms which need better/final solution later: .\" /capture; playtree in parent list; colorkey; retrace; desync; downmix; @@ -6852,6 +6852,23 @@ hĺć°ĺźă ĺłĺŽĺç´ ĺźä˝äşĺ¤ĺ°ĺ°ąč˘ŤčŽ¤ä˝ćŻéťč˛çéĺźďźéťčŽ¤ĺźďź32ďźă .RE . +.TP +.B gradfun[=strength[:radius]] +ćśé¤ććśĺĺ 为ĺ°č˛ćˇąéčł 8 ćŻçšĺďźĺ¨é˘č˛čżäźźä¸ĺçĺşĺé ćç希çść䟤ă +éčżćĺźĺ¨ĺ¸Śçśĺşĺ产çĺĺĺĄĺşŚďźäťč使ĺ
śé˘č˛äş§çćĺ¨ććă +.sp 1 +莞莥诼杤éäť
为ććžçŽçă +ä¸čŚĺ¨ććĺ矊ćĽéޤĺ使ç¨čŻĽćť¤éďźĺ 为ĺ矊čżç¨ĺŽšć丢夹ćĺ¨ććďźäťčć˘ĺ¤ĺ¸Śçść䟤ă +.RSs +.IPs <strength> +杤éćšĺĺ个ĺç´ çć大ç¨ĺşŚă +ĺćśäšćŻäžŚćľé˘č˛čżäźźä¸ĺĺşĺçéĺźďźéťčŽ¤ĺźďź1.2ďźă +.IPs <radius> +ĺşç¨ĺĺĺĄĺşŚçĺ¨čžšĺşĺ大ĺ°ă +čžĺ¤§ç radius ĺźĺ¸ŚćĽčžĺšłçźçĺĺĺĄĺşŚďźä˝ĺćśä˝żćť¤éä¸č˝äżŽćšé čżé˘č˛ĺĺ丰ĺŻĺşĺ +çĺç´ ďźéťčŽ¤ĺźďź16ďźă +.RE. +. . . .SH "éç¨çźç é饚ďźäť
ç¨äşMENCODERďź" diff --git a/DOCS/tech/colorspaces.txt b/DOCS/tech/colorspaces.txt index dc00fd388d..291a435f30 100644 --- a/DOCS/tech/colorspaces.txt +++ b/DOCS/tech/colorspaces.txt @@ -154,5 +154,5 @@ order followed by the number 32, the portable way to access it is to load the pixel into an integer and use bitmasks. When the above portable access methods are not used, you will need to write -2 versions of your code, and use #ifdef WORDS_BIGENDIAN to choose the correct +2 versions of your code, and use #if HAVE_BIGENDIAN to choose the correct one. @@ -2280,9 +2280,11 @@ fi if test "$_big_endian" = yes ; then _byte_order='big-endian' def_words_endian='#define WORDS_BIGENDIAN 1' + def_bigendian='#define HAVE_BIGENDIAN 1' else _byte_order='little-endian' def_words_endian='#undef WORDS_BIGENDIAN' + def_bigendian='#define HAVE_BIGENDIAN 0' fi echores "$_byte_order" @@ -4402,8 +4404,6 @@ def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE' _vidix_drv_cyberblade=no def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV' _vidix_drv_ivtv=no -def_vidix_drv_ivtv='#undef CONFIG_VIDIX_DRV_IVTV' -_vidix_drv_ivtv=no def_vidix_drv_mach64='#undef CONFIG_VIDIX_DRV_MACH64' _vidix_drv_mach64=no def_vidix_drv_mga='#undef CONFIG_VIDIX_DRV_MGA' @@ -4439,8 +4439,9 @@ echores "$_vidix" if test "$_vidix" = yes ; then def_vidix='#define CONFIG_VIDIX 1' _vomodules="cvidix $_vomodules" - test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome" - test $_ivtv = "yes" || _vidix_drivers=$(echo $_vidix_drivers | sed s/ivtv//) + # FIXME: ivtv driver temporarily disabled until we have a proper test + #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome" + test "$_vidix_drivers" || _vidix_drivers="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome" # some vidix drivers are architecture and os specific, discard them elsewhere x86 || _vidix_drivers=$(echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//) @@ -7932,7 +7933,6 @@ CONFIG_RDFT=yes CONFIG_BZLIB=$bzlib CONFIG_ENCODERS=yes CONFIG_GPL=yes -CONFIG_LIBVORBIS=$_libvorbis CONFIG_MLIB = $_mlib CONFIG_MUXERS=$_mencoder CONFIG_VDPAU=$_vdpau @@ -8104,6 +8104,7 @@ $def_pthread_cache /* CPU stuff */ #define __CPU__ $iproc $def_words_endian +$def_bigendian $(ff_config_enable "$_arch_all" "$_arch" "ARCH") $(ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE") @@ -8363,6 +8364,7 @@ $def_yasm #define CONFIG_SWSCALE 1 #define CONFIG_SWSCALE_ALPHA 1 +#define HAVE_ATTRIBUTE_PACKED 1 #define HAVE_GETHRTIME 0 #define HAVE_INLINE_ASM 0 #define HAVE_LDBRX 0 diff --git a/etc/codecs.conf b/etc/codecs.conf index f5aeee3eea..103955c322 100644 --- a/etc/codecs.conf +++ b/etc/codecs.conf @@ -3840,7 +3840,7 @@ audiocodec ffamrnb fourcc samr format 0x57 ;amr in avi driver ffmpeg - dll "libamr_nb" + dll "libopencore_amrnb" audiocodec ffamrwb info "AMR Wideband" @@ -3848,7 +3848,7 @@ audiocodec ffamrwb fourcc sawb format 0x58 ;amr in avi driver ffmpeg - dll "libamr_wb" + dll "libopencore_amrwb" audiocodec ffadcpmswf info "FFmpeg's ADPCM Flash-variant" diff --git a/liba52/bitstream.h b/liba52/bitstream.h index e894f16781..76f5556ea9 100644 --- a/liba52/bitstream.h +++ b/liba52/bitstream.h @@ -62,7 +62,7 @@ static inline uint32_t unaligned32(const void *v) { #endif /* (stolen from the kernel) */ -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN # define swab32(x) (x) diff --git a/liba52/liba52_changes.diff b/liba52/liba52_changes.diff index 1b3574f043..e44b84a84d 100644 --- a/liba52/liba52_changes.diff +++ b/liba52/liba52_changes.diff @@ -116,7 +116,7 @@ +#endif + /* (stolen from the kernel) */ - #ifdef WORDS_BIGENDIAN + #if HAVE_BIGENDIAN @@ -28,7 +68,7 @@ diff --git a/libaf/af_format.c b/libaf/af_format.c index faeae02efc..64acbbb9b6 100644 --- a/libaf/af_format.c +++ b/libaf/af_format.c @@ -332,7 +332,7 @@ af_info_t af_info_format = { }; static inline uint32_t load24bit(void* data, int pos) { -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN return (((uint32_t)((uint8_t*)data)[3*pos])<<24) | (((uint32_t)((uint8_t*)data)[3*pos+1])<<16) | (((uint32_t)((uint8_t*)data)[3*pos+2])<<8); @@ -344,7 +344,7 @@ static inline uint32_t load24bit(void* data, int pos) { } static inline void store24bit(void* data, int pos, uint32_t expanded_value) { -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN ((uint8_t*)data)[3*pos]=expanded_value>>24; ((uint8_t*)data)[3*pos+1]=expanded_value>>16; ((uint8_t*)data)[3*pos+2]=expanded_value>>8; diff --git a/libaf/af_format.h b/libaf/af_format.h index 553d18d962..66a74c901e 100644 --- a/libaf/af_format.h +++ b/libaf/af_format.h @@ -30,7 +30,7 @@ #define AF_FORMAT_LE (1<<0) // Little Endian #define AF_FORMAT_END_MASK (1<<0) -#ifdef WORDS_BIGENDIAN // Native endian of cpu +#if HAVE_BIGENDIAN // Native endian of cpu #define AF_FORMAT_NE AF_FORMAT_BE #else #define AF_FORMAT_NE AF_FORMAT_LE @@ -83,7 +83,7 @@ #define AF_FORMAT_FLOAT_LE (AF_FORMAT_F|AF_FORMAT_32BIT|AF_FORMAT_LE) #define AF_FORMAT_FLOAT_BE (AF_FORMAT_F|AF_FORMAT_32BIT|AF_FORMAT_BE) -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define AF_FORMAT_U16_NE AF_FORMAT_U16_BE #define AF_FORMAT_S16_NE AF_FORMAT_S16_BE #define AF_FORMAT_U24_NE AF_FORMAT_U24_BE diff --git a/libaf/af_lavcac3enc.c b/libaf/af_lavcac3enc.c index 761debec01..e217ffc86c 100644 --- a/libaf/af_lavcac3enc.c +++ b/libaf/af_lavcac3enc.c @@ -238,7 +238,7 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data) int16_t *out = (int16_t *)buf; int bsmod = dest[5] & 0x7; -#ifndef WORDS_BIGENDIAN +#if !HAVE_BIGENDIAN int i; char tmp; for (i = 0; i < len; i += 2) { diff --git a/libaf/reorder_ch.c b/libaf/reorder_ch.c index 2cbedb8146..88b1aa21dc 100644 --- a/libaf/reorder_ch.c +++ b/libaf/reorder_ch.c @@ -453,6 +453,7 @@ static int reorder_self_3(void *src, unsigned int samples, src_8[i+s2*3+1] = tmp1; src_8[i+s2*3+2] = tmp2; } + break; } case 4: { @@ -547,6 +548,7 @@ static int reorder_self_4_step_1(void *src, unsigned int samples, src_8[i+s3*3+1] = tmp1; src_8[i+s3*3+2] = tmp2; } + break; } case 4: { @@ -695,6 +697,7 @@ static int reorder_self_5_step_1(void *src, unsigned int samples, src_8[i+s4*3+1] = tmp1; src_8[i+s4*3+2] = tmp2; } + break; } case 4: { @@ -787,6 +790,7 @@ static int reorder_self_2_3(void *src, unsigned int samples, src_8[i+s4*3+1] = tmp1; src_8[i+s4*3+2] = tmp2; } + break; } case 4: { @@ -873,6 +877,7 @@ static int reorder_self_3_3(void *src, unsigned int samples, src_8[i+s5*3+1] = tmp1; src_8[i+s5*3+2] = tmp2; } + break; } case 4: { @@ -959,6 +964,7 @@ static int reorder_self_2_4(void *src, unsigned int samples, src_8[i+s5*3+1] = tmp1; src_8[i+s5*3+2] = tmp2; } + break; } case 4: { diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c index 4c3629b8c9..d71600e183 100644 --- a/libao2/ao_alsa.c +++ b/libao2/ao_alsa.c @@ -378,13 +378,13 @@ static int init(int rate_hz, int channels, int format, int flags) case AF_FORMAT_U16_BE: alsa_format = SND_PCM_FORMAT_U16_BE; break; -#ifndef WORDS_BIGENDIAN +#if !HAVE_BIGENDIAN case AF_FORMAT_AC3: #endif case AF_FORMAT_S16_LE: alsa_format = SND_PCM_FORMAT_S16_LE; break; -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN case AF_FORMAT_AC3: #endif case AF_FORMAT_S16_BE: @@ -402,6 +402,18 @@ static int init(int rate_hz, int channels, int format, int flags) case AF_FORMAT_S32_BE: alsa_format = SND_PCM_FORMAT_S32_BE; break; + case AF_FORMAT_U24_LE: + alsa_format = SND_PCM_FORMAT_U24_3LE; + break; + case AF_FORMAT_U24_BE: + alsa_format = SND_PCM_FORMAT_U24_3BE; + break; + case AF_FORMAT_S24_LE: + alsa_format = SND_PCM_FORMAT_S24_3LE; + break; + case AF_FORMAT_S24_BE: + alsa_format = SND_PCM_FORMAT_S24_3BE; + break; case AF_FORMAT_FLOAT_LE: alsa_format = SND_PCM_FORMAT_FLOAT_LE; break; diff --git a/libao2/ao_alsa5.c b/libao2/ao_alsa5.c index b2dc1efd3a..8843efb68a 100644 --- a/libao2/ao_alsa5.c +++ b/libao2/ao_alsa5.c @@ -101,13 +101,13 @@ static int init(int rate_hz, int channels, int format, int flags) case AF_FORMAT_U16_BE: alsa_format.format = SND_PCM_SFMT_U16_BE; break; -#ifndef WORDS_BIGENDIAN +#if !HAVE_BIGENDIAN case AF_FORMAT_AC3: #endif case AF_FORMAT_S16_LE: alsa_format.format = SND_PCM_SFMT_S16_LE; break; -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN case AF_FORMAT_AC3: #endif case AF_FORMAT_S16_BE: diff --git a/libao2/ao_coreaudio.c b/libao2/ao_coreaudio.c index 76cb9174be..ad17773fbd 100644 --- a/libao2/ao_coreaudio.c +++ b/libao2/ao_coreaudio.c @@ -345,7 +345,7 @@ int b_alive; } if ((format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_AC3) { // Currently ac3 input (comes from hwac3) is always in native byte-order. -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN inDesc.mFormatFlags |= kAudioFormatFlagIsBigEndian; #endif } @@ -669,7 +669,7 @@ static int OpenSPDIF(void) /* FIXME: If output stream is not native byte-order, we need change endian somewhere. */ /* Although there's no such case reported. */ -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN if (!(ao->stream_format.mFormatFlags & kAudioFormatFlagIsBigEndian)) #else if (ao->stream_format.mFormatFlags & kAudioFormatFlagIsBigEndian) diff --git a/libao2/ao_dxr2.c b/libao2/ao_dxr2.c index e8aa65aab5..4712f3341f 100644 --- a/libao2/ao_dxr2.c +++ b/libao2/ao_dxr2.c @@ -207,7 +207,7 @@ static int play(void* data,int len,int flags){ int i; //unsigned short *s=data; uint16_t *s=data; -#ifndef WORDS_BIGENDIAN +#if !HAVE_BIGENDIAN for(i=0;i<len/2;i++) s[i] = bswap_16(s[i]); #endif dxr2_send_lpcm_packet(data,len,0xA0,ao_data.pts-10000,freq_id); diff --git a/libao2/ao_oss.c b/libao2/ao_oss.c index c16d55c8df..0ff87efadd 100644 --- a/libao2/ao_oss.c +++ b/libao2/ao_oss.c @@ -70,17 +70,8 @@ static int format2oss(int format) case AF_FORMAT_U16_BE: return AFMT_U16_BE; case AF_FORMAT_S16_LE: return AFMT_S16_LE; case AF_FORMAT_S16_BE: return AFMT_S16_BE; -#ifdef AFMT_U24_LE - case AF_FORMAT_U24_LE: return AFMT_U24_LE; -#endif -#ifdef AFMT_U24_BE - case AF_FORMAT_U24_BE: return AFMT_U24_BE; -#endif -#ifdef AFMT_S24_LE - case AF_FORMAT_S24_LE: return AFMT_S24_LE; -#endif -#ifdef AFMT_S24_BE - case AF_FORMAT_S24_BE: return AFMT_S24_BE; +#ifdef AFMT_S24_PACKED + case AF_FORMAT_S24_LE: return AFMT_S24_PACKED; #endif #ifdef AFMT_U32_LE case AF_FORMAT_U32_LE: return AFMT_U32_LE; @@ -122,17 +113,8 @@ static int oss2format(int format) case AFMT_U16_BE: return AF_FORMAT_U16_BE; case AFMT_S16_LE: return AF_FORMAT_S16_LE; case AFMT_S16_BE: return AF_FORMAT_S16_BE; -#ifdef AFMT_U24_LE - case AFMT_U24_LE: return AF_FORMAT_U24_LE; -#endif -#ifdef AFMT_U24_BE - case AFMT_U24_BE: return AF_FORMAT_U24_BE; -#endif -#ifdef AFMT_S24_LE - case AFMT_S24_LE: return AF_FORMAT_S24_LE; -#endif -#ifdef AFMT_S24_BE - case AFMT_S24_BE: return AF_FORMAT_S24_BE; +#ifdef AFMT_S24_PACKED + case AFMT_S24_PACKED: return AF_FORMAT_S24_LE; #endif #ifdef AFMT_U32_LE case AFMT_U32_LE: return AF_FORMAT_U32_LE; @@ -353,7 +335,7 @@ ac3_retry: ao_data.format=format; oss_format=format2oss(format); if (oss_format == -1) { -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN oss_format=AFMT_S16_BE; #else oss_format=AFMT_S16_LE; diff --git a/libao2/ao_pcm.c b/libao2/ao_pcm.c index 78652c7cdc..94e0c438aa 100644 --- a/libao2/ao_pcm.c +++ b/libao2/ao_pcm.c @@ -234,7 +234,7 @@ static int play(void* data,int len,int flags){ // let libaf to do the conversion... #if 0 -//#ifdef WORDS_BIGENDIAN +//#if HAVE_BIGENDIAN if (ao_data.format == AFMT_S16_LE) { unsigned short *buffer = (unsigned short *) data; register int i; diff --git a/libfaad2/common.h b/libfaad2/common.h index 576e9ca115..59df8c0a5d 100644 --- a/libfaad2/common.h +++ b/libfaad2/common.h @@ -245,7 +245,7 @@ char *strchr(), *strrchr(); #endif -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define ARCH_IS_BIG_ENDIAN #endif diff --git a/libfaad2/local_changes.diff b/libfaad2/local_changes.diff index 56d584093e..6225df3f0e 100644 --- a/libfaad2/local_changes.diff +++ b/libfaad2/local_changes.diff @@ -1,16 +1,5 @@ --- libfaad2.orig/bits.h 2006-03-16 20:15:04.000000000 +0100 +++ libfaad2/bits.h 2006-03-16 20:37:21.000000000 +0100 -@@ -22,7 +22,10 @@ - ** Commercial non-GPL licensing of this software is possible. - ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. - ** -+** Initially modified for use with MPlayer by Arpad Gereöffy on 2003/08/30 - ** $Id: bits.h,v 1.40 2004/09/04 14:56:27 menno Exp $ -+** detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/ -+** local_changes.diff contains the exact changes to this file. - **/ - - #ifndef __BITS_H__ @@ -58,7 +61,7 @@ #if defined (_WIN32) && !defined(_WIN32_WCE) && !defined(__MINGW32__) @@ -22,18 +11,7 @@ #define BSWAP(a) \ --- libfaad2.orig/common.h 2006-03-16 20:15:04.000000000 +0100 +++ libfaad2/common.h 2006-03-16 20:56:56.000000000 +0100 -@@ -22,7 +22,10 @@ - ** Commercial non-GPL licensing of this software is possible. - ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. - ** -+** Initially modified for use with MPlayer by Arpad Gereöffy on 2003/08/30 - ** $Id: common.h,v 1.65 2004/09/08 09:43:11 gcp Exp $ -+** detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/ -+** local_changes.diff contains the exact changes to this file. - **/ - - #ifndef __COMMON_H__ -@@ -32,8 +35,13 @@ +@@ -32,8 +37,13 @@ #ifdef HAVE_CONFIG_H # include "../config.h" @@ -47,7 +25,7 @@ #define INLINE __inline #if 0 //defined(_WIN32) && !defined(_WIN32_WCE) #define ALIGN __declspec(align(16)) -@@ -61,7 +67,7 @@ +@@ -61,7 +69,7 @@ /* Use if target platform has address generators with autoincrement */ //#define PREFER_POINTERS @@ -56,7 +34,7 @@ #define FIXED_POINT #endif -@@ -117,6 +123,9 @@ +@@ -117,6 +125,9 @@ # ifdef MAIN_DEC # undef MAIN_DEC # endif @@ -66,7 +44,7 @@ #endif // FIXED_POINT #ifdef DRM -@@ -151,6 +160,7 @@ +@@ -151,6 +162,7 @@ #include <stdlib.h> @@ -74,7 +52,7 @@ typedef unsigned __int64 uint64_t; typedef unsigned __int32 uint32_t; typedef unsigned __int16 uint16_t; -@@ -159,5 +169,9 @@ +@@ -159,5 +171,9 @@ typedef __int32 int32_t; typedef __int16 int16_t; typedef __int8 int8_t; @@ -84,7 +62,16 @@ + typedef float float32_t; -@@ -289,7 +319,7 @@ +@@ -245,7 +245,7 @@ + + #endif + +-#ifdef WORDS_BIGENDIAN ++#if HAVE_BIGENDIAN + #define ARCH_IS_BIG_ENDIAN + #endif + +@@ -289,7 +305,7 @@ } @@ -93,7 +80,7 @@ #define HAS_LRINTF static INLINE int lrintf(float f) { -@@ -301,7 +331,7 @@ +@@ -301,7 +317,7 @@ } return i; } @@ -102,17 +89,17 @@ #define HAS_LRINTF // from http://www.stereopsis.com/FPU.html static INLINE int lrintf(float f) -@@ -330,7 +360,7 @@ +@@ -330,6 +346,8 @@ #else +#include <math.h> + -#ifdef HAVE_LRINTF --#if HAVE_LRINTF ++#if HAVE_LRINTF # define HAS_LRINTF # define _ISOC9X_SOURCE 1 -@@ -338,8 +370,6 @@ +@@ -338,8 +356,6 @@ # define __USE_ISOC99 1 #endif @@ -123,20 +110,6 @@ #error --- libfaad2.orig/output.c 2006-03-16 20:15:04.000000000 +0100 +++ libfaad2/output.c 2006-04-18 19:50:26.000000000 +0200 -@@ -19,10 +19,9 @@ - ** Any non-GPL usage of this software or parts of this software is strictly - ** forbidden. - ** --** Commercial non-GPL licensing of this software is possible. --** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. --** --** $Id: output.c,v 1.42 2004/09/04 14:56:28 menno Exp $ -+** Initially modified for use with MPlayer by Rich Felker on 2005/03/29 -+** $Id: output.c,v 1.11 2005/04/05 05:43:41 rfelker Exp $ -+** detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/ - **/ - - #include "common.h" @@ -463,7 +462,7 @@ } } @@ -200,17 +173,6 @@ #endif --- libfaad2.orig/ps_dec.c 2006-03-16 20:15:04.000000000 +0100 +++ libfaad2/ps_dec.c 2006-04-18 20:29:38.000000000 +0200 -@@ -22,7 +22,10 @@ - ** Commercial non-GPL licensing of this software is possible. - ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. - ** -+** Initially modified for use with MPlayer on 2005/12/05 - ** $Id: ps_dec.c,v 1.10 2004/09/04 14:56:28 menno Exp $ -+** detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/ -+** local_changes.diff contains the exact changes to this file. - **/ - - #include "common.h" @@ -159,7 +162,7 @@ /* static function declarations */ @@ -242,17 +204,6 @@ ps_data_decode(ps); --- libfaad2.orig/sbr_dec.c 2006-03-16 20:15:04.000000000 +0100 +++ libfaad2/sbr_dec.c 2006-04-18 20:33:57.000000000 +0200 -@@ -22,7 +22,10 @@ - ** Commercial non-GPL licensing of this software is possible. - ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. - ** -+** Initially modified for use with MPlayer on 2005/12/05 - ** $Id: sbr_dec.c,v 1.39 2004/09/04 14:56:28 menno Exp $ -+** detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/ -+** local_changes.diff contains the exact changes to this file. - **/ - - @@ -526,8 +529,8 @@ uint8_t l, k; uint8_t dont_process = 0; @@ -266,20 +217,6 @@ return 20; --- libfaad2.orig/specrec.c 2006-03-16 20:15:04.000000000 +0100 +++ libfaad2/specrec.c 2006-04-18 20:38:09.000000000 +0200 -@@ -19,10 +19,10 @@ - ** Any non-GPL usage of this software or parts of this software is strictly - ** forbidden. - ** --** Commercial non-GPL licensing of this software is possible. --** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. --** -+** Initially modified for use with MPlayer on 2006/04/18 - ** $Id: specrec.c,v 1.56 2004/09/08 09:43:11 gcp Exp $ -+** detailed changelog at http://svn.mplayerhq.hu/mplayer/trunk/ -+** local_changes.diff contains the exact changes to this file. - **/ - - /* @@ -673,29 +673,19 @@ /* MAIN object type prediction */ if (hDecoder->object_type == MAIN) @@ -386,7 +323,7 @@ retval = allocate_single_channel(hDecoder, sce->channel, output_channels); if (retval > 0) return retval; -@@ -1026,11 +994,10 @@ +@@ -1026,11 +995,10 @@ { return 23; } @@ -399,7 +336,7 @@ { uint8_t ele = hDecoder->fr_ch_ele; uint8_t ch = sce->channel; -@@ -1040,6 +1007,7 @@ +@@ -1040,6 +1008,7 @@ memcpy(hDecoder->time_out[ch+1], hDecoder->time_out[ch], frame_size); } #endif diff --git a/libmpcodecs/ad_hwac3.c b/libmpcodecs/ad_hwac3.c index 14f884be54..4dadf1723f 100644 --- a/libmpcodecs/ad_hwac3.c +++ b/libmpcodecs/ad_hwac3.c @@ -180,7 +180,7 @@ static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int m buf16[2] = 0x0001; // data-type ac3 buf16[2] |= (sh_audio->a_in_buffer[5] & 0x7) << 8; // bsmod buf16[3] = len << 3; // number of bits in payload -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN memcpy(buf + 8, sh_audio->a_in_buffer, len); #else swab(sh_audio->a_in_buffer, buf + 8, len); @@ -524,7 +524,7 @@ static int decode_audio_dts(unsigned char *indata_ptr, int len, unsigned char *b buf16[3] = fsize << 3; if (!convert_16bits) { -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN /* BE stream */ if (indata_ptr[0] == 0x1f || indata_ptr[0] == 0x7f) #else diff --git a/libmpcodecs/img_format.h b/libmpcodecs/img_format.h index 3922fdc5f3..559501fb89 100644 --- a/libmpcodecs/img_format.h +++ b/libmpcodecs/img_format.h @@ -25,7 +25,7 @@ #define IMGFMT_BGR24 (IMGFMT_BGR|24) #define IMGFMT_BGR32 (IMGFMT_BGR|32) -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define IMGFMT_ABGR IMGFMT_RGB32 #define IMGFMT_BGRA (IMGFMT_RGB32|64) #define IMGFMT_ARGB IMGFMT_BGR32 diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index 0f9f9f7400..dfc7958a23 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -887,7 +887,7 @@ static mp_image_t *decode(sh_video_t *sh, void *data, int len, int flags){ mpi->stride[2]*=2; } -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN // FIXME: this might cause problems for buffers with FF_BUFFER_HINTS_PRESERVE if (mpi->bpp == 8) swap_palette(mpi->planes[1]); diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c index e00a9afdb0..d387fadc49 100644 --- a/libmpcodecs/vf.c +++ b/libmpcodecs/vf.c @@ -240,7 +240,7 @@ void vf_mpi_clear(mp_image_t* mpi,int x0,int y0,int w,int h){ unsigned int* p=(unsigned int*) dst; int size=(mpi->bpp>>3)*w/4; int i; -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define CLEAR_PACKEDYUV_PATTERN 0x00800080 #define CLEAR_PACKEDYUV_PATTERN_SWAPPED 0x80008000 #else diff --git a/libmpcodecs/vf_scale.c b/libmpcodecs/vf_scale.c index f1388fb1b0..2590481eee 100644 --- a/libmpcodecs/vf_scale.c +++ b/libmpcodecs/vf_scale.c @@ -321,7 +321,7 @@ static void start_slice(struct vf_instance* vf, mp_image_t *mpi){ static void scale(struct SwsContext *sws1, struct SwsContext *sws2, uint8_t *src[MP_MAX_PLANES], int src_stride[MP_MAX_PLANES], int y, int h, uint8_t *dst[MP_MAX_PLANES], int dst_stride[MP_MAX_PLANES], int interlaced){ uint8_t *src2[MP_MAX_PLANES]={src[0], src[1], src[2]}; -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN uint32_t pal2[256]; if (src[1] && !src[2]){ int i; diff --git a/libmpdemux/asf.h b/libmpdemux/asf.h index b8cd4374ff..a1e29a942f 100644 --- a/libmpdemux/asf.h +++ b/libmpdemux/asf.h @@ -19,7 +19,7 @@ #ifndef MPLAYER_ASF_H #define MPLAYER_ASF_H -//#include "config.h" /* for WORDS_BIGENDIAN */ +//#include "config.h" /* for HAVE_BIGENDIAN */ #include <inttypes.h> #include "libavutil/common.h" #include "mpbswap.h" @@ -105,7 +105,7 @@ typedef struct __attribute__((packed)) { } ASF_stream_chunck_t; // Definition of the stream type -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define ASF_STREAMING_CLEAR 0x2443 // $C #define ASF_STREAMING_DATA 0x2444 // $D #define ASF_STREAMING_END_TRANS 0x2445 // $E @@ -140,7 +140,7 @@ typedef struct { * Some macros to swap little endian structures read from an ASF file * into machine endian format */ -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define le2me_ASF_obj_header_t(h) { \ (h)->size = le2me_64((h)->size); \ } diff --git a/libmpdemux/aviheader.h b/libmpdemux/aviheader.h index 0dd915fc5d..a06ef711ac 100644 --- a/libmpdemux/aviheader.h +++ b/libmpdemux/aviheader.h @@ -21,7 +21,7 @@ #include <sys/types.h> #include <stdint.h> -#include "config.h" /* get correct definition of WORDS_BIGENDIAN */ +#include "config.h" /* get correct definition of HAVE_BIGENDIAN */ #include "libavutil/common.h" #include "mpbswap.h" @@ -227,7 +227,7 @@ typedef enum { * Some macros to swap little endian structures read from an AVI file * into machine endian format */ -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define le2me_MainAVIHeader(h) { \ (h)->dwMicroSecPerFrame = le2me_32((h)->dwMicroSecPerFrame); \ (h)->dwMaxBytesPerSec = le2me_32((h)->dwMaxBytesPerSec); \ diff --git a/libmpdemux/demux_xmms.c b/libmpdemux/demux_xmms.c index a75def6e33..a370824119 100644 --- a/libmpdemux/demux_xmms.c +++ b/libmpdemux/demux_xmms.c @@ -101,7 +101,7 @@ static int disk_open(AFormat fmt, int rate, int nch) { xmms_afmt=AF_FORMAT_U16_LE; break; case FMT_U16_NE: -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN xmms_afmt=AF_FORMAT_U16_BE; #else xmms_afmt=AF_FORMAT_U16_LE; diff --git a/libmpdemux/demuxer.h b/libmpdemux/demuxer.h index ee1cd2cce5..deb3732c5b 100644 --- a/libmpdemux/demuxer.h +++ b/libmpdemux/demuxer.h @@ -402,7 +402,7 @@ stream_t* new_ds_stream(demux_stream_t *ds); static inline int avi_stream_id(unsigned int id){ unsigned char *p=(unsigned char *)&id; unsigned char a,b; -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN a=p[3]-'0'; b=p[2]-'0'; #else a=p[0]-'0'; b=p[1]-'0'; diff --git a/libmpdemux/ms_hdr.h b/libmpdemux/ms_hdr.h index 87d0bf6e58..aaeffa6ef3 100644 --- a/libmpdemux/ms_hdr.h +++ b/libmpdemux/ms_hdr.h @@ -68,7 +68,7 @@ typedef struct { #endif #ifndef le2me_BITMAPINFOHEADER -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define le2me_BITMAPINFOHEADER(h) { \ (h)->biSize = le2me_32((h)->biSize); \ (h)->biWidth = le2me_32((h)->biWidth); \ diff --git a/libvo/osd_template.c b/libvo/osd_template.c index e59b4e5681..6d8305a3c5 100644 --- a/libvo/osd_template.c +++ b/libvo/osd_template.c @@ -320,7 +320,7 @@ static inline void RENAME(vo_draw_alpha_rgb24)(int w,int h, unsigned char* src, static inline void RENAME(vo_draw_alpha_rgb32)(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){ int y; -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN dstbase++; #endif #if HAVE_MMX diff --git a/libvo/vo_svga.c b/libvo/vo_svga.c index 433f8d76ef..ed68fd79a6 100644 --- a/libvo/vo_svga.c +++ b/libvo/vo_svga.c @@ -635,7 +635,7 @@ static int query_format(uint32_t format) { if( (!IMGFMT_IS_RGB(format)) && (!IMGFMT_IS_BGR(format)) ) return 0; // Reject different endian -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN if (IMGFMT_IS_BGR(format)) return 0; #else if (IMGFMT_IS_RGB(format)) return 0; diff --git a/libvo/vo_tga.c b/libvo/vo_tga.c index 707455b4ea..38299aca88 100644 --- a/libvo/vo_tga.c +++ b/libvo/vo_tga.c @@ -138,7 +138,7 @@ static int write_tga( char *file, int bpp, int dx, int dy, uint8_t *buf, int str s = buf; d = line_buff; for(x = 0; x < dx; x++) { - #ifdef WORDS_BIGENDIAN + #if HAVE_BIGENDIAN d[0] = s[3]; d[1] = s[2]; d[2] = s[1]; diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c index d1120ae927..938640a809 100644 --- a/libvo/vo_x11.c +++ b/libvo/vo_x11.c @@ -262,7 +262,7 @@ static void freeMyXImage(void) ImageData = NULL; } -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define BO_NATIVE MSBFirst #define BO_NONNATIVE LSBFirst #else @@ -446,7 +446,7 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, // we can easily "emulate" them. if (out_format & 64 && (IMGFMT_IS_RGB(out_format) || IMGFMT_IS_BGR(out_format))) { out_format &= ~64; -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN out_offset = 1; #else out_offset = -1; diff --git a/mp3lib/decod386.c b/mp3lib/decod386.c index 4b6d69bc4d..a2cfb56ce8 100644 --- a/mp3lib/decod386.c +++ b/mp3lib/decod386.c @@ -50,11 +50,11 @@ * On a SPARC cpu, we fetch the low-order 32-bit from the second 32-bit * word of the double fp value stored in memory. On an x86 cpu, we fetch it * from the first 32-bit word. - * I'm not sure if the WORDS_BIGENDIAN feature test covers all possible memory + * I'm not sure if the HAVE_BIGENDIAN feature test covers all possible memory * layouts of double floating point values an all cpu architectures. If * it doesn't work for you, just enable the "old WRITE_SAMPLE" macro. */ -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN #define MANTISSA_OFFSET 1 #else #define MANTISSA_OFFSET 0 diff --git a/stream/realrtsp/real.c b/stream/realrtsp/real.c index d81b265bab..b8f943c8e0 100644 --- a/stream/realrtsp/real.c +++ b/stream/realrtsp/real.c @@ -382,10 +382,14 @@ int real_get_rdt_chunk(rtsp_t *rtsp_session, char **buffer, int rdt_rawdata) { ph.flags=0; *buffer = xbuffer_ensure_size(*buffer, 12+size); if(rdt_rawdata) { + if (size < 12) + return 0; n=rtsp_read_data(rtsp_session, *buffer, size-12); return (n <= 0) ? 0 : n; } rmff_dump_pheader(&ph, *buffer); + if (size < 12) + return 0; size-=12; n=rtsp_read_data(rtsp_session, (*buffer)+12, size); diff --git a/stream/stream_cdda.c b/stream/stream_cdda.c index 90172c46c7..707a5d9a51 100644 --- a/stream/stream_cdda.c +++ b/stream/stream_cdda.c @@ -346,7 +346,7 @@ static int fill_buffer(stream_t* s, char* buffer, int max_len) { if (!buf) return 0; -#ifdef WORDS_BIGENDIAN +#if HAVE_BIGENDIAN for(i=0;i<CD_FRAMESIZE_RAW/2;i++) buf[i]=le2me_16(buf[i]); #endif diff --git a/tremor/misc.h b/tremor/misc.h index cb9b66a678..8a235d657b 100644 --- a/tremor/misc.h +++ b/tremor/misc.h @@ -31,7 +31,7 @@ #include <sys/types.h> #include "config.h" -#ifndef WORDS_BIGENDIAN +#if !HAVE_BIGENDIAN union magic { struct { ogg_int32_t lo; diff --git a/tremor/tremor.diff b/tremor/tremor.diff index 09838bc250..61e31c751a 100644 --- a/tremor/tremor.diff +++ b/tremor/tremor.diff @@ -7,7 +7,7 @@ +#include "config.h" -#if BYTE_ORDER==LITTLE_ENDIAN -+#ifndef WORDS_BIGENDIAN ++#if !HAVE_BIGENDIAN union magic { struct { ogg_int32_t lo; diff --git a/vidix/ivtv_vid.c b/vidix/ivtv_vid.c index 5cfc7a7e19..16e44928af 100644 --- a/vidix/ivtv_vid.c +++ b/vidix/ivtv_vid.c @@ -231,6 +231,8 @@ int ivtv_probe(int verbose, int force) pciinfo_t lst[MAX_PCI_DEVICES]; int err = 0; unsigned int i, num_pci = 0; + unsigned char yuv_device_number = 48, yuv_device = 48 + fb_number; + char yuv_device_name[] = "/dev/videoXXX\0"; if(verbose) printf(IVTV_MSG"probe\n"); @@ -302,9 +304,6 @@ card_found: } /* Try to find YUV device */ - unsigned char yuv_device_number = 48, yuv_device = 48 + fb_number; - char yuv_device_name[] = "/dev/videoXXX\0"; - do { sprintf(yuv_device_name, "/dev/video%u", yuv_device); yuvdev = open(yuv_device_name, O_RDWR); @@ -399,10 +398,11 @@ int ivtv_get_caps(vidix_capability_t *to) int ivtv_query_fourcc(vidix_fourcc_t *to) { + int supports = 0; + if(ivtv_verbose) printf(IVTV_MSG"query fourcc (%x)\n", to->fourcc); - int supports = 0; switch(to->fourcc) { case IMGFMT_YV12: diff --git a/vidix/radeon_vid.c b/vidix/radeon_vid.c index 7a9d9d086d..ee8aa23109 100644 --- a/vidix/radeon_vid.c +++ b/vidix/radeon_vid.c @@ -831,7 +831,7 @@ static void radeon_engine_restore( void ) (pitch64 << 22)); radeon_fifo_wait(1); -#if defined(WORDS_BIGENDIAN) +#if HAVE_BIGENDIAN OUTREGP(DP_DATATYPE, HOST_BIG_ENDIAN_EN, ~HOST_BIG_ENDIAN_EN); #else |