From patchwork Mon Sep 26 08:15:59 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary Bisson X-Patchwork-Id: 675006 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3sjH7w6kPNz9s5g for ; Mon, 26 Sep 2016 18:24:44 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=boundarydevices-com.20150623.gappssmtp.com header.i=@boundarydevices-com.20150623.gappssmtp.com header.b=N2Bbs/pS; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 2602588FEB; Mon, 26 Sep 2016 08:24:42 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PtQlYA9tfSne; Mon, 26 Sep 2016 08:24:39 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 3DD0F88497; Mon, 26 Sep 2016 08:24:39 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 493C51C2BEF for ; Mon, 26 Sep 2016 08:24:38 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 46E2489B2D for ; Mon, 26 Sep 2016 08:24:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NPF4cZFgUKvy for ; Mon, 26 Sep 2016 08:24:37 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by whitealder.osuosl.org (Postfix) with ESMTPS id 0633686FA6 for ; Mon, 26 Sep 2016 08:24:37 +0000 (UTC) Received: by mail-wm0-f49.google.com with SMTP id l132so135684489wmf.1 for ; Mon, 26 Sep 2016 01:24:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boundarydevices-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=gpfkKJHUtjpRWAhar5kpmuP9vuGPiblHb0FndYxYQH8=; b=N2Bbs/pST+xG8RuUEB2YihTElucuqHwbcbAufFWu6DFthkSSLFwpdheYWA5R3xHBJA ZX2s8XKbcIQAEn3IwjiBrwoiqJSAyPwnspa3um3HHu3DnAkiiBukoXxRTpI6jy6lCv4c R/eDY/r9ZlSwEGh6upZusvng9MYXTFXozkO3blOPTH10/BPGUi1cNMzd2g9DM+DbXAWM 0ag3zrGvtQGpjpFfZTxHQgkA0XYhYg8QLmL6Ecx8/2wEkl2ti8Ohkl+q6w+LND9TkvMr T7e5oWvX5tu762436on7+wy5lmovjmb4yqqtaem8oRup7PUN9xaJDA70a5G80VTG639H ySTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=gpfkKJHUtjpRWAhar5kpmuP9vuGPiblHb0FndYxYQH8=; b=giPK5S72XJ/jqtE54SAlJF0I/pjBFnsRpcQbIc4+ooy3bedgy90uYZp4pwoxq6MIlf VzX8UZtrSxYi+jo6IhZQ2Y7hToDK9m7U6yLpe1Wl6j5+elGxSG5gTE6MIKU7278wDJ+8 YLUdxCka9F3iLqzGWEGlgyJS/TLoqybEuFDT+yGBy5p/L3YzKMLIqsgSvZYgdGaXn/bQ X6Ey2aOi0Zf+UQnQBpnqThHKuvOJ10IpnVM4+9G7pqfH0qpy+9gBf1oNC4EsLM4Y63Lh RVU9mGo3C7tljF3H3WVHoBPtFf3JIk3f6Pdn3ElJLr3ixvqOX7xQiAqS+oDeMuX7+u11 NkNA== X-Gm-Message-State: AE9vXwMIT0MmWjzHeLvJ/OpQQAtD09NrWjAGxLItPsULwel2AYt/wQjY9YWlYaBTZ3IdyQ== X-Received: by 10.194.90.239 with SMTP id bz15mr17035531wjb.146.1474877774482; Mon, 26 Sep 2016 01:16:14 -0700 (PDT) Received: from t450s.lan (89-92-98-28.hfc.dyn.abo.bbox.fr. [89.92.98.28]) by smtp.googlemail.com with ESMTPSA id xy4sm21019326wjc.2.2016.09.26.01.16.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Sep 2016 01:16:12 -0700 (PDT) From: Gary Bisson To: buildroot@busybox.net Date: Mon, 26 Sep 2016 10:15:59 +0200 Message-Id: <20160926081559.2062-1-gary.bisson@boundarydevices.com> X-Mailer: git-send-email 2.9.3 Cc: thomas.petazzoni@free-electrons.com Subject: [Buildroot] [PATCH v2] gst1-imx: add menuconfig to select each plugin individually X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Also making it clearer as for what each plugin dependencies are. Signed-off-by: Gary Bisson --- Hi all, Here is a v2 with the following changes: - Add a comment stating that --enable-foo option doesn't exist - Add dependencies inside the plugin ifdef statement when possible - Kept linux/imx-gpu-viv/imx-codec outside since shared between several plugins The Config.in ended up being the same since any select to a Freescale package creates a "recursive dependency". Regards, Gary --- package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- package/gstreamer1/gst1-imx/gst1-imx.mk | 58 ++++++++++++++++++--- 2 files changed, 126 insertions(+), 21 deletions(-) diff --git a/package/gstreamer1/gst1-imx/Config.in b/package/gstreamer1/gst1-imx/Config.in index efd5086..9f792d1 100644 --- a/package/gstreamer1/gst1-imx/Config.in +++ b/package/gstreamer1/gst1-imx/Config.in @@ -1,4 +1,8 @@ -config BR2_PACKAGE_GST1_IMX +comment "gst1-imx needs a toolchain w/ dynamic library" + depends on BR2_arm + depends on BR2_STATIC_LIBS + +menuconfig BR2_PACKAGE_GST1_IMX bool "gst1-imx" depends on BR2_arm # Only relevant for i.MX depends on !BR2_STATIC_LIBS @@ -7,18 +11,77 @@ config BR2_PACKAGE_GST1_IMX This is a set of GStreamer 1.0 plugins for plugins for Freescale's i.MX platforms, which make use of the i.MX multimedia capabilities. - This software supports only the i.MX6 SoC family. + https://github.com/Freescale/gstreamer-imx - The IPU and PXP plugins are built when an imx-specific kernel is - enabled. - The V4L2 plugin is built when BR2_PACKAGE_GST1_PLUGINS_BAD is enabled. - The VPU plugin is built when BR2_PACKAGE_LIBIMXVPUAPI is enabled. - The EGL plugin is built when BR2_PACKAGE_IMX_GPU_VIV is enabled. - The G2D plugin is built when BR2_PACKAGE_IMX_GPU_VIV_G2D is enabled. - The MP3 plugin is built when BR2_PACKAGE_IMX_CODEC is enabled. +if BR2_PACKAGE_GST1_IMX - https://github.com/Freescale/gstreamer-imx +config BR2_PACKAGE_GST1_IMX_EGLVISINK + bool "imxeglvivsink" + depends on BR2_PACKAGE_IMX_GPU_VIV + help + Elements leveraging the 3D GPU -comment "gst1-imx needs a toolchain w/ dynamic library" - depends on BR2_arm - depends on BR2_STATIC_LIBS +comment "imxeglvivsink needs the Vivante 3D libraries" + depends on !BR2_PACKAGE_IMX_GPU_VIV + +config BR2_PACKAGE_GST1_IMX_G2D + bool "imxg2d" + depends on BR2_PACKAGE_IMX_GPU_VIV_G2D + help + Elements leveraging the 2D GPU + +comment "imxg2d needs the Vivante 2D libraries" + depends on !BR2_PACKAGE_IMX_GPU_VIV_G2D + +config BR2_PACKAGE_GST1_IMX_IPU + bool "imxipu" + depends on BR2_LINUX_KERNEL + help + Elements leveraging the IPU + +comment "imxipu needs an imx-specific Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_GST1_IMX_MP3ENCODER + bool "mp3encoder" + depends on BR2_PACKAGE_IMX_CODEC + help + Elements for MP3 encoding + +comment "mp3encoder needs the i.MX codec binaries" + depends on !BR2_PACKAGE_IMX_CODEC + +config BR2_PACKAGE_GST1_IMX_PXP + bool "imxpxp" + depends on BR2_LINUX_KERNEL + help + Elements leveraging the PXP + +comment "imxpxp needs an imx-specific Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_GST1_IMX_UNIAUDIODEC + bool "uniaudiodec" + depends on BR2_PACKAGE_IMX_CODEC + help + Elements for audio decoding + +comment "uniaudiodec needs the i.MX codec binaries" + depends on !BR2_PACKAGE_IMX_CODEC + +config BR2_PACKAGE_GST1_IMX_VPU + bool "imxvpu" + depends on BR2_PACKAGE_LIBIMXVPUAPI + help + Elements leveraging the VPU + +comment "imxvpu needs the VPU imxvpuapi library" + depends on !BR2_PACKAGE_LIBIMXVPUAPI + +config BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC + bool "imxv4l2videosrc" + select BR2_PACKAGE_GST1_PLUGINS_BAD + help + Elements for V4L2 capture + +endif diff --git a/package/gstreamer1/gst1-imx/gst1-imx.mk b/package/gstreamer1/gst1-imx/gst1-imx.mk index 3c6b1b6..e90de0f 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.mk +++ b/package/gstreamer1/gst1-imx/gst1-imx.mk @@ -26,20 +26,16 @@ GST1_IMX_DEPENDENCIES += linux GST1_IMX_CONF_OPTS += --kernel-headers="$(LINUX_DIR)/include" endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD),y) -GST1_IMX_DEPENDENCIES += gst1-plugins-bad -endif - ifeq ($(BR2_PACKAGE_IMX_CODEC),y) GST1_IMX_DEPENDENCIES += imx-codec endif -ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI),y) -GST1_IMX_DEPENDENCIES += libimxvpuapi -endif - ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y) GST1_IMX_DEPENDENCIES += imx-gpu-viv +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_EGLVISINK),y) +# There's no --enable-eglvivsink option ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) GST1_IMX_DEPENDENCIES += xlib_libX11 GST1_IMX_CONF_OPTS += --egl-platform=x11 @@ -51,6 +47,52 @@ else GST1_IMX_CONF_OPTS += --egl-platform=fb endif endif +else +GST1_IMX_CONF_OPTS += --disable-eglvivsink +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_G2D),y) +# There's no --enable-g2d option +else +GST1_IMX_CONF_OPTS += --disable-g2d +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_IPU),y) +# There's no --enable-ipu option +else +GST1_IMX_CONF_OPTS += --disable-ipu +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y) +# There's no --enable-mp3encoder option +else +GST1_IMX_CONF_OPTS += --disable-mp3encoder +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_PXP),y) +# There's no --enable-pxp option +else +GST1_IMX_CONF_OPTS += --disable-pxp +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y) +# There's no --enable-uniaudiodec option +else +GST1_IMX_CONF_OPTS += --disable-uniaudiodec +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_VPU),y) +# There's no --enable-vpu option +GST1_IMX_DEPENDENCIES += libimxvpuapi +else +GST1_IMX_CONF_OPTS += --disable-vpu +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC),y) +# There's no --enable-v4l2src option +GST1_IMX_DEPENDENCIES += gst1-plugins-bad +else +GST1_IMX_CONF_OPTS += --disable-v4l2src endif define GST1_IMX_CONFIGURE_CMDS