add 'zynqultrascaleplus' as OMX target

Adding support for the 'Zynq UltraScale+' as a new OMX target.

See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
for details about the platform.

https://bugzilla.gnome.org/show_bug.cgi?id=783097
This commit is contained in:
Guillaume Desmottes 2017-05-22 11:23:33 +02:00 committed by Nicolas Dufresne
parent 65b3a2769d
commit 2be1214cab
8 changed files with 37 additions and 4 deletions

View file

@ -1 +1 @@
SUBDIRS = bellagio rpi
SUBDIRS = bellagio rpi zynqultrascaleplus

View file

@ -2,4 +2,6 @@ if omx_target == 'rpi'
subdir ('rpi')
elif omx_target == 'bellagio'
subdir ('bellagio')
elif omx_target == 'zynqultrascaleplus'
subdir ('zynqultrascaleplus')
endif

View file

@ -0,0 +1,6 @@
EXTRA_DIST = gstomx.conf
if USE_OMX_TARGET_ZYNQ_USCALE_PLUS
configdir = $(sysconfdir)/xdg
config_DATA = gstomx.conf
endif

View file

@ -0,0 +1,17 @@
[omxh264enc]
type-name=GstOMXH264Enc
core-name=/usr/lib/libOMX.allegro.core.so.1
component-name=OMX.allegro.h264.encoder
in-port-index=0
out-port-index=1
rank=257
hacks=no-disable-outport
[omxh264dec]
type-name=GstOMXH264Dec
core-name=/usr/lib/libOMX.allegro.core.so.1
component-name=OMX.allegro.h264.decoder
in-port-index=0
out-port-index=1
rank=257
hacks=no-disable-outport

View file

@ -0,0 +1 @@
install_data (['gstomx.conf'], install_dir : omx_conf_dir)

View file

@ -178,7 +178,7 @@ AC_ARG_ENABLE(Bsymbolic,
LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
AC_ARG_WITH([omx-target],
AS_HELP_STRING([--with-omx-target],[Use this OpenMAX IL target (generic, bellagio, rpi)]),
AS_HELP_STRING([--with-omx-target],[Use this OpenMAX IL target (generic, bellagio, rpi, zynqultrascaleplus)]),
[ac_cv_omx_target="$withval"], [ac_cv_omx_target="none"])
ac_cv_omx_target_struct_packing="none"
@ -195,13 +195,17 @@ case "${ac_cv_omx_target}" in
bellagio)
AC_DEFINE(USE_OMX_TARGET_BELLAGIO, 1, [Use Bellagio OpenMAX IL target])
;;
zynqultrascaleplus)
AC_DEFINE(USE_OMX_TARGET_ZYNQ_USCALE_PLUS, 1, [Use Zynq UltraScale+ OpenMAX IL target])
;;
none|*)
AC_ERROR([invalid OpenMAX IL target, you must specify one of --with-omx-target={generic,rpi,bellagio}])
AC_ERROR([invalid OpenMAX IL target, you must specify one of --with-omx-target={generic,rpi,bellagio,zynqultrascaleplus}])
;;
esac
AM_CONDITIONAL(USE_OMX_TARGET_GENERIC, test "x$ac_cv_omx_target" = "xgeneric")
AM_CONDITIONAL(USE_OMX_TARGET_BELLAGIO, test "x$ac_cv_omx_target" = "xbellagio")
AM_CONDITIONAL(USE_OMX_TARGET_RPI, test "x$ac_cv_omx_target" = "xrpi")
AM_CONDITIONAL(USE_OMX_TARGET_ZYNQ_USCALE_PLUS, test "x$ac_cv_omx_target" = "xzynqultrascaleplus")
AC_ARG_WITH([omx-struct-packing],
AS_HELP_STRING([--with-omx-struct-packing],[Force OpenMAX struct packing, (default is none)]),
@ -363,6 +367,7 @@ tools/Makefile
config/Makefile
config/bellagio/Makefile
config/rpi/Makefile
config/zynqultrascaleplus/Makefile
examples/Makefile
examples/egl/Makefile
m4/Makefile

View file

@ -233,6 +233,8 @@ elif omx_target == 'rpi'
endif
elif omx_target == 'bellagio'
cdata.set('USE_OMX_TARGET_BELLAGIO', 1)
elif omx_target == 'zynqultrascaleplus'
cdata.set('USE_OMX_TARGET_ZYNQ_USCALE_PLUS', 1)
else
error ('Unsupported omx target specified. Use the -Dwith_omx_target option')
endif

View file

@ -1,3 +1,3 @@
option('with_omx_header_path', type : 'string', value : '', description : 'An extra include directory to find the OpenMax headers')
option('with_omx_target', type : 'combo', choices : ['none', 'generic', 'rpi', 'bellagio'], value : 'none', description : 'The OMX platform to target')
option('with_omx_target', type : 'combo', choices : ['none', 'generic', 'rpi', 'bellagio', 'zynqultrascaleplus'], value : 'none', description : 'The OMX platform to target')
option('with_omx_struct_packing', type : 'combo', choices : ['0', '1', '2', '4', '8'], value : '0', description : 'Force OpenMAX struct packing')