[FFmpeg-devel] [PATCH] build: restore videotoolbox compilation on iOS
Clément Bœsch
u at pkh.me
Fri Oct 2 10:36:39 CEST 2015
From: Clément Bœsch <clement at stupeflix.com>
---
configure | 11 ++++++-----
ffmpeg_videotoolbox.c | 8 ++++++++
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index fd39778..225e7ae 100755
--- a/configure
+++ b/configure
@@ -1804,6 +1804,7 @@ SYSTEM_FUNCS="
sysconf
sysctl
usleep
+ UTGetOSTypeFromString
VirtualAlloc
wglGetProcAddress
"
@@ -2377,11 +2378,11 @@ crystalhd_deps="libcrystalhd_libcrystalhd_if_h"
d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder"
dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode"
vaapi_deps="va_va_h"
-vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads CoreServices_CoreServices_h"
-vda_extralibs="-framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore -framework CoreServices"
+vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
+vda_extralibs="-framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore"
vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
-videotoolbox_deps="VideoToolbox_VideoToolbox_h pthreads CoreServices_CoreServices_h"
-videotoolbox_extralibs="-framework CoreFoundation -framework VideoToolbox -framework CoreMedia -framework QuartzCore -framework CoreServices"
+videotoolbox_deps="VideoToolbox_VideoToolbox_h pthreads"
+videotoolbox_extralibs="-framework CoreFoundation -framework VideoToolbox -framework CoreMedia -framework QuartzCore"
xvmc_deps="X11_extensions_XvMClib_h"
h263_vaapi_hwaccel_deps="vaapi"
@@ -5109,7 +5110,6 @@ check_func_headers glob.h glob
enabled xlib &&
check_func_headers "X11/Xlib.h X11/extensions/Xvlib.h" XvGetPortAttribute -lXv -lX11 -lXext
-check_header CoreServices/CoreServices.h
check_header direct.h
check_header dirent.h
check_header dlfcn.h
@@ -5142,6 +5142,7 @@ check_header asm/types.h
check_lib2 "windows.h shellapi.h" CommandLineToArgvW -lshell32
check_lib2 "windows.h wincrypt.h" CryptGenRandom -ladvapi32
check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi
+check_lib "CoreServices/CoreServices.h" UTGetOSTypeFromString "-framework CoreServices"
check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss
diff --git a/ffmpeg_videotoolbox.c b/ffmpeg_videotoolbox.c
index 0bb0600..70b0d9c 100644
--- a/ffmpeg_videotoolbox.c
+++ b/ffmpeg_videotoolbox.c
@@ -16,7 +16,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#if HAVE_UTGETOSTYPEFROMSTRING
#include <CoreServices/CoreServices.h>
+#endif
#include "config.h"
#include "libavcodec/avcodec.h"
@@ -209,7 +211,13 @@ int videotoolbox_init(AVCodecContext *s)
CFStringRef pixfmt_str = CFStringCreateWithCString(kCFAllocatorDefault,
videotoolbox_pixfmt,
kCFStringEncodingUTF8);
+#if HAVE_UTGETOSTYPEFROMSTRING
vdactx->cv_pix_fmt_type = UTGetOSTypeFromString(pixfmt_str);
+#else
+ av_log(s, loglevel, "UTGetOSTypeFromString() is not available "
+ "on this platform, %s pixel format can not be honored from "
+ "the command line\n", videotoolbox_pixfmt);
+#endif
ret = av_vda_default_init2(s, vdactx);
CFRelease(pixfmt_str);
}
--
2.6.0
More information about the ffmpeg-devel
mailing list