Message ID | 20160916131038.23240-1-gary.bisson@boundarydevices.com |
---|---|
State | Changes Requested |
Headers | show |
Hello Gary, On Fri, 16 Sep 2016 15:10:38 +0200, Gary Bisson wrote: > Also making each plugin dependencies clearer with comments. > > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> > --- > package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- > package/gstreamer1/gst1-imx/gst1-imx.mk | 32 ++++++++++++ > 2 files changed, 108 insertions(+), 13 deletions(-) Thanks for the patch. I have a few questions/comments, see below. > +config BR2_PACKAGE_GST1_IMX_EGLVISINK > + bool "imxeglvivsink" > + depends on BR2_PACKAGE_IMX_GPU_VIV > + help > + Elements leveraging the 3D GPU Instead of doing "depends on" everywhere, can we use "select" in the cases where the dependencies of the package to select are not too crazy ? > +ifneq ($(BR2_PACKAGE_GST1_IMX_EGLVISINK),y) > +GST1_IMX_CONF_OPTS += --disable-eglvivsink > +endif For all those options, please use the standard Buildroot way of expressing dependencies: ifeq ($(BR2_PACKAGE_FOO),y) BAZ_CONF_OPTS += --enable-foo BAZ_DEPENDENCIES += foo else BAZ_CONF_OPTS += --disable-foo endif i.e: 1/ Add an explicit --enable-<foo> for each option 2/ Group the --enable/--disable passing with the addition of the dependency Thanks, Thomas
Hi Thomas, all, On Tue, Sep 20, 2016 at 09:04:25PM +0200, Thomas Petazzoni wrote: > Hello Gary, > > On Fri, 16 Sep 2016 15:10:38 +0200, Gary Bisson wrote: > > Also making each plugin dependencies clearer with comments. > > > > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> > > --- > > package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- > > package/gstreamer1/gst1-imx/gst1-imx.mk | 32 ++++++++++++ > > 2 files changed, 108 insertions(+), 13 deletions(-) > > Thanks for the patch. I have a few questions/comments, see below. > > > > +config BR2_PACKAGE_GST1_IMX_EGLVISINK > > + bool "imxeglvivsink" > > + depends on BR2_PACKAGE_IMX_GPU_VIV > > + help > > + Elements leveraging the 3D GPU > > Instead of doing "depends on" everywhere, can we use "select" in the > cases where the dependencies of the package to select are not too > crazy ? Well in most cases it isn't possible, here are some details: - BR2_PACKAGE_IMX_GPU_VIV and BR2_PACKAGE_IMX_GPU_VIV_G2D depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q which isn't selectable. - We can't select BR2_LINUX_KERNEL since it needs to be a i.MX kernel. - BR2_PACKAGE_LIBIMXVPUAPI depends on the i.MX SoC being used which cannot be selectable (MX5 or MX6) I guess I can select IMX_CODEC though, I'll add that to the V2. > > +ifneq ($(BR2_PACKAGE_GST1_IMX_EGLVISINK),y) > > +GST1_IMX_CONF_OPTS += --disable-eglvivsink > > +endif > > For all those options, please use the standard Buildroot way of > expressing dependencies: > > ifeq ($(BR2_PACKAGE_FOO),y) > BAZ_CONF_OPTS += --enable-foo > BAZ_DEPENDENCIES += foo > else > BAZ_CONF_OPTS += --disable-foo > endif > > i.e: > > 1/ Add an explicit --enable-<foo> for each option This was on purpose since the package only look for --disable-foo options. All the plugins are enabled by default, see patch in package: https://github.com/Freescale/gstreamer-imx/commit/989ab048 I can still do: ifeq ($(BR2_PACKAGE_FOO),y) else BAZ_CONF_OPTS += --disable-foo endif But my opinion is that --enable-foo is misleading. > 2/ Group the --enable/--disable passing with the addition of the > dependency Ok. Thanks for your feedback. Regards, Gary
Hello, On Wed, 21 Sep 2016 00:43:55 +0200, Gary Bisson wrote: > Well in most cases it isn't possible, here are some details: > - BR2_PACKAGE_IMX_GPU_VIV and BR2_PACKAGE_IMX_GPU_VIV_G2D depends on > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q which isn't selectable. > - We can't select BR2_LINUX_KERNEL since it needs to be a i.MX kernel. > - BR2_PACKAGE_LIBIMXVPUAPI depends on the i.MX SoC being used which > cannot be selectable (MX5 or MX6) OK, indeed many of the sub-options cannot "select" their dependencies. > I guess I can select IMX_CODEC though, I'll add that to the V2. OK. Another possibility is to say that all sub-options should use "depends on", for consistency. I don't have a strong feeling about this either way. > > 1/ Add an explicit --enable-<foo> for each option > > This was on purpose since the package only look for --disable-foo > options. All the plugins are enabled by default, see patch in package: > https://github.com/Freescale/gstreamer-imx/commit/989ab048 > > I can still do: > ifeq ($(BR2_PACKAGE_FOO),y) Here add the dependency addition. > else > BAZ_CONF_OPTS += --disable-foo > endif > > But my opinion is that --enable-foo is misleading. Why? There are two options here: 1/ --enable-<foo> doesn't exist and would cause a failure if passed. In this case indeed, don't pass it. And add a quick comment above, like "# There's no --enable-<foo> option". 2/ --enable-<foo> exists. In this case, you should pass it even if the default is to have the feature enabled. We indeed want to be explicit in Buildroot when enabling/disabling features. Thanks, Thomas
Hi Thomas, all, On Wed, Sep 21, 2016 at 06:02:13AM +0200, Thomas Petazzoni wrote: > Hello, > > On Wed, 21 Sep 2016 00:43:55 +0200, Gary Bisson wrote: > > > Well in most cases it isn't possible, here are some details: > > - BR2_PACKAGE_IMX_GPU_VIV and BR2_PACKAGE_IMX_GPU_VIV_G2D depends on > > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q which isn't selectable. > > - We can't select BR2_LINUX_KERNEL since it needs to be a i.MX kernel. > > - BR2_PACKAGE_LIBIMXVPUAPI depends on the i.MX SoC being used which > > cannot be selectable (MX5 or MX6) > > OK, indeed many of the sub-options cannot "select" their dependencies. > > > I guess I can select IMX_CODEC though, I'll add that to the V2. > > OK. Another possibility is to say that all sub-options should use > "depends on", for consistency. I don't have a strong feeling about this > either way. I'm ok with a few select, it sounds more user-friendly than depends-only but I don't have a strong opinion on it either. > > > 1/ Add an explicit --enable-<foo> for each option > > > > This was on purpose since the package only look for --disable-foo > > options. All the plugins are enabled by default, see patch in package: > > https://github.com/Freescale/gstreamer-imx/commit/989ab048 > > > > I can still do: > > ifeq ($(BR2_PACKAGE_FOO),y) > > Here add the dependency addition. > > > else > > BAZ_CONF_OPTS += --disable-foo > > endif > > > > But my opinion is that --enable-foo is misleading. > > Why? There are two options here: > > 1/ --enable-<foo> doesn't exist and would cause a failure if passed. > In this case indeed, don't pass it. And add a quick comment above, > like "# There's no --enable-<foo> option". No, as pointed above in the package repo, the --enable-foo doesn't exist and is discarded. It doesn't introduce any error, but it is just that we are passing arguments that we know are discarded, is it really necessary? I might go with the comment although there's no failure if the option is passed, what do you think? Regards, Gary
Hello, On Wed, 21 Sep 2016 10:32:58 +0200, Gary Bisson wrote: > No, as pointed above in the package repo, the --enable-foo doesn't exist > and is discarded. It doesn't introduce any error, but it is just that we > are passing arguments that we know are discarded, is it really > necessary? I might go with the comment although there's no failure if > the option is passed, what do you think? OK, in this case, not passing --enable and having a comment sounds good. Thanks! Thomas
On 21-09-16 00:43, Gary Bisson wrote: > Hi Thomas, all, > > On Tue, Sep 20, 2016 at 09:04:25PM +0200, Thomas Petazzoni wrote: >> > Hello Gary, >> > >> > On Fri, 16 Sep 2016 15:10:38 +0200, Gary Bisson wrote: >>> > > Also making each plugin dependencies clearer with comments. >>> > > >>> > > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> >>> > > --- >>> > > package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- >>> > > package/gstreamer1/gst1-imx/gst1-imx.mk | 32 ++++++++++++ >>> > > 2 files changed, 108 insertions(+), 13 deletions(-) >> > >> > Thanks for the patch. I have a few questions/comments, see below. >> > >> > >>> > > +config BR2_PACKAGE_GST1_IMX_EGLVISINK >>> > > + bool "imxeglvivsink" >>> > > + depends on BR2_PACKAGE_IMX_GPU_VIV >>> > > + help >>> > > + Elements leveraging the 3D GPU >> > >> > Instead of doing "depends on" everywhere, can we use "select" in the >> > cases where the dependencies of the package to select are not too >> > crazy ? > Well in most cases it isn't possible, here are some details: > - BR2_PACKAGE_IMX_GPU_VIV and BR2_PACKAGE_IMX_GPU_VIV_G2D depends on > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q which isn't selectable. > - We can't select BR2_LINUX_KERNEL since it needs to be a i.MX kernel. > - BR2_PACKAGE_LIBIMXVPUAPI depends on the i.MX SoC being used which > cannot be selectable (MX5 or MX6) The logical thing to do would be to select BR2_PACKAGE_IMX_GPU_VIV and depend on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q. The kernel you obviously can't select. And for libimxvpuapi you can depend on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU. That way, the dependencies are all gathered in the freescale-imx menu. And looking at it that way, you will see that they are actually architecture dependencies, so no need for comments. And actually, looking at it that way: it might make sense to let the whole package depend on BR2_PACKAGE_FREESCALE_IMX (with appropriate comment), so you can add "architecture" dependencies, e.g. mx25 doesn't have an IPU. Though maybe that's going a bit too far. > > I guess I can select IMX_CODEC though, I'll add that to the V2. IMX_CODEC also depends on BR2_PACKAGE_FREESCALE_IMX, which you can't select (because otherwise the platform choice would get some random incorrect value). Regards, Arnout
Hi Arnout, All, On Thu, Sep 22, 2016 at 11:51:00PM +0200, Arnout Vandecappelle wrote: > <snip> > >> > Instead of doing "depends on" everywhere, can we use "select" in > >> > the > >> > cases where the dependencies of the package to select are not > >> > too > >> > crazy ? > > Well in most cases it isn't possible, here are some details: > > - BR2_PACKAGE_IMX_GPU_VIV and BR2_PACKAGE_IMX_GPU_VIV_G2D depends > > on > > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q which isn't selectable. > > - We can't select BR2_LINUX_KERNEL since it needs to be a i.MX > > kernel. > > - BR2_PACKAGE_LIBIMXVPUAPI depends on the i.MX SoC being used which > > cannot be selectable (MX5 or MX6) > > The logical thing to do would be to select BR2_PACKAGE_IMX_GPU_VIV > and depend > on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q. The kernel you obviously > can't > select. And for libimxvpuapi you can depend on > BR2_PACKAGE_FREESCALE_IMX_HAS_VPU. That way, the dependencies are all > gathered > in the freescale-imx menu. And looking at it that way, you will see > that they > are actually architecture dependencies, so no need for comments. I think we can't, here is what I've tried for the EGL/G2D plugins: config BR2_PACKAGE_GST1_IMX_EGLVISINK bool "imxeglvivsink" depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q select BR2_PACKAGE_IMX_GPU_VIV help Elements leveraging the 3D GPU comment "imxeglvivsink only works with i.MX6 3D GPU" depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q config BR2_PACKAGE_GST1_IMX_G2D bool "imxg2d" depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q select BR2_PACKAGE_IMX_GPU_VIV select BR2_PACKAGE_IMX_GPU_VIV_G2D help Elements leveraging the 2D GPU comment "imxg2d only works with i.MX6 2D GPU" depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q The above gives: package/mesa3d/Config.in:173:error: recursive dependency detected! package/mesa3d/Config.in:173: symbol BR2_PACKAGE_MESA3D_OPENGL_EGL is selected by BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL package/mesa3d/Config.in:92: symbol BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL depends on BR2_PACKAGE_MESA3D package/mesa3d/Config.in:1: symbol BR2_PACKAGE_MESA3D is selected by BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV package/x11r7/xdriver_xf86-video-imx-viv/Config.in:1: symbol BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 package/freescale-imx/imx-gpu-viv/Config.in:34: symbol BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 is part of choice <choice> package/freescale-imx/imx-gpu-viv/Config.in:27: choice <choice> contains symbol <choice> package/freescale-imx/imx-gpu-viv/Config.in:27: choice <choice> contains symbol BR2_PACKAGE_IMX_GPU_VIV package/freescale-imx/imx-gpu-viv/Config.in:5: symbol BR2_PACKAGE_IMX_GPU_VIV is selected by BR2_PACKAGE_GST1_IMX_EGLVISINK package/gstreamer1/gst1-imx/Config.in:18: symbol BR2_PACKAGE_GST1_IMX_EGLVISINK depends on BR2_PACKAGE_GSTREAMER1 package/gstreamer1/gstreamer1/Config.in:5: symbol BR2_PACKAGE_GSTREAMER1 is selected by BR2_PACKAGE_WEBKITGTK_MULTIMEDIA package/webkitgtk/Config.in:57: symbol BR2_PACKAGE_WEBKITGTK_MULTIMEDIA depends on BR2_PACKAGE_WEBKITGTK package/webkitgtk/Config.in:20: symbol BR2_PACKAGE_WEBKITGTK is selected by BR2_PACKAGE_MIDORI package/midori/Config.in:6: symbol BR2_PACKAGE_MIDORI depends on BR2_PACKAGE_LIBGTK3 package/libgtk3/Config.in:13: symbol BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND package/opengl/libegl/Config.in:4: symbol BR2_PACKAGE_HAS_LIBEGL_WAYLAND is selected by BR2_PACKAGE_MESA3D_OPENGL_EGL Any thoughts? I think the issue comes with the graphics backend selection (X11 or FB). Since I'm no Kconfig expert, I'd rather stick to the depends option. > > I guess I can select IMX_CODEC though, I'll add that to the V2. > > IMX_CODEC also depends on BR2_PACKAGE_FREESCALE_IMX, which you can't > select > (because otherwise the platform choice would get some random incorrect > value). Same, we actually can't select BR2_PACKAGE_FREESCALE_IMX, we get the same recursive dependency issue. What about we stick with the depends for now? My V2 will take care of the dependencies inside the 'ifeq' statements in gst1-imx.mk. BTW, doing it as suggested kind of makes the code redundant since several plugins might have the same dependency, like: ifeq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y) # There's no --enable-mp3encoder option GST1_IMX_DEPENDENCIES += imx-codec else GST1_IMX_CONF_OPTS += --disable-mp3encoder endif ifeq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y) # There's no --enable-uniaudiodec option GST1_IMX_DEPENDENCIES += imx-codec else GST1_IMX_CONF_OPTS += --disable-uniaudiodec endif Is that ok? I know it doesn't bring any issue, just look a little redundant. Regards, Gary
Hello, On Fri, 23 Sep 2016 14:58:35 +0200, Gary Bisson wrote: > What about we stick with the depends for now? It's fine for me. > My V2 will take care of the dependencies inside the 'ifeq' statements in > gst1-imx.mk. BTW, doing it as suggested kind of makes the code redundant > since several plugins might have the same dependency, like: > > ifeq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y) > # There's no --enable-mp3encoder option > GST1_IMX_DEPENDENCIES += imx-codec > else > GST1_IMX_CONF_OPTS += --disable-mp3encoder > endif > > ifeq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y) > # There's no --enable-uniaudiodec option > GST1_IMX_DEPENDENCIES += imx-codec > else > GST1_IMX_CONF_OPTS += --disable-uniaudiodec > endif > > Is that ok? I know it doesn't bring any issue, just look a little > redundant. If only a single dependency is needed for those codecs, is it really necessary to have different options to enable/disable them? How much space do they take each? Thomas
Hi Thomas, On Fri, Sep 23, 2016 at 03:13:06PM +0200, Thomas Petazzoni wrote: > Hello, > > On Fri, 23 Sep 2016 14:58:35 +0200, Gary Bisson wrote: > > > What about we stick with the depends for now? > > It's fine for me. > > > My V2 will take care of the dependencies inside the 'ifeq' statements in > > gst1-imx.mk. BTW, doing it as suggested kind of makes the code redundant > > since several plugins might have the same dependency, like: > > > > ifeq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y) > > # There's no --enable-mp3encoder option > > GST1_IMX_DEPENDENCIES += imx-codec > > else > > GST1_IMX_CONF_OPTS += --disable-mp3encoder > > endif > > > > ifeq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y) > > # There's no --enable-uniaudiodec option > > GST1_IMX_DEPENDENCIES += imx-codec > > else > > GST1_IMX_CONF_OPTS += --disable-uniaudiodec > > endif > > > > Is that ok? I know it doesn't bring any issue, just look a little > > redundant. > > If only a single dependency is needed for those codecs, is it really > necessary to have different options to enable/disable them? How much > space do they take each? They actually end up in the same libgstimxaudio.so file. But the problem of redundancy remains for the other plugins as well: - Both eglvivsink and g2d depend on imx-gpu-viv - Both PXP and IPU depend on the kernel headers Regards, Gary
Hello, On Fri, 23 Sep 2016 15:40:47 +0200, Gary Bisson wrote: > > If only a single dependency is needed for those codecs, is it really > > necessary to have different options to enable/disable them? How much > > space do they take each? > > They actually end up in the same libgstimxaudio.so file. But the problem > of redundancy remains for the other plugins as well: > - Both eglvivsink and g2d depend on imx-gpu-viv > - Both PXP and IPU depend on the kernel headers Right. OK, then maybe we need to keep your original proposal in the end. Sorry for changing my mind so often :/ Thomas
Hi Thomas, On Fri, Sep 23, 2016 at 04:25:42PM +0200, Thomas Petazzoni wrote: > Hello, > > On Fri, 23 Sep 2016 15:40:47 +0200, Gary Bisson wrote: > > > > If only a single dependency is needed for those codecs, is it really > > > necessary to have different options to enable/disable them? How much > > > space do they take each? > > > > They actually end up in the same libgstimxaudio.so file. But the problem > > of redundancy remains for the other plugins as well: > > - Both eglvivsink and g2d depend on imx-gpu-viv > > - Both PXP and IPU depend on the kernel headers > > Right. OK, then maybe we need to keep your original proposal in the > end. Sorry for changing my mind so often :/ No problem. So, just to be sure we are on the same page, I need to make a V2 with 'ifeq' + --enable-foo comment. I can add the gst1-plugins-bad dependency to the V4L2 plugin though, that is the only dependency that is not shared. Let me know if there's anything I should do. Regards, Gary
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..330ddc4 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.mk +++ b/package/gstreamer1/gst1-imx/gst1-imx.mk @@ -26,6 +26,38 @@ GST1_IMX_DEPENDENCIES += linux GST1_IMX_CONF_OPTS += --kernel-headers="$(LINUX_DIR)/include" endif +ifneq ($(BR2_PACKAGE_GST1_IMX_EGLVISINK),y) +GST1_IMX_CONF_OPTS += --disable-eglvivsink +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_G2D),y) +GST1_IMX_CONF_OPTS += --disable-g2d +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_IPU),y) +GST1_IMX_CONF_OPTS += --disable-ipu +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y) +GST1_IMX_CONF_OPTS += --disable-mp3encoder +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_PXP),y) +GST1_IMX_CONF_OPTS += --disable-pxp +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y) +GST1_IMX_CONF_OPTS += --disable-uniaudiodec +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_VPU),y) +GST1_IMX_CONF_OPTS += --disable-vpu +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC),y) +GST1_IMX_CONF_OPTS += --disable-v4l2src +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD),y) GST1_IMX_DEPENDENCIES += gst1-plugins-bad endif
Also making each plugin dependencies clearer with comments. Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> --- package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- package/gstreamer1/gst1-imx/gst1-imx.mk | 32 ++++++++++++ 2 files changed, 108 insertions(+), 13 deletions(-)