1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-21 18:57:35 +00:00

Use USE_WIN32DLL define instead of ARCH_X86 to decide whether or not to compile

Win32 DLL code into mplayer.  Default for USE_WIN32DLL is enabled on x86
machines, disabled otherwise.

Use of Win32 DLLs can be disabled on x86 using the --disable-win32 configure
option.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1518 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
jkeil 2001-08-14 18:28:56 +00:00
parent 64fe159a41
commit fe55d26666
4 changed files with 42 additions and 27 deletions

View File

@ -24,15 +24,12 @@ VO_LIBS = -Llibvo -lvo $(X_LIBS)
PARTS = mp3lib libac3 libmpeg2 opendivx libavcodec encore libvo libao2 drivers drivers/syncfb
ifeq ($(TARGET_ARCH_X86),yes)
ifneq ($(W32_LIB),)
PARTS += loader loader/DirectShow
SRCS += dll_init.c
LOADER_DEP = loader/libloader.a $(DS_DEP)
LIB_LOADER = -Lloader -lloader $(DS_LIB)
else
LOADER_DEP =
LIB_LOADER =
endif
LOADER_DEP = $(W32_DEP) $(DS_DEP)
LIB_LOADER = $(W32_LIB) $(DS_LIB)
.SUFFIXES: .c .o

40
configure vendored
View File

@ -163,6 +163,7 @@ params:
--disable-select disable audio select() support ( for example required this
option ALSA or Vortex2 driver )
--disable-win32 disable Win32 DLL support
--disable-dshow disable DirectShow support (if you don't have
C++ compiler&libs, or you've found dshow codecs
slower than old VfW ones)
@ -456,8 +457,8 @@ _fbdev=no
[ "$system_name" = Linux ] && _fbdev=yes
_lirc=no
_css=no
_dshow=yes
[ "$host_arch" != i386 ] && _dshow=no
_win32dll=yes _dshow=yes
[ "$host_arch" != i386 ] && _dshow=no _win32dll=no
_fastmemcpy=yes
_streaming=no
_libavcodec=no
@ -510,7 +511,7 @@ done
_win32libdirnotify=no
if [ "$host_arch" = i386 ]; then
if [ $_win32dll = yes ]; then
if [ -d /usr/lib/win32 ]; then
_win32libdir=/usr/lib/win32
elif [ -d /usr/local/lib/win32 ]; then
@ -1169,6 +1170,10 @@ for ac_option do
--disable-select)
_select='#undef HAVE_AUDIO_SELECT'
;;
--disable-win32)
_win32dll=no
_dshow=no # no dshow without win32dlls
;;
--disable-dshow)
_dshow=no
;;
@ -1408,6 +1413,7 @@ echo "Checking for ESD Audio ... $_esd"
echo "Checking for Sun Audio ... $_sun_audio"
echo "Checking for DeCSS support ... $_css"
echo "Checking for PNG support ... $_png"
echo "Checking for Win32 DLL support ... $_win32dll"
echo "Checking for DirectShow ... $_dshow"
echo "Checking for libavcodec ... $_libavcodec"
echo "Checking for divx4linux ... $_divx4linux"
@ -1454,16 +1460,25 @@ else
_cssinc=''
fi
if [ $_dshow = yes ]; then
_dshowlib='-Lloader/DirectShow -lDS_Filter -lstdc++'
_dshowdep='loader/DirectShow/libDS_Filter.a'
_dshow='#define USE_DIRECTSHOW'
if [ $_win32dll = yes ]; then
_win32dll='#define USE_WIN32DLL 1'
_win32lib='-Lloader -lloader'
_win32dep='loader/libloader.a'
if [ $_dshow = yes ]; then
_dshow='#define USE_DIRECTSHOW'
_dshowlib='-Lloader/DirectShow -lDS_Filter -lstdc++'
_dshowdep='loader/DirectShow/libDS_Filter.a'
else
_dshow='#undef USE_DIRECTSHOW' _dshowlib='' _dshowdep=''
fi
else
_dshowlib=''
_dshowdep=''
_dshow='#undef USE_DIRECTSHOW'
_win32dll='#undef USE_WIN32DLL' _win32lib='' _win32dep=''
_dshow='#undef USE_DIRECTSHOW' _dshowlib='' _dshowdep=''
fi
if [ $_libavcodec = yes ]; then
_lavclib='-Llibavcodec -lavcodec'
_lavcdep='libavcodec/libavcodec.a'
@ -1844,6 +1859,8 @@ LIRC_LIBS = $_lirclibs
CSS_LIB = $_csslib
CSS_INC = $_cssinc
SDL_INC = $_sdlcflags
W32_DEP = $_win32dep
W32_LIB = $_win32lib
DS_DEP = $_dshowdep
DS_LIB = $_dshowlib
AV_DEP = $_lavcdep
@ -1949,6 +1966,9 @@ $_css
/* Define this to enable MPEG 1/2 image postprocessing (requires FAST cpu!) */
#define MPEG12_POSTPROC
/* Win32 DLL support */
$_win32dll
/* DirectShow support */
$_dshow

View File

@ -78,8 +78,8 @@ sh_audio->audio_out_minsize=8192;// default size, maybe not enough for Win32/ACM
switch(driver){
case AFM_ACM:
#ifndef ARCH_X86
printf("Win32/ACM audio codec unavailable on non-x86 CPU -> force nosound :(\n");
#ifndef USE_WIN32DLL
printf("Win32/ACM audio codec disabled, or unavailable on non-x86 CPU -> force nosound :(\n");
driver=0;
#else
// Win32 ACM audio codec:
@ -157,7 +157,7 @@ memset(sh_audio->a_buffer,0,sh_audio->a_buffer_size);
sh_audio->a_buffer_len=0;
switch(driver){
#ifdef ARCH_X86
#ifdef USE_WIN32DLL
case AFM_ACM: {
int ret=acm_decode_audio(sh_audio,sh_audio->a_buffer,4096,sh_audio->a_buffer_size);
if(ret<0){
@ -332,7 +332,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){
}
//printf("{3:%d}",avi_header.idx_pos);fflush(stdout);
break;
#ifdef ARCH_X86
#ifdef USE_WIN32DLL
case AFM_ACM:
// len=sh_audio->audio_out_minsize; // optimal decoded fragment size
// if(len<minlen) len=minlen; else

View File

@ -104,7 +104,6 @@ int get_video_quality_max(sh_video_t *sh_video){
void set_video_quality(sh_video_t *sh_video,int quality){
switch(sh_video->codec->driver){
#ifdef ARCH_X86
#ifdef USE_DIRECTSHOW
case VFM_DSHOW: {
if(quality<0 || quality>4) quality=4;
@ -112,7 +111,6 @@ void set_video_quality(sh_video_t *sh_video,int quality){
}
break;
#endif
#endif
#ifdef MPEG12_POSTPROC
case VFM_MPEG: {
if(quality<0 || quality>6) quality=6;
@ -147,7 +145,7 @@ unsigned int out_fmt=sh_video->codec->outfmt[sh_video->outfmtidx];
sh_video->our_out_buffer=NULL;
switch(sh_video->codec->driver){
#ifdef ARCH_X86
#ifdef USE_WIN32DLL
case VFM_VFW: {
if(!init_video_codec(sh_video,0)) {
// GUI_MSG( mplUnknowError )
@ -213,13 +211,13 @@ switch(sh_video->codec->driver){
break;
#endif
}
#else /* !ARCH_X86 */
#else /* !USE_WIN32DLL */
case VFM_VFW:
case VFM_DSHOW:
case VFM_VFWEX:
fprintf(stderr,"MPlayer does not support win32 codecs on non-x86 platforms!\n");
fprintf(stderr,"Support for win32 codecs disabled, or unavailable on non-x86 platforms!\n");
return 0;
#endif /* !ARCH_X86 */
#endif /* !USE_WIN32DLL */
case VFM_ODIVX: { // OpenDivX
if(verbose) printf("OpenDivX video codec\n");
{ DEC_PARAM dec_param;
@ -465,7 +463,7 @@ if(verbose>1){
break;
}
#endif
#ifdef ARCH_X86
#ifdef USE_WIN32DLL
case VFM_VFWEX:
case VFM_VFW:
{