diff --git a/mythtv/libs/libmythtv/bswap.h b/mythtv/libs/libmythtv/bswap.h index 6683c46f0d8..4856de9c6dc 100644 --- a/mythtv/libs/libmythtv/bswap.h +++ b/mythtv/libs/libmythtv/bswap.h @@ -2,7 +2,17 @@ #define MYTHTV_BSWAP_H #include /* uint32_t */ -#include /* bswap_16|32|64 */ + +#ifdef __linux__ +# include /* bswap_16|32|64 */ +#elif defined __APPLE__ +# include +# define bswap_16(x) OSSwapInt16(x) +# define bswap_32(x) OSSwapInt32(x) +# define bswap_64(x) OSSwapInt64(x) +#else +# error Byte swapping functions not defined for this platform +#endif static __inline__ double bswap_dbl(double x) { diff --git a/mythtv/libs/libmythtv/libmythtv.pro b/mythtv/libs/libmythtv/libmythtv.pro index 9635fafd28f..3d26e0a907c 100644 --- a/mythtv/libs/libmythtv/libmythtv.pro +++ b/mythtv/libs/libmythtv/libmythtv.pro @@ -87,7 +87,12 @@ QMAKE_LFLAGS_SHLIB += $${FREETYPE_LIBS} macx { # Mac OS X Frameworks - FWKS = AGL ApplicationServices Carbon Cocoa CoreFoundation CoreVideo OpenGL QuickTime IOKit + FWKS = AGL ApplicationServices Carbon Cocoa CoreFoundation OpenGL QuickTime IOKit + using_quartz_video { + FWKS += QuartzCore + } else { + FWKS += CoreVideo + } using_firewire:using_backend: FWKS += IOKit diff --git a/mythtv/libs/libmythtv/privatedecoder_vda.cpp b/mythtv/libs/libmythtv/privatedecoder_vda.cpp index be26f0390a5..0414042c10f 100644 --- a/mythtv/libs/libmythtv/privatedecoder_vda.cpp +++ b/mythtv/libs/libmythtv/privatedecoder_vda.cpp @@ -9,6 +9,10 @@ #include "myth_imgconvert.h" #include "util-osx-cocoa.h" #include "privatedecoder_vda.h" +#ifdef USING_QUARTZ_VIDEO +#undef CodecType +#import "QuickTime/ImageCompression.h" +#endif extern "C" { #include "libavformat/avformat.h" @@ -191,7 +195,11 @@ bool PrivateDecoderVDA::Init(const QString &decoder, CFDictionaryCreateMutable(kCFAllocatorDefault, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); +#ifdef USING_QUARTZ_VIDEO + OSType cvPixelFormatType = k422YpCbCr8PixelFormat; +#else OSType cvPixelFormatType = kCVPixelFormatType_422YpCbCr8; +#endif CFNumberRef pixelFormat = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &cvPixelFormatType); diff --git a/mythtv/libs/libmythtv/privatedecoder_vda.h b/mythtv/libs/libmythtv/privatedecoder_vda.h index cbb500bae12..eb79cc43643 100644 --- a/mythtv/libs/libmythtv/privatedecoder_vda.h +++ b/mythtv/libs/libmythtv/privatedecoder_vda.h @@ -6,7 +6,11 @@ #include #import "CoreFoundation/CoreFoundation.h" +#ifdef USING_QUARTZ_VIDEO +#import "QuartzCore/CoreVideo.h" +#else #import "CoreVideo/CoreVideo.h" +#endif #include "privatedecoder_vda_defs.h" #include "privatedecoder.h" diff --git a/mythtv/libs/libmythtv/videoout_quartz.cpp b/mythtv/libs/libmythtv/videoout_quartz.cpp index 3485b26d060..710361f8dd3 100644 --- a/mythtv/libs/libmythtv/videoout_quartz.cpp +++ b/mythtv/libs/libmythtv/videoout_quartz.cpp @@ -51,9 +51,13 @@ using namespace std; #include "util-osx.h" +#ifdef USING_QUARTZ_VIDEO +#import +#else #import #import #import +#endif #import #import