aboutsummaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2012-07-24 21:33:42 +0000
committerMartin Storsjö <martin@martin.st>2016-04-12 13:50:59 +0300
commitf1cd9b03f3fa875eb5e394281b4b688cec611658 (patch)
tree7c243a4fd76eaf16924bac140855db3bf97c8176 /configure
parente8919ec486a5559fdcf366e347be0656d904a87f (diff)
downloadffmpeg-f1cd9b03f3fa875eb5e394281b4b688cec611658.tar.gz
omx: Add support for broadcom OMX on raspberry pi
The raspberry pi uses the alternative API/ABI for OMX; this makes such builds incompatible with all the normal OpenMAX implementations. Since this can't easily be detected at configure time (one can build for raspberry pi's OMX just fine using the generic, pristine Khronos OpenMAX IL headers, no need for their own extensions), require a separate configure switch for it instead. The broadcom host library can't be unloaded once loaded and started; the deinit function that it provides is a no-op, and after started, it has got background threads running, so dlclosing it makes it crash. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure9
1 files changed, 8 insertions, 1 deletions
diff --git a/configure b/configure
index 9bf00ee924..2eb686a591 100755
--- a/configure
+++ b/configure
@@ -145,6 +145,7 @@ Hardware-accelerated decoding/encoding:
--enable-mmal enable decoding via MMAL [no]
--enable-nvenc enable encoding via NVENC [no]
--enable-omx enable encoding via OpenMAX IL [no]
+ --enable-omx-rpi enable encoding via OpenMAX IL for Raspberry Pi [no]
Individual component options:
--disable-everything disable all components listed below
@@ -1259,6 +1260,7 @@ EXTERNAL_LIBRARY_LIST="
FEATURE_LIST="
gray
hardcoded_tables
+ omx_rpi
runtime_cpudetect
safe_bitstream_reader
shared
@@ -4621,7 +4623,12 @@ enabled mmal && { check_lib interface/mmal/mmal.h mmal_port_connect
check_lib interface/mmal/mmal.h mmal_port_connect ; }
check_lib interface/mmal/mmal.h mmal_port_connect ; } ||
die "ERROR: mmal not found"; }
-enabled omx && { check_header OMX_Core.h || die "ERROR: OpenMAX IL headers not found"; }
+enabled omx_rpi && enable omx
+enabled omx && { check_header OMX_Core.h ||
+ { ! enabled cross_compile && enabled omx_rpi && {
+ add_cflags -isystem/opt/vc/include/IL ; }
+ check_header OMX_Core.h ; } ||
+ die "ERROR: OpenMAX IL headers not found"; }
enabled openssl && { check_pkg_config openssl openssl/ssl.h SSL_library_init && {
add_cflags $openssl_cflags && add_extralibs $openssl_libs; }||
check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto ||