From 0854cf5aa2830ef74a77983221ba2925efda1dc1 Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 22 Aug 2013 18:36:58 +0000 Subject: [PATCH] Add support for libswresample --- makepanda/makepanda.py | 10 +++++++--- makepanda/makepandacore.py | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index a8381af947..912622db6e 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -79,13 +79,14 @@ PkgListSet(["PYTHON", "DIRECT", # Python support "GL", "GLES", "GLES2"] + DXVERSIONS + ["TINYDISPLAY", "NVIDIACG", # 3D graphics "EGL", # OpenGL (ES) integration "EIGEN", # Linear algebra acceleration - "OPENAL", "FMODEX", "FFMPEG", # Multimedia + "OPENAL", "FMODEX", # Audio playback + "FFMPEG", "SWSCALE", "SWRESAMPLE", # FFMpeg (audio decoding) "ODE", "PHYSX", "BULLET", "PANDAPHYSICS", # Physics "SPEEDTREE", # SpeedTree "ZLIB", "PNG", "JPEG", "TIFF", "SQUISH", "FREETYPE", # 2D Formats support ] + MAYAVERSIONS + MAXVERSIONS + [ "FCOLLADA", # 3D Formats support "VRPN", "OPENSSL", # Transport - "FFTW", "SWSCALE", # Algorithm helpers + "FFTW", # Algorithm helpers "ARTOOLKIT", "OPENCV", "DIRECTCAM", "VISION", # Augmented Reality "NPAPI", "AWESOMIUM", # Browser embedding "GTK2", "WX", "FLTK", # Toolkit support @@ -529,6 +530,7 @@ if (COMPILER == "MSVC"): if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", GetThirdpartyDir() + "ffmpeg/lib/avformat.lib") if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", GetThirdpartyDir() + "ffmpeg/lib/avutil.lib") if (PkgSkip("SWSCALE")==0): LibName("SWSCALE", GetThirdpartyDir() + "ffmpeg/lib/swscale.lib") + if (PkgSkip("SWRESAMPLE")==0):LibName("SWRESAMPLE",GetThirdpartyDir() + "ffmpeg/lib/swresample.lib") if (PkgSkip("ROCKET")==0): LibName("ROCKET", GetThirdpartyDir() + "rocket/lib/RocketCore.lib") LibName("ROCKET", GetThirdpartyDir() + "rocket/lib/RocketControls.lib") @@ -646,6 +648,7 @@ if (COMPILER=="GCC"): SmartPkgEnable("FCOLLADA", "", ChooseLib(fcollada_libs, "FCOLLADA"), ("FCollada", "FCollada.h")) SmartPkgEnable("FFMPEG", ffmpeg_libs, ffmpeg_libs, ffmpeg_libs) SmartPkgEnable("SWSCALE", "libswscale", "libswscale", ("libswscale", "libswscale/swscale.h"), target_pkg = "FFMPEG") + SmartPkgEnable("SWRESAMPLE","libswresample", "libswresample", ("libswresample", "libswresample/swresample.h"), target_pkg = "FFMPEG") SmartPkgEnable("FFTW", "", ("fftw", "rfftw"), ("fftw.h", "rfftw.h")) SmartPkgEnable("FMODEX", "", ("fmodex"), ("fmodex", "fmodex/fmod.h")) SmartPkgEnable("FREETYPE", "freetype2", ("freetype"), ("freetype2", "freetype2/freetype/freetype.h")) @@ -1923,6 +1926,7 @@ DTOOL_CONFIG=[ ("HAVE_CGDX9", 'UNDEF', 'UNDEF'), ("HAVE_FFMPEG", 'UNDEF', 'UNDEF'), ("HAVE_SWSCALE", 'UNDEF', 'UNDEF'), + ("HAVE_SWRESAMPLE", 'UNDEF', 'UNDEF'), ("HAVE_ARTOOLKIT", 'UNDEF', 'UNDEF'), ("HAVE_ODE", 'UNDEF', 'UNDEF'), ("HAVE_OPENCV", 'UNDEF', 'UNDEF'), @@ -3343,7 +3347,7 @@ if (not RUNTIME): if (not RUNTIME): OPTS=['DIR:panda/metalibs/panda', 'BUILDING:PANDA', 'VRPN', 'JPEG', 'PNG', 'TIFF', 'ZLIB', 'OPENSSL', 'FREETYPE', 'FFTW', 'ADVAPI', 'WINSOCK2','SQUISH', - 'NVIDIACG', 'WINUSER', 'WINMM', 'FFMPEG', 'SWSCALE', 'WINGDI', 'IPHLPAPI'] + 'NVIDIACG', 'WINUSER', 'WINMM', 'FFMPEG', 'SWSCALE', 'SWRESAMPLE', 'WINGDI', 'IPHLPAPI'] TargetAdd('panda_panda.obj', opts=OPTS, input='panda.cxx') diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index 8a08a713d8..8aabbb9dee 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -1460,6 +1460,9 @@ def SmartPkgEnable(pkg, pkgconfig = None, libs = None, incs = None, defs = None, # Let it be handled by the ffmpeg package LibName(target_pkg, "-lswscale") return + if (pkg.lower() == "swresample" and os.path.isfile(GetThirdpartyDir() + "ffmpeg/include/libswresample/swresample.h")): + LibName(target_pkg, "-lswresample") + return pkg_dir = os.path.join(GetThirdpartyDir(), pkg.lower()) if (os.path.isdir(pkg_dir)):