On Tue, 24 Mar 2015, wm4 wrote:

Based on a patch by Rodger Combs.
---
Changed the way the configure test works. Now it will first run a test
without adding the insane RPI driver include and library paths (which
are usually missing from the compiler's standard paths).

Added a call to bcm_host_init() on init.

Fixed some minor things (mostly compiler warnings).
---
configure              |  11 +
libavcodec/Makefile    |   1 +
libavcodec/allcodecs.c |   2 +
libavcodec/mmaldec.c   | 689 +++++++++++++++++++++++++++++++++++++++++++++++++
libavutil/pixdesc.c    |   4 +
libavutil/pixfmt.h     |   5 +
6 files changed, 712 insertions(+)
create mode 100644 libavcodec/mmaldec.c

diff --git a/configure b/configure
index 3c38a8c..1cd3e50 100755
--- a/configure
+++ b/configure
@@ -217,6 +217,7 @@ External library support:
  --enable-libxcb-xfixes   enable X11 grabbing mouse rendering [auto]
  --enable-libxvid         enable Xvid encoding via xvidcore,
                           native MPEG-4/Xvid encoder exists [no]
+  --enable-mmal            enable decoding via MMAL [no]
  --enable-openssl         enable openssl [no]
  --enable-x11grab         enable X11 grabbing (legacy) [no]
  --enable-zlib            enable zlib [autodetect]
@@ -1182,6 +1183,7 @@ EXTERNAL_LIBRARY_LIST="
    libxcb_shm
    libxcb_xfixes
    libxvid
+    mmal
    openssl
    x11grab
    zlib
@@ -1964,6 +1966,10 @@ h263_vdpau_hwaccel_deps="vdpau"
h263_vdpau_hwaccel_select="h263_decoder"
h264_dxva2_hwaccel_deps="dxva2"
h264_dxva2_hwaccel_select="h264_decoder"
+h264_mmal_decoder_deps="mmal"
+h264_mmal_hwaccel_deps="mmal"
+h264_mmal_decoder_select="h264_decoder"
+h264_mmal_encoder_deps="mmal"
h264_qsv_hwaccel_deps="libmfx"
h264_vaapi_hwaccel_deps="vaapi"
h264_vaapi_hwaccel_select="h264_decoder"
@@ -4249,6 +4255,11 @@ enabled libx265           && require_pkg_config x265 
x265.h x265_encoder_encode
                               die "ERROR: libx265 version must be >= 17."; }
enabled libxavs           && require libxavs xavs.h xavs_encoder_encode -lxavs
enabled libxvid           && require libxvid xvid.h xvid_global -lxvidcore
+enabled mmal              && { check_lib interface/mmal/mmal.h 
mmal_port_connect -lmmal_core -lmmal_util -lmmal_vc_client -lbcm_host ||
+                               { add_cflags -isystem/opt/vc/include/ 
-isystem/opt/vc/include/interface/vmcs_host/linux 
-isystem/opt/vc/include/interface/vcos/pthreads -fgnu89-inline ;
+                                 add_extralibs -L/opt/vc/lib/ -lmmal_core 
-lmmal_util -lmmal_vc_client -lbcm_host ;
+                                 check_lib interface/mmal/mmal.h 
mmal_port_connect ; } ||
+                               die "ERROR: mmal not found"; }

This looks sensible to me. I'm still thinking if the hardcoded /opt/vc paths only would be added if cross compiling is disabled - for a cross compile it really makes no sense to try to guess using hardcoded paths from the host system. But I'm not sure how much that would complicate this line further, if it is worth it at all. (So I don't object to this going in as such.)

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to