aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClément Bœsch <clement@stupeflix.com>2015-10-01 17:58:40 +0200
committerClément Bœsch <clement@stupeflix.com>2015-10-09 10:59:31 +0200
commit8f6f357fde0ea88db180db07a6d749ef95f52c28 (patch)
tree2e3428ce2f02911d364f841fb5dd304529119792
parent40d9d6de90c3652f4c468ab14976c7faf5e40c07 (diff)
downloadffmpeg-8f6f357fde0ea88db180db07a6d749ef95f52c28.tar.gz
build: restore videotoolbox compilation on iOS
-rwxr-xr-xconfigure11
-rw-r--r--ffmpeg_videotoolbox.c8
2 files changed, 14 insertions, 5 deletions
diff --git a/configure b/configure
index 98cf4fa77e..4802092ac0 100755
--- a/configure
+++ b/configure
@@ -1818,6 +1818,7 @@ SYSTEM_FUNCS="
sysconf
sysctl
usleep
+ UTGetOSTypeFromString
VirtualAlloc
wglGetProcAddress
"
@@ -2395,11 +2396,11 @@ crystalhd_deps="libcrystalhd_libcrystalhd_if_h"
d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder ID3D11VideoContext"
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"
@@ -5157,7 +5158,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
@@ -5190,6 +5190,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 6688452c04..580837efd6 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"
@@ -168,7 +170,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);
}