[Mplayerxp-cvslog] SF.net SVN: mplayerxp:[339] mplayerxp
Brought to you by:
olov
From: <nic...@us...> - 2012-11-12 09:54:41
|
Revision: 339 http://mplayerxp.svn.sourceforge.net/mplayerxp/?rev=339&view=rev Author: nickols_k Date: 2012-11-12 09:54:33 +0000 (Mon, 12 Nov 2012) Log Message: ----------- use enums and inline functions instead of #define Modified Paths: -------------- mplayerxp/libvo/osd_template.c mplayerxp/mplayerxp.c mplayerxp/osdep/aclib_template.c mplayerxp/postproc/aflib_accel.h mplayerxp/pvector/pvector.h mplayerxp/pvector/pvector_f32_x86.h mplayerxp/pvector/pvector_int_x86.h Modified: mplayerxp/libvo/osd_template.c =================================================================== --- mplayerxp/libvo/osd_template.c 2012-11-12 09:35:42 UTC (rev 338) +++ mplayerxp/libvo/osd_template.c 2012-11-12 09:54:33 UTC (rev 339) @@ -70,12 +70,12 @@ if(srca[x]) *dst=((dstbase[x]*srca[x])>>8)+src[x]; if(_ivec_aligned(dst)) break; /* align on sizeof(MMREG) boundary */ } - if((w-x)>=__IVEC_SIZE) - for(;x<w;x+=__IVEC_SIZE){ + if((w-x)>=_ivec_size()) + for(;x<w;x+=_ivec_size()){ __ivec vmsk,vdest,vsrc,vsrca,vt[4]; - _ivec_prefetchw(&dstbase[x+__IVEC_SIZE*4]); - _ivec_prefetch(&src[x+__IVEC_SIZE*4]); - _ivec_prefetch(&srca[x+__IVEC_SIZE*4]); + _ivec_prefetchw(&dstbase[x+_ivec_size()*4]); + _ivec_prefetch(&src[x+_ivec_size()*4]); + _ivec_prefetch(&srca[x+_ivec_size()*4]); vdest = _ivec_loada(&dstbase[x]); if(_ivec_aligned(&src[x])) vsrc = _ivec_loada(&src[x]); @@ -133,9 +133,9 @@ mm[5]=_m_psllwi(mm[5],8); mm[4]=_m_psrlwi(mm[4],8); for(;x<w;x+=4){ - _ivec_prefetchw(&dstbase[x+__IVEC_SIZE*4]); - _ivec_prefetch(&src[x+__IVEC_SIZE*4]); - _ivec_prefetch(&srca[x+__IVEC_SIZE*4]); + _ivec_prefetchw(&dstbase[x+_ivec_size()*4]); + _ivec_prefetch(&src[x+_ivec_size()*4]); + _ivec_prefetch(&srca[x+_ivec_size()*4]); mm[0]=_m_load(&(((char *)dstbase)[x*2])); mm[1]=mm[0]; mm[0]=_m_pand(mm[0],mm[4]); @@ -192,9 +192,9 @@ mm[6]=_mm_set1_pi8(0xFF); for(;x<w;x+=2){ if(srca[x] || srca[x+1]) { - _ivec_prefetchw(&dstbase[x+__IVEC_SIZE*4]); - _ivec_prefetch(&src[x+__IVEC_SIZE*4]); - _ivec_prefetch(&srca[x+__IVEC_SIZE*4]); + _ivec_prefetchw(&dstbase[x+_ivec_size()*4]); + _ivec_prefetch(&src[x+_ivec_size()*4]); + _ivec_prefetch(&srca[x+_ivec_size()*4]); mm[0]=_m_load(&dstbase[0]); mm[1]=mm[0]; mm[5]=mm[0]; @@ -264,9 +264,9 @@ mm[6]=_mm_set1_pi8(0xFF); for(;x<w;x+=2){ if(srca[x] || srca[x+1]) { - _ivec_prefetchw(&dstbase[x+__IVEC_SIZE*4]); - _ivec_prefetch(&src[x+__IVEC_SIZE*4]); - _ivec_prefetch(&srca[x+__IVEC_SIZE*4]); + _ivec_prefetchw(&dstbase[x+_ivec_size()*4]); + _ivec_prefetch(&src[x+_ivec_size()*4]); + _ivec_prefetch(&srca[x+_ivec_size()*4]); mm[0]=_m_load(&dstbase[4*x]); mm[1]=mm[0]; mm[0]=_m_punpcklbw(mm[0],mm[7]); Modified: mplayerxp/mplayerxp.c =================================================================== --- mplayerxp/mplayerxp.c 2012-11-12 09:35:42 UTC (rev 338) +++ mplayerxp/mplayerxp.c 2012-11-12 09:54:33 UTC (rev 339) @@ -101,30 +101,32 @@ static x86_features_t x86; #endif -#define ABS(x) (((x)>=0)?(x):(-(x))) +enum { + INITED_VO =0x00000001, + INITED_AO =0x00000002, + INITED_RESERVED =0x00000004, + INITED_LIRC =0x00000008, + INITED_SPUDEC =0x00000010, + INITED_STREAM =0x00000020, + INITED_INPUT =0x00000040, + INITED_DEMUXER =0x00000080, + INITED_ACODEC =0x00000100, + INITED_VCODEC =0x00000200, + INITED_VOBSUB =0x00000400, + INITED_SUBTITLE =0x10000000, + INITED_XMP =0x80000000, + INITED_ALL =0xFFFFFFFF +}; -#define INITED_VO 0x00000001 -#define INITED_AO 0x00000002 -#define INITED_RESERVED 0x00000004 -#define INITED_LIRC 0x00000008 -#define INITED_SPUDEC 0x00000010 -#define INITED_STREAM 0x00000020 -#define INITED_INPUT 0x00000040 -#define INITED_DEMUXER 0x00000080 -#define INITED_ACODEC 0x00000100 -#define INITED_VCODEC 0x00000200 -#define INITED_VOBSUB 0x00000400 -#define INITED_SUBTITLE 0x10000000 -#define INITED_XMP 0x80000000 -#define INITED_ALL 0xFFFFFFFF +enum { + PT_NEXT_ENTRY =1, + PT_PREV_ENTRY =-1, + PT_NEXT_SRC =2, + PT_PREV_SRC =-2, + PT_UP_NEXT =3, + PT_UP_PREV =-3 +}; -#define PT_NEXT_ENTRY 1 -#define PT_PREV_ENTRY -1 -#define PT_NEXT_SRC 2 -#define PT_PREV_SRC -2 -#define PT_UP_NEXT 3 -#define PT_UP_PREV -3 - typedef struct priv_s { unsigned inited_flags; int vo_inited; @@ -524,54 +526,52 @@ static void init_player( void ) { - if(mp_conf.video_driver && strcmp(mp_conf.video_driver,"help")==0) - { + if(mp_conf.video_driver && strcmp(mp_conf.video_driver,"help")==0) { vo_print_help(vo_data); mpxp_uninit_structs(); exit(0); } - if(mp_conf.audio_driver && strcmp(mp_conf.audio_driver,"help")==0) - { + if(mp_conf.audio_driver && strcmp(mp_conf.audio_driver,"help")==0) { ao_print_help(); mpxp_uninit_structs(); exit(0); } - if(mp_conf.video_family && strcmp(mp_conf.video_family,"help")==0){ + if(mp_conf.video_family && strcmp(mp_conf.video_family,"help")==0) { vfm_help(); mpxp_uninit_structs(); exit(0); } - if(mp_conf.audio_family && strcmp(mp_conf.audio_family,"help")==0){ + if(mp_conf.audio_family && strcmp(mp_conf.audio_family,"help")==0) { afm_help(); mpxp_uninit_structs(); exit(0); } - if(vf_cfg.list && strcmp(vf_cfg.list,"help")==0){ + if(vf_cfg.list && strcmp(vf_cfg.list,"help")==0) { vf_help(); mpxp_uninit_structs(); exit(0); } - if(af_cfg.list && strcmp(af_cfg.list,"help")==0){ + if(af_cfg.list && strcmp(af_cfg.list,"help")==0) { af_help(); mpxp_uninit_structs(); exit(0); } /* check codec.conf*/ - if(!parse_codec_cfg(get_path("codecs.conf"))){ - if(!parse_codec_cfg(CONFDIR"/codecs.conf")){ + if(!parse_codec_cfg(get_path("codecs.conf"))) { + if(!parse_codec_cfg(CONFDIR"/codecs.conf")) { MSG_HINT(MSGTR_CopyCodecsConf); mpxp_uninit_structs(); exit(0); } } - if(mp_conf.audio_codec && strcmp(mp_conf.audio_codec,"help")==0){ + if(mp_conf.audio_codec && strcmp(mp_conf.audio_codec,"help")==0) { list_codecs(1); mpxp_uninit_structs(); exit(0); } - if(mp_conf.video_codec && strcmp(mp_conf.video_codec,"help")==0){ + if(mp_conf.video_codec && strcmp(mp_conf.video_codec,"help")==0) { list_codecs(0); mpxp_uninit_structs(); exit(0); Modified: mplayerxp/osdep/aclib_template.c =================================================================== --- mplayerxp/osdep/aclib_template.c 2012-11-12 09:35:42 UTC (rev 338) +++ mplayerxp/osdep/aclib_template.c 2012-11-12 09:54:33 UTC (rev 339) @@ -51,7 +51,7 @@ #if defined( OPTIMIZE_MMX ) && !defined( OPTIMIZE_MMX2 ) #define MIN_LEN 0x800 /* 2K blocks. Was found experimentally */ #else -#define MIN_LEN __IVEC_SIZE*8 +#define MIN_LEN _ivec_size()*8 #endif #undef FAST_MEMORY_COPY @@ -60,7 +60,7 @@ any_t*retval;\ const unsigned char *cfrom=from;\ unsigned char *tto=to;\ - const unsigned block_size = __IVEC_SIZE*8;\ + const unsigned block_size = _ivec_size()*8;\ __ivec iarr[8];\ size_t i;\ retval = to;\ @@ -101,24 +101,24 @@ /* if SRC is misaligned */\ for(; i>0; i--)\ {\ - _ivec_prefetch(&cfrom[__IVEC_SIZE*8]);\ - _ivec_prefetch(&cfrom[__IVEC_SIZE*8+32]);\ - iarr[0] = _ivec_loadu(&cfrom[__IVEC_SIZE*0]);\ - iarr[1] = _ivec_loadu(&cfrom[__IVEC_SIZE*1]);\ - iarr[2] = _ivec_loadu(&cfrom[__IVEC_SIZE*2]);\ - iarr[3] = _ivec_loadu(&cfrom[__IVEC_SIZE*3]);\ - iarr[4] = _ivec_loadu(&cfrom[__IVEC_SIZE*4]);\ - iarr[5] = _ivec_loadu(&cfrom[__IVEC_SIZE*5]);\ - iarr[6] = _ivec_loadu(&cfrom[__IVEC_SIZE*6]);\ - iarr[7] = _ivec_loadu(&cfrom[__IVEC_SIZE*7]);\ - MEM_STORE(&tto[__IVEC_SIZE*0],iarr[0]);\ - MEM_STORE(&tto[__IVEC_SIZE*1],iarr[1]);\ - MEM_STORE(&tto[__IVEC_SIZE*2],iarr[2]);\ - MEM_STORE(&tto[__IVEC_SIZE*3],iarr[3]);\ - MEM_STORE(&tto[__IVEC_SIZE*4],iarr[4]);\ - MEM_STORE(&tto[__IVEC_SIZE*5],iarr[5]);\ - MEM_STORE(&tto[__IVEC_SIZE*6],iarr[6]);\ - MEM_STORE(&tto[__IVEC_SIZE*7],iarr[7]);\ + _ivec_prefetch(&cfrom[_ivec_size()*8]);\ + _ivec_prefetch(&cfrom[_ivec_size()*8+32]);\ + iarr[0] = _ivec_loadu(&cfrom[_ivec_size()*0]);\ + iarr[1] = _ivec_loadu(&cfrom[_ivec_size()*1]);\ + iarr[2] = _ivec_loadu(&cfrom[_ivec_size()*2]);\ + iarr[3] = _ivec_loadu(&cfrom[_ivec_size()*3]);\ + iarr[4] = _ivec_loadu(&cfrom[_ivec_size()*4]);\ + iarr[5] = _ivec_loadu(&cfrom[_ivec_size()*5]);\ + iarr[6] = _ivec_loadu(&cfrom[_ivec_size()*6]);\ + iarr[7] = _ivec_loadu(&cfrom[_ivec_size()*7]);\ + MEM_STORE(&tto[_ivec_size()*0],iarr[0]);\ + MEM_STORE(&tto[_ivec_size()*1],iarr[1]);\ + MEM_STORE(&tto[_ivec_size()*2],iarr[2]);\ + MEM_STORE(&tto[_ivec_size()*3],iarr[3]);\ + MEM_STORE(&tto[_ivec_size()*4],iarr[4]);\ + MEM_STORE(&tto[_ivec_size()*5],iarr[5]);\ + MEM_STORE(&tto[_ivec_size()*6],iarr[6]);\ + MEM_STORE(&tto[_ivec_size()*7],iarr[7]);\ cfrom+=block_size;\ tto+=block_size;\ }\ @@ -126,24 +126,24 @@ /* if SRC is aligned */\ for(; i>0; i--)\ {\ - _ivec_prefetch(&cfrom[__IVEC_SIZE*8]);\ - _ivec_prefetch(&cfrom[__IVEC_SIZE*8+32]);\ - iarr[0] = _ivec_loada(&cfrom[__IVEC_SIZE*0]);\ - iarr[1] = _ivec_loada(&cfrom[__IVEC_SIZE*1]);\ - iarr[2] = _ivec_loada(&cfrom[__IVEC_SIZE*2]);\ - iarr[3] = _ivec_loada(&cfrom[__IVEC_SIZE*3]);\ - iarr[4] = _ivec_loada(&cfrom[__IVEC_SIZE*4]);\ - iarr[5] = _ivec_loada(&cfrom[__IVEC_SIZE*5]);\ - iarr[6] = _ivec_loada(&cfrom[__IVEC_SIZE*6]);\ - iarr[7] = _ivec_loada(&cfrom[__IVEC_SIZE*7]);\ - MEM_STORE(&tto[__IVEC_SIZE*0],iarr[0]);\ - MEM_STORE(&tto[__IVEC_SIZE*1],iarr[1]);\ - MEM_STORE(&tto[__IVEC_SIZE*2],iarr[2]);\ - MEM_STORE(&tto[__IVEC_SIZE*3],iarr[3]);\ - MEM_STORE(&tto[__IVEC_SIZE*4],iarr[4]);\ - MEM_STORE(&tto[__IVEC_SIZE*5],iarr[5]);\ - MEM_STORE(&tto[__IVEC_SIZE*6],iarr[6]);\ - MEM_STORE(&tto[__IVEC_SIZE*7],iarr[7]);\ + _ivec_prefetch(&cfrom[_ivec_size()*8]);\ + _ivec_prefetch(&cfrom[_ivec_size()*8+32]);\ + iarr[0] = _ivec_loada(&cfrom[_ivec_size()*0]);\ + iarr[1] = _ivec_loada(&cfrom[_ivec_size()*1]);\ + iarr[2] = _ivec_loada(&cfrom[_ivec_size()*2]);\ + iarr[3] = _ivec_loada(&cfrom[_ivec_size()*3]);\ + iarr[4] = _ivec_loada(&cfrom[_ivec_size()*4]);\ + iarr[5] = _ivec_loada(&cfrom[_ivec_size()*5]);\ + iarr[6] = _ivec_loada(&cfrom[_ivec_size()*6]);\ + iarr[7] = _ivec_loada(&cfrom[_ivec_size()*7]);\ + MEM_STORE(&tto[_ivec_size()*0],iarr[0]);\ + MEM_STORE(&tto[_ivec_size()*1],iarr[1]);\ + MEM_STORE(&tto[_ivec_size()*2],iarr[2]);\ + MEM_STORE(&tto[_ivec_size()*3],iarr[3]);\ + MEM_STORE(&tto[_ivec_size()*4],iarr[4]);\ + MEM_STORE(&tto[_ivec_size()*5],iarr[5]);\ + MEM_STORE(&tto[_ivec_size()*6],iarr[6]);\ + MEM_STORE(&tto[_ivec_size()*7],iarr[7]);\ cfrom+=block_size;\ tto+=block_size;\ }\ Modified: mplayerxp/postproc/aflib_accel.h =================================================================== --- mplayerxp/postproc/aflib_accel.h 2012-11-12 09:35:42 UTC (rev 338) +++ mplayerxp/postproc/aflib_accel.h 2012-11-12 09:54:33 UTC (rev 339) @@ -9,14 +9,14 @@ unsigned i; i = 0; #ifdef HAVE_INT_PVECTOR - len_mm=len&(~(__IVEC_SIZE-1)); + len_mm=len&(~(_ivec_size()-1)); if(!_ivec_aligned(out_data)) for(;i<len;i++) { ((uint16_t*)out_data)[i]=((uint16_t)((const uint8_t*)in_data)[i])<<8; if(_ivec_aligned(out_data)) break; } - if((len_mm-i)>=__IVEC_SIZE) - for(;i<len_mm;i+=__IVEC_SIZE){ + if((len_mm-i)>=_ivec_size()) + for(;i<len_mm;i+=_ivec_size()){ __ivec ind,itmp[2]; if(_ivec_aligned(in_data)) ind = _ivec_loada(&((const uint8_t *)in_data)[i]); @@ -25,10 +25,10 @@ itmp[0] = _ivec_scale_u16_from_u8(ind,&itmp[1]); if(final) { _ivec_stream(&((uint16_t*)out_data)[i],itmp[0]); - _ivec_stream(&((uint16_t*)out_data)[i+__IVEC_SIZE/2],itmp[1]); + _ivec_stream(&((uint16_t*)out_data)[i+_ivec_size()/2],itmp[1]); } else { _ivec_storea(&((uint16_t*)out_data)[i],itmp[0]); - _ivec_storea(&((uint16_t*)out_data)[i+__IVEC_SIZE/2],itmp[1]); + _ivec_storea(&((uint16_t*)out_data)[i+_ivec_size()/2],itmp[1]); } } _ivec_empty(); @@ -46,22 +46,22 @@ unsigned i; i = 0; #ifdef HAVE_INT_PVECTOR - len_mm=len&(~(__IVEC_SIZE-1)); + len_mm=len&(~(_ivec_size()-1)); if(!_ivec_aligned(out_data)) for(;i<len;i++) { ((uint8_t*)out_data)[i]=(uint8_t)((((const uint16_t*)in_data)[i])>>8); if(_ivec_aligned(out_data)) break; } - if((len_mm-i)>=__IVEC_SIZE) - for(;i<len_mm;i+=__IVEC_SIZE){ + if((len_mm-i)>=_ivec_size()) + for(;i<len_mm;i+=_ivec_size()){ __ivec outd,itmp[2]; if(_ivec_aligned(in_data)) { itmp[0] = _ivec_loada(&((const uint16_t*)in_data)[i]); - itmp[1] = _ivec_loada(&((const uint16_t*)in_data)[i+__IVEC_SIZE/2]); + itmp[1] = _ivec_loada(&((const uint16_t*)in_data)[i+_ivec_size()/2]); } else { itmp[0] = _ivec_loadu(&((const uint16_t*)in_data)[i]); - itmp[1] = _ivec_loadu(&((const uint16_t*)in_data)[i+__IVEC_SIZE/2]); + itmp[1] = _ivec_loadu(&((const uint16_t*)in_data)[i+_ivec_size()/2]); } outd = _ivec_scale_s8_from_s16(itmp[0],itmp[1]); if(final) @@ -84,14 +84,14 @@ unsigned i; i=0; #ifdef HAVE_INT_PVECTOR - len_mm=len&(~(__IVEC_SIZE-1)); + len_mm=len&(~(_ivec_size()-1)); if(!_ivec_aligned(out_data)) for(;i<len;i++){ ((uint32_t*)out_data)[i]=((uint32_t)((const uint16_t*)in_data)[i])<<16; if(_ivec_aligned(out_data)) break; } - if((len_mm-i)>=__IVEC_SIZE) - for(;i<len_mm;i+=__IVEC_SIZE) + if((len_mm-i)>=_ivec_size()) + for(;i<len_mm;i+=_ivec_size()) { __ivec ind,tmp[2]; if(_ivec_aligned(in_data)) @@ -101,10 +101,10 @@ tmp[0]= _ivec_scale_u32_from_u16(ind,&tmp[1]); if(final) { _ivec_stream(&((uint8_t *)out_data)[i*2],tmp[0]); - _ivec_stream(&((uint8_t *)out_data)[i*2+__IVEC_SIZE],tmp[1]); + _ivec_stream(&((uint8_t *)out_data)[i*2+_ivec_size()],tmp[1]); } else { _ivec_storea(&((uint8_t *)out_data)[i*2],tmp[0]); - _ivec_storea(&((uint8_t *)out_data)[i*2+__IVEC_SIZE],tmp[1]); + _ivec_storea(&((uint8_t *)out_data)[i*2+_ivec_size()],tmp[1]); } } if(final) _ivec_sfence(); @@ -122,22 +122,22 @@ unsigned i; i=0; #ifdef HAVE_INT_PVECTOR - len_mm=len&(~(__IVEC_SIZE-1)); + len_mm=len&(~(_ivec_size()-1)); if(!_ivec_aligned(out_data)) for(;i<len;i++){ ((uint16_t*)out_data)[i]=(uint16_t)((((const uint32_t*)in_data)[i])>>16); if(_ivec_aligned(out_data)) break; } - if((len_mm-i)>=__IVEC_SIZE) - for(;i<len_mm;i+=__IVEC_SIZE) + if((len_mm-i)>=_ivec_size()) + for(;i<len_mm;i+=_ivec_size()) { __ivec ind[2],tmp; if(_ivec_aligned(in_data)) { ind[0]=_ivec_loada(&((const uint8_t *)in_data)[i*2]); - ind[1]=_ivec_loada(&((const uint8_t *)in_data)[i*2+__IVEC_SIZE]); + ind[1]=_ivec_loada(&((const uint8_t *)in_data)[i*2+_ivec_size()]); } else { ind[0]=_ivec_loadu(&((const uint8_t *)in_data)[i*2]); - ind[1]=_ivec_loadu(&((const uint8_t *)in_data)[i*2+__IVEC_SIZE]); + ind[1]=_ivec_loadu(&((const uint8_t *)in_data)[i*2+_ivec_size()]); } tmp = _ivec_scale_s16_from_s32(ind[0],ind[1]); if(final) @@ -334,9 +334,9 @@ if(_f32vec_aligned(out)) break; } _ivec_empty(); - len_mm=len&(~(__F32VEC_SIZE-1)); - if((len_mm-i)>=__F32VEC_SIZE/sizeof(float)) - for(;i<len_mm;i+=__F32VEC_SIZE/sizeof(float)) { + len_mm=len&(~(_f32vec_size()-1)); + if((len_mm-i)>=_f32vec_size()/sizeof(float)) + for(;i<len_mm;i+=_f32vec_size()/sizeof(float)) { __f32vec tmp; if(_f32vec_aligned(in)) tmp = _f32vec_loada(&((const float*)in)[i]); @@ -372,8 +372,8 @@ if(_f32vec_aligned(out)) break; } _ivec_empty(); - if((len-i)>=__F32VEC_SIZE) - for(;i<len;i+=__F32VEC_SIZE/sizeof(float)) { + if((len-i)>=_f32vec_size()) + for(;i<len;i+=_f32vec_size()/sizeof(float)) { __f32vec tmp; if(_f32vec_aligned(in)) tmp = _f32vec_from_s32a(&((const int32_t*)in)[i]); Modified: mplayerxp/pvector/pvector.h =================================================================== --- mplayerxp/pvector/pvector.h 2012-11-12 09:35:42 UTC (rev 338) +++ mplayerxp/pvector/pvector.h 2012-11-12 09:54:33 UTC (rev 339) @@ -57,7 +57,7 @@ u32 - unsigned uint32_t This interface defines: - __IVEC_SIZE size of vector in bytes + _ivec_size size of vector in bytes __ivec type of vector functions: @@ -174,7 +174,7 @@ f32 - float32_t This interface defines: - __F32VEC_SIZE size of vector in bytes + _f32vec_size() size of vector in bytes __f32vec type of vector functions: Modified: mplayerxp/pvector/pvector_f32_x86.h =================================================================== --- mplayerxp/pvector/pvector_f32_x86.h 2012-11-12 09:35:42 UTC (rev 338) +++ mplayerxp/pvector/pvector_f32_x86.h 2012-11-12 09:54:33 UTC (rev 339) @@ -21,21 +21,31 @@ #include <mm3dnow.h> #endif -#undef __F32VEC_SIZE #undef __f32vec #ifdef OPTIMIZE_AVX -#define __F32VEC_SIZE 32 #define __f32vec __m256 #elif defined( OPTIMIZE_SSE ) -#define __F32VEC_SIZE 16 #define __f32vec __m128 #else -#define __F32VEC_SIZE 8 #define __f32vec __m64 #endif +extern __inline unsigned __attribute__((__gnu_inline__, __always_inline__)) +PVECTOR_RENAME(f32vec_size)() +{ +#ifdef OPTIMIZE_AVX + return 32; +#elif defined( OPTIMIZE_SSE ) + return 16; +#else + retturn 8; +#endif +} +#undef _f32vec_size +#define _f32vec_size PVECTOR_RENAME(f32vec_size) + extern __inline int __attribute__((__gnu_inline__, __always_inline__)) -PVECTOR_RENAME(f32vec_aligned)(const any_t* p) { return (((long)p)&(__F32VEC_SIZE-1))==0; } +PVECTOR_RENAME(f32vec_aligned)(const any_t* p) { return (((long)p)&(_f32vec_size()-1))==0; } #undef _f32vec_aligned #define _f32vec_aligned PVECTOR_RENAME(f32vec_aligned) Modified: mplayerxp/pvector/pvector_int_x86.h =================================================================== --- mplayerxp/pvector/pvector_int_x86.h 2012-11-12 09:35:42 UTC (rev 338) +++ mplayerxp/pvector/pvector_int_x86.h 2012-11-12 09:54:33 UTC (rev 339) @@ -24,18 +24,29 @@ #include <mmintrin.h> #endif -#undef __IVEC_SIZE #undef __ivec #ifdef OPTIMIZE_SSE2 -#define __IVEC_SIZE 16 #define __ivec __m128i #else -#define __IVEC_SIZE 8 #define __ivec __m64 #endif +static __inline unsigned __attribute__((__gnu_inline__, __always_inline__)) +PVECTOR_RENAME(ivec_size)() +{ +#ifdef OPTIMIZE_AVX + return 32; +#elif defined(OPTIMIZE_SSE2) + return 16; +#else + return 8; +#endif +} +#undef _ivec_size +#define _ivec_size PVECTOR_RENAME(ivec_size) + static __inline int __attribute__((__gnu_inline__, __always_inline__)) -PVECTOR_RENAME(ivec_aligned)(const any_t* p) { return (((long)p)&(__IVEC_SIZE-1))==0; } +PVECTOR_RENAME(ivec_aligned)(const any_t* p) { return (((long)p)&(_ivec_size()-1))==0; } #undef _ivec_aligned #define _ivec_aligned PVECTOR_RENAME(ivec_aligned) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |