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 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 +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 +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 -La riproduzione comincerŕ appena la cache verrŕ riempirŕ almeno a +La riproduzione comincerŕ appena la cache sarŕ piena fino alla 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 +滤镜改变单个像素的最大程度。 +同时也是侦测颜色近似不变区域的阈值(默认值:1.2)。 +.IPs +应用变化坡度的周边区域大小。 +较大的 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. diff --git a/configure b/configure index 22624cfcea..c4ee96feea 100755 --- a/configure +++ b/configure @@ -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 @@ -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 + -#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 #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 #include -#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 #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