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') subdir ('rpi')
elif omx_target == 'bellagio' elif omx_target == 'bellagio'
subdir ('bellagio') subdir ('bellagio')
elif omx_target == 'zynqultrascaleplus'
subdir ('zynqultrascaleplus')
endif 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}"]) LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
AC_ARG_WITH([omx-target], 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="$withval"], [ac_cv_omx_target="none"])
ac_cv_omx_target_struct_packing="none" ac_cv_omx_target_struct_packing="none"
@ -195,13 +195,17 @@ case "${ac_cv_omx_target}" in
bellagio) bellagio)
AC_DEFINE(USE_OMX_TARGET_BELLAGIO, 1, [Use Bellagio OpenMAX IL target]) 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|*) 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 esac
AM_CONDITIONAL(USE_OMX_TARGET_GENERIC, test "x$ac_cv_omx_target" = "xgeneric") 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_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_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], AC_ARG_WITH([omx-struct-packing],
AS_HELP_STRING([--with-omx-struct-packing],[Force OpenMAX struct packing, (default is none)]), AS_HELP_STRING([--with-omx-struct-packing],[Force OpenMAX struct packing, (default is none)]),
@ -363,6 +367,7 @@ tools/Makefile
config/Makefile config/Makefile
config/bellagio/Makefile config/bellagio/Makefile
config/rpi/Makefile config/rpi/Makefile
config/zynqultrascaleplus/Makefile
examples/Makefile examples/Makefile
examples/egl/Makefile examples/egl/Makefile
m4/Makefile m4/Makefile

View file

@ -233,6 +233,8 @@ elif omx_target == 'rpi'
endif endif
elif omx_target == 'bellagio' elif omx_target == 'bellagio'
cdata.set('USE_OMX_TARGET_BELLAGIO', 1) cdata.set('USE_OMX_TARGET_BELLAGIO', 1)
elif omx_target == 'zynqultrascaleplus'
cdata.set('USE_OMX_TARGET_ZYNQ_USCALE_PLUS', 1)
else else
error ('Unsupported omx target specified. Use the -Dwith_omx_target option') error ('Unsupported omx target specified. Use the -Dwith_omx_target option')
endif 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_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') option('with_omx_struct_packing', type : 'combo', choices : ['0', '1', '2', '4', '8'], value : '0', description : 'Force OpenMAX struct packing')