* [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1
@ 2016-04-06 7:36 Carlos Rafael Giani
2016-04-06 8:10 ` Gary Bisson
0 siblings, 1 reply; 8+ messages in thread
From: Carlos Rafael Giani @ 2016-04-06 7:36 UTC (permalink / raw)
To: meta-freescale
The recipe now uses PACKAGECONFIG to allow for enabling/disabling plugins.
Also, mx7 support has been added, and the libfslcodec->imx_codec renaming
has been included.
Changes:
* compositor: Rename ImxCompositor(Pad) to ImxVideoCompositor(Pad)
This prevents conflicts if both the NXP plugins and the gstreamer-imx
are installed in the same rootfs
* Add switches to wscript configuration to enable/disable plugins
Until now, all plugins were built (unless their dependencies were
missing). On some i.MX machines, some features are missing. For
example, the i.MX7 has no VPU. To ensure deterministic builds, it is
useful to selectively disable plugins in the build.
* ipu+pxp: : Fix deadlocks and incorrect logging in case of init error
This was causing a freeze if for example one tries to use PxP elements
on an i.MX6 Dual/Quad
* imxv4l2videosrc fixes and enhancements:
* fixes to interlacing support (incl. workarounds for analog TV input)
* remove format restriction in get_caps function
this removes the limitation on I420 formats
* simplified determination of fps (necessary due to driver limitations)
* eglvivsink: wayland: Do not commit before buffers are swapped
This fixes eglSwapBuffer swaps with damaged frames
* Documentation additions
Adds GPU memory leak notess to the FAQ
* vpu: encoder: Expose motion estimation range as property
* vpu: decoder: Drop output frame if its buffer cannot be allocated
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
---
....12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} | 34 +++++++++++++++++-----
1 file changed, 26 insertions(+), 8 deletions(-)
rename recipes-multimedia/gstreamer/{gstreamer1.0-plugins-imx_0.12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} (61%)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
similarity index 61%
rename from recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
rename to recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
index eaccb29..852388d 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
@@ -2,11 +2,9 @@ DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
SECTION = "multimedia"
-# gstreamer1.0-plugins-bad is in DEPENDS because imxv4l2videosrc requires
-# the GstPhotography headers and libraries
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad imx-gpu-viv \
- libfslcodec libimxvpuapi virtual/kernel virtual/egl virtual/libgles2 \
- ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans for the
+# GstPhotography headers and libraries
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/kernel"
# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
# for the uniaudio decoder, videoparsersbad for the VPU video decoder
# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
@@ -16,7 +14,7 @@ RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audiopar
RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
SRCBRANCH ?= "master"
-SRCREV = "f8ad953c458be6a89f474a948b6401664a6a1745"
+SRCREV = "11a7b366f211e54e0ec67c692287603a02640ff6"
SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
@@ -33,7 +31,27 @@ EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
'fb', d),d)}"
-EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include"
+EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
+EXTRA_OECONF = "--kernel-headers=${STAGING_KERNEL_DIR}/include"
+
+EGLVIVSINK_DEPENDS = " \
+ virtual/egl virtual/libgles2 \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
+ base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
+ '', d),d)}"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG_mx6 = "g2d pxp ipu vpu eglvivsink v4l2src uniaudiodec mp3encoder"
+PACKAGECONFIG_mx7 = "g2d pxp ipu v4l2src uniaudiodec mp3encoder"
+
+PACKAGECONFIG[g2d] = ",--disable-g2d,imx-gpu-viv"
+PACKAGECONFIG[pxp] = ",--disable-pxp,"
+PACKAGECONFIG[ipu] = ",--disable-ipu,"
+PACKAGECONFIG[vpu] = ",--disable-vpu,libimxvpuapi"
+PACKAGECONFIG[eglvivsink] = "${EGL_PLATFORM_CONF},--disable-eglvivsink,${EGLVIVSINK_DEPENDS}"
+PACKAGECONFIG[v4l2src] = ",--disable-v4l2src,"
+PACKAGECONFIG[uniaudiodec] = ",--disable-uniaudiodec,imx-codec"
+PACKAGECONFIG[mp3encoder] = ",--disable-mp3encoder,imx-codec"
# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
LIBV = "1.0"
@@ -42,7 +60,7 @@ require recipes-multimedia/gstreamer/gst-plugins-package.inc
# the following line is required to produce one package for each plugin
PACKAGES_DYNAMIC = "^${PN}-.*"
-COMPATIBLE_MACHINE = "(mx6)"
+COMPATIBLE_MACHINE = "(mx6|mx7)"
# disable the false alarm (the "it isn't a build dependency" QA warning)
INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps"
--
2.5.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1
2016-04-06 7:36 [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1 Carlos Rafael Giani
@ 2016-04-06 8:10 ` Gary Bisson
2016-04-06 8:29 ` Carlos Rafael Giani
2016-04-06 9:21 ` Carlos Rafael Giani
0 siblings, 2 replies; 8+ messages in thread
From: Gary Bisson @ 2016-04-06 8:10 UTC (permalink / raw)
To: Carlos Rafael Giani; +Cc: meta-freescale
Carlos, All,
On Wed, Apr 6, 2016 at 9:36 AM, Carlos Rafael Giani
<dv@pseudoterminal.org> wrote:
> The recipe now uses PACKAGECONFIG to allow for enabling/disabling plugins.
> Also, mx7 support has been added, and the libfslcodec->imx_codec renaming
> has been included.
>
> Changes:
>
> * compositor: Rename ImxCompositor(Pad) to ImxVideoCompositor(Pad)
> This prevents conflicts if both the NXP plugins and the gstreamer-imx
> are installed in the same rootfs
>
> * Add switches to wscript configuration to enable/disable plugins
> Until now, all plugins were built (unless their dependencies were
> missing). On some i.MX machines, some features are missing. For
> example, the i.MX7 has no VPU. To ensure deterministic builds, it is
> useful to selectively disable plugins in the build.
>
> * ipu+pxp: : Fix deadlocks and incorrect logging in case of init error
> This was causing a freeze if for example one tries to use PxP elements
> on an i.MX6 Dual/Quad
>
> * imxv4l2videosrc fixes and enhancements:
> * fixes to interlacing support (incl. workarounds for analog TV input)
> * remove format restriction in get_caps function
> this removes the limitation on I420 formats
> * simplified determination of fps (necessary due to driver limitations)
>
> * eglvivsink: wayland: Do not commit before buffers are swapped
> This fixes eglSwapBuffer swaps with damaged frames
>
> * Documentation additions
> Adds GPU memory leak notess to the FAQ
>
> * vpu: encoder: Expose motion estimation range as property
>
> * vpu: decoder: Drop output frame if its buffer cannot be allocated
>
> Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> ---
> ....12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} | 34 +++++++++++++++++-----
> 1 file changed, 26 insertions(+), 8 deletions(-)
> rename recipes-multimedia/gstreamer/{gstreamer1.0-plugins-imx_0.12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} (61%)
>
> diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
> similarity index 61%
> rename from recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
> rename to recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
> index eaccb29..852388d 100644
> --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
> +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
> @@ -2,11 +2,9 @@ DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
> LICENSE = "LGPLv2+"
> LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
> SECTION = "multimedia"
> -# gstreamer1.0-plugins-bad is in DEPENDS because imxv4l2videosrc requires
> -# the GstPhotography headers and libraries
> -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad imx-gpu-viv \
> - libfslcodec libimxvpuapi virtual/kernel virtual/egl virtual/libgles2 \
> - ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
> +# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans for the
> +# GstPhotography headers and libraries
> +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/kernel"
Shouldn't plugins-bad be a dependency for v4l2src only?
> # add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
> # for the uniaudio decoder, videoparsersbad for the VPU video decoder
> # the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
Same for the RDEPENDS, I think they should be runtime dependencies of
uniaudiodec and vpu.
> @@ -16,7 +14,7 @@ RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audiopar
> RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
>
> SRCBRANCH ?= "master"
> -SRCREV = "f8ad953c458be6a89f474a948b6401664a6a1745"
> +SRCREV = "11a7b366f211e54e0ec67c692287603a02640ff6"
> SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
>
> S = "${WORKDIR}/git"
> @@ -33,7 +31,27 @@ EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
> base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
> 'fb', d),d)}"
>
> -EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include"
> +EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
> +EXTRA_OECONF = "--kernel-headers=${STAGING_KERNEL_DIR}/include"
> +
> +EGLVIVSINK_DEPENDS = " \
> + virtual/egl virtual/libgles2 \
> + ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
> + base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
> + '', d),d)}"
> +
> +PACKAGECONFIG ?= ""
> +PACKAGECONFIG_mx6 = "g2d pxp ipu vpu eglvivsink v4l2src uniaudiodec mp3encoder"
Wouldn't it be better to split things here for each version of the
mx6, mx6sx doesn't need vpu nor ipu for instance, mx6sl doesn't need
eglvivsink either.
> +PACKAGECONFIG_mx7 = "g2d pxp ipu v4l2src uniaudiodec mp3encoder"
i.MX7 doesn't have an IPU nor a 2D GPU.
Regards,
Gary
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1
2016-04-06 8:10 ` Gary Bisson
@ 2016-04-06 8:29 ` Carlos Rafael Giani
2016-04-06 8:43 ` Gary Bisson
2016-04-06 9:21 ` Carlos Rafael Giani
1 sibling, 1 reply; 8+ messages in thread
From: Carlos Rafael Giani @ 2016-04-06 8:29 UTC (permalink / raw)
To: Gary Bisson; +Cc: meta-freescale
On 2016-04-06 10:10, Gary Bisson wrote:
> Carlos, All,
>
> On Wed, Apr 6, 2016 at 9:36 AM, Carlos Rafael Giani
> <dv@pseudoterminal.org> wrote:
>> The recipe now uses PACKAGECONFIG to allow for enabling/disabling plugins.
>> Also, mx7 support has been added, and the libfslcodec->imx_codec renaming
>> has been included.
>>
>> Changes:
>>
>> * compositor: Rename ImxCompositor(Pad) to ImxVideoCompositor(Pad)
>> This prevents conflicts if both the NXP plugins and the gstreamer-imx
>> are installed in the same rootfs
>>
>> * Add switches to wscript configuration to enable/disable plugins
>> Until now, all plugins were built (unless their dependencies were
>> missing). On some i.MX machines, some features are missing. For
>> example, the i.MX7 has no VPU. To ensure deterministic builds, it is
>> useful to selectively disable plugins in the build.
>>
>> * ipu+pxp: : Fix deadlocks and incorrect logging in case of init error
>> This was causing a freeze if for example one tries to use PxP elements
>> on an i.MX6 Dual/Quad
>>
>> * imxv4l2videosrc fixes and enhancements:
>> * fixes to interlacing support (incl. workarounds for analog TV input)
>> * remove format restriction in get_caps function
>> this removes the limitation on I420 formats
>> * simplified determination of fps (necessary due to driver limitations)
>>
>> * eglvivsink: wayland: Do not commit before buffers are swapped
>> This fixes eglSwapBuffer swaps with damaged frames
>>
>> * Documentation additions
>> Adds GPU memory leak notess to the FAQ
>>
>> * vpu: encoder: Expose motion estimation range as property
>>
>> * vpu: decoder: Drop output frame if its buffer cannot be allocated
>>
>> Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
>> ---
>> ....12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} | 34 +++++++++++++++++-----
>> 1 file changed, 26 insertions(+), 8 deletions(-)
>> rename recipes-multimedia/gstreamer/{gstreamer1.0-plugins-imx_0.12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} (61%)
>>
>> diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
>> similarity index 61%
>> rename from recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
>> rename to recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
>> index eaccb29..852388d 100644
>> --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
>> +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
>> @@ -2,11 +2,9 @@ DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
>> LICENSE = "LGPLv2+"
>> LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
>> SECTION = "multimedia"
>> -# gstreamer1.0-plugins-bad is in DEPENDS because imxv4l2videosrc requires
>> -# the GstPhotography headers and libraries
>> -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad imx-gpu-viv \
>> - libfslcodec libimxvpuapi virtual/kernel virtual/egl virtual/libgles2 \
>> - ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
>> +# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans for the
>> +# GstPhotography headers and libraries
>> +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/kernel"
> Shouldn't plugins-bad be a dependency for v4l2src only?
The configuration switches only switch on/off the actual plugins (and
their immediate dependencies, like GLES libraries, or libimxvpuapi).
And, gstphotography is a dependency-less component of -bad. In the -bad
tree, gstphotography can be found in gst-libs/ , while stuff that has
external dependencies is in ext/.
What this means is that gstphotography is *not* enabled/disabled by the
v4l2src switch in the build script. This is intentional -
dependency-less GStreamer *libraries* might be used by more than one
gstreamer-imx plugin in the future, which is why they are autoconfigured
in the root build script. (For example, gstreamer-video-1.0 is used by
the vpu plugins as well as the ipu and pxp ones.)
If I put -bad as a v4l2src dependency, then the build script would still
scan for gstphotography if you turn off the v4l2src plugin. bitbake
would then print a warning that -bad is a dependency but is not part of
the DEPENDS list.
>
>> # add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
>> # for the uniaudio decoder, videoparsersbad for the VPU video decoder
>> # the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
> Same for the RDEPENDS, I think they should be runtime dependencies of
> uniaudiodec and vpu.
True. I will fix this in a v2 recipe.
>
>> @@ -16,7 +14,7 @@ RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audiopar
>> RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
>>
>> SRCBRANCH ?= "master"
>> -SRCREV = "f8ad953c458be6a89f474a948b6401664a6a1745"
>> +SRCREV = "11a7b366f211e54e0ec67c692287603a02640ff6"
>> SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
>>
>> S = "${WORKDIR}/git"
>> @@ -33,7 +31,27 @@ EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
>> base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
>> 'fb', d),d)}"
>>
>> -EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include"
>> +EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
>> +EXTRA_OECONF = "--kernel-headers=${STAGING_KERNEL_DIR}/include"
>> +
>> +EGLVIVSINK_DEPENDS = " \
>> + virtual/egl virtual/libgles2 \
>> + ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
>> + base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
>> + '', d),d)}"
>> +
>> +PACKAGECONFIG ?= ""
>> +PACKAGECONFIG_mx6 = "g2d pxp ipu vpu eglvivsink v4l2src uniaudiodec mp3encoder"
> Wouldn't it be better to split things here for each version of the
> mx6, mx6sx doesn't need vpu nor ipu for instance, mx6sl doesn't need
> eglvivsink either.
>
>> +PACKAGECONFIG_mx7 = "g2d pxp ipu v4l2src uniaudiodec mp3encoder"
> i.MX7 doesn't have an IPU nor a 2D GPU.
>
>
Hm yes, I do not have a full overview over all these variants. If you
have a list handy that I can directly use, it would help, otherwise I'll
get it from the reference manual and the individual SoC specs.
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1
2016-04-06 8:29 ` Carlos Rafael Giani
@ 2016-04-06 8:43 ` Gary Bisson
2016-04-06 8:48 ` Carlos Rafael Giani
0 siblings, 1 reply; 8+ messages in thread
From: Gary Bisson @ 2016-04-06 8:43 UTC (permalink / raw)
To: Carlos Rafael Giani; +Cc: meta-freescale
Carlos, All,
On Wed, Apr 6, 2016 at 10:29 AM, Carlos Rafael Giani
<dv@pseudoterminal.org> wrote:
>
>
> On 2016-04-06 10:10, Gary Bisson wrote:
>>
>> Carlos, All,
>>
>> On Wed, Apr 6, 2016 at 9:36 AM, Carlos Rafael Giani
>> <dv@pseudoterminal.org> wrote:
>>>
>>> The recipe now uses PACKAGECONFIG to allow for enabling/disabling
>>> plugins.
>>> Also, mx7 support has been added, and the libfslcodec->imx_codec renaming
>>> has been included.
>>>
>>> Changes:
>>>
>>> * compositor: Rename ImxCompositor(Pad) to ImxVideoCompositor(Pad)
>>> This prevents conflicts if both the NXP plugins and the gstreamer-imx
>>> are installed in the same rootfs
>>>
>>> * Add switches to wscript configuration to enable/disable plugins
>>> Until now, all plugins were built (unless their dependencies were
>>> missing). On some i.MX machines, some features are missing. For
>>> example, the i.MX7 has no VPU. To ensure deterministic builds, it is
>>> useful to selectively disable plugins in the build.
>>>
>>> * ipu+pxp: : Fix deadlocks and incorrect logging in case of init error
>>> This was causing a freeze if for example one tries to use PxP elements
>>> on an i.MX6 Dual/Quad
>>>
>>> * imxv4l2videosrc fixes and enhancements:
>>> * fixes to interlacing support (incl. workarounds for analog TV input)
>>> * remove format restriction in get_caps function
>>> this removes the limitation on I420 formats
>>> * simplified determination of fps (necessary due to driver
>>> limitations)
>>>
>>> * eglvivsink: wayland: Do not commit before buffers are swapped
>>> This fixes eglSwapBuffer swaps with damaged frames
>>>
>>> * Documentation additions
>>> Adds GPU memory leak notess to the FAQ
>>>
>>> * vpu: encoder: Expose motion estimation range as property
>>>
>>> * vpu: decoder: Drop output frame if its buffer cannot be allocated
>>>
>>> Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
>>> ---
>>> ....12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} | 34
>>> +++++++++++++++++-----
>>> 1 file changed, 26 insertions(+), 8 deletions(-)
>>> rename recipes-multimedia/gstreamer/{gstreamer1.0-plugins-imx_0.12.0.bb
>>> => gstreamer1.0-plugins-imx_0.12.1.bb} (61%)
>>>
>>> diff --git
>>> a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
>>> b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
>>> similarity index 61%
>>> rename from
>>> recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
>>> rename to recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
>>> index eaccb29..852388d 100644
>>> --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
>>> +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
>>> @@ -2,11 +2,9 @@ DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
>>> LICENSE = "LGPLv2+"
>>> LIC_FILES_CHKSUM =
>>> "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
>>> SECTION = "multimedia"
>>> -# gstreamer1.0-plugins-bad is in DEPENDS because imxv4l2videosrc
>>> requires
>>> -# the GstPhotography headers and libraries
>>> -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base
>>> gstreamer1.0-plugins-bad imx-gpu-viv \
>>> - libfslcodec libimxvpuapi virtual/kernel virtual/egl
>>> virtual/libgles2 \
>>> - ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11',
>>> '', d)}"
>>> +# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans
>>> for the
>>> +# GstPhotography headers and libraries
>>> +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base
>>> gstreamer1.0-plugins-bad virtual/kernel"
>>
>> Shouldn't plugins-bad be a dependency for v4l2src only?
>
>
> The configuration switches only switch on/off the actual plugins (and their
> immediate dependencies, like GLES libraries, or libimxvpuapi).
> And, gstphotography is a dependency-less component of -bad. In the -bad
> tree, gstphotography can be found in gst-libs/ , while stuff that has
> external dependencies is in ext/.
> What this means is that gstphotography is *not* enabled/disabled by the
> v4l2src switch in the build script. This is intentional - dependency-less
> GStreamer *libraries* might be used by more than one gstreamer-imx plugin in
> the future, which is why they are autoconfigured in the root build script.
> (For example, gstreamer-video-1.0 is used by the vpu plugins as well as the
> ipu and pxp ones.)
> If I put -bad as a v4l2src dependency, then the build script would still
> scan for gstphotography if you turn off the v4l2src plugin. bitbake would
> then print a warning that -bad is a dependency but is not part of the
> DEPENDS list.
Ok, I didn't know the plugin would throw a warning on that dependency,
we don't want a warning for sure.
What confused me is the comment since it clearly states that
plugins-bad is for imxv4l2videosrc.
>>> # add the audioparsers and the videoparsersbad plugins as RDEPENDS ;
>>> audioparsers
>>> # for the uniaudio decoder, videoparsersbad for the VPU video decoder
>>> # the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the
>>> -good recipe is
>>
>> Same for the RDEPENDS, I think they should be runtime dependencies of
>> uniaudiodec and vpu.
>
>
> True. I will fix this in a v2 recipe.
>
>
>>
>>> @@ -16,7 +14,7 @@ RDEPENDS_gstreamer1.0-plugins-imx-imxaudio =
>>> "gstreamer1.0-plugins-good-audiopar
>>> RDEPENDS_gstreamer1.0-plugins-imx-imxvpu =
>>> "gstreamer1.0-plugins-bad-videoparsersbad"
>>>
>>> SRCBRANCH ?= "master"
>>> -SRCREV = "f8ad953c458be6a89f474a948b6401664a6a1745"
>>> +SRCREV = "11a7b366f211e54e0ec67c692287603a02640ff6"
>>> SRC_URI =
>>> "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
>>>
>>> S = "${WORKDIR}/git"
>>> @@ -33,7 +31,27 @@ EGLVIVSINK_PLATFORM =
>>> "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
>>> base_contains('DISTRO_FEATURES', 'wayland',
>>> 'wayland', \
>>> 'fb', d),d)}"
>>>
>>> -EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM}
>>> --kernel-headers=${STAGING_KERNEL_DIR}/include"
>>> +EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
>>> +EXTRA_OECONF = "--kernel-headers=${STAGING_KERNEL_DIR}/include"
>>> +
>>> +EGLVIVSINK_DEPENDS = " \
>>> + virtual/egl virtual/libgles2 \
>>> + ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
>>> + base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
>>> + '', d),d)}"
>>> +
>>> +PACKAGECONFIG ?= ""
>>> +PACKAGECONFIG_mx6 = "g2d pxp ipu vpu eglvivsink v4l2src uniaudiodec
>>> mp3encoder"
>>
>> Wouldn't it be better to split things here for each version of the
>> mx6, mx6sx doesn't need vpu nor ipu for instance, mx6sl doesn't need
>> eglvivsink either.
>>
>>> +PACKAGECONFIG_mx7 = "g2d pxp ipu v4l2src uniaudiodec mp3encoder"
>>
>> i.MX7 doesn't have an IPU nor a 2D GPU.
>>
>>
>
> Hm yes, I do not have a full overview over all these variants. If you have a
> list handy that I can directly use, it would help, otherwise I'll get it
> from the reference manual and the individual SoC specs.
Here is what I think it should look like:
PACKAGECONFIG_mx6q = "eglvivsink g2d ipu mp3encoder pxp uniaudiocodec
v4l2src vpu"
PACKAGECONFIG_mx6dl = "eglvivsink g2d ipu mp3encoder pxp uniaudiocodec
v4l2src vpu"
PACKAGECONFIG_mx6sx = "eglvivsink g2d mp3encoder pxp uniaudiocodec v4l2src"
PACKAGECONFIG_mx6sl = "g2d mp3encoder pxp uniaudiocodec v4l2src"
PACKAGECONFIG_mx7 = "mp3encoder pxp uniaudiocodec v4l2src"
I've ordered the flags alphabetically, feel free to change it.
Regards,
Gary
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1
2016-04-06 8:43 ` Gary Bisson
@ 2016-04-06 8:48 ` Carlos Rafael Giani
0 siblings, 0 replies; 8+ messages in thread
From: Carlos Rafael Giani @ 2016-04-06 8:48 UTC (permalink / raw)
To: Gary Bisson; +Cc: meta-freescale
On 2016-04-06 10:43, Gary Bisson wrote:
> -# gstreamer1.0-plugins-bad is in DEPENDS because imxv4l2videosrc
> requires
> -# the GstPhotography headers and libraries
> -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base
> gstreamer1.0-plugins-bad imx-gpu-viv \
> - libfslcodec libimxvpuapi virtual/kernel virtual/egl
> virtual/libgles2 \
> - ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11',
> '', d)}"
> +# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans
> for the
> +# GstPhotography headers and libraries
> +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base
> gstreamer1.0-plugins-bad virtual/kernel"
>>> Shouldn't plugins-bad be a dependency for v4l2src only?
>>
>> The configuration switches only switch on/off the actual plugins (and their
>> immediate dependencies, like GLES libraries, or libimxvpuapi).
>> And, gstphotography is a dependency-less component of -bad. In the -bad
>> tree, gstphotography can be found in gst-libs/ , while stuff that has
>> external dependencies is in ext/.
>> What this means is that gstphotography is *not* enabled/disabled by the
>> v4l2src switch in the build script. This is intentional - dependency-less
>> GStreamer *libraries* might be used by more than one gstreamer-imx plugin in
>> the future, which is why they are autoconfigured in the root build script.
>> (For example, gstreamer-video-1.0 is used by the vpu plugins as well as the
>> ipu and pxp ones.)
>> If I put -bad as a v4l2src dependency, then the build script would still
>> scan for gstphotography if you turn off the v4l2src plugin. bitbake would
>> then print a warning that -bad is a dependency but is not part of the
>> DEPENDS list.
> Ok, I didn't know the plugin would throw a warning on that dependency,
> we don't want a warning for sure.
> What confused me is the comment since it clearly states that
> plugins-bad is for imxv4l2videosrc.
True, this could be confusing. This is why I changed the comment ;-)
> Here is what I think it should look like:
> PACKAGECONFIG_mx6q = "eglvivsink g2d ipu mp3encoder pxp uniaudiocodec
> v4l2src vpu"
> PACKAGECONFIG_mx6dl = "eglvivsink g2d ipu mp3encoder pxp uniaudiocodec
> v4l2src vpu"
> PACKAGECONFIG_mx6sx = "eglvivsink g2d mp3encoder pxp uniaudiocodec v4l2src"
> PACKAGECONFIG_mx6sl = "g2d mp3encoder pxp uniaudiocodec v4l2src"
> PACKAGECONFIG_mx7 = "mp3encoder pxp uniaudiocodec v4l2src"
>
> I've ordered the flags alphabetically, feel free to change it.
>
> Regards,
> Gary
Thanks, this helps. (uniaudiodec, not uniaudiocodec, but I'll rename
that in the v2 recipe.)
Also, if anybody can try this on older SoCs such as an imx5, I would
welcome patches, both for the recipe and for gstreamer-imx itself :-)
Carlos
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1
2016-04-06 8:10 ` Gary Bisson
2016-04-06 8:29 ` Carlos Rafael Giani
@ 2016-04-06 9:21 ` Carlos Rafael Giani
2016-04-06 10:36 ` Otavio Salvador
1 sibling, 1 reply; 8+ messages in thread
From: Carlos Rafael Giani @ 2016-04-06 9:21 UTC (permalink / raw)
To: Gary Bisson; +Cc: meta-freescale
On 2016-04-06 10:10, Gary Bisson wrote:
>
>> # add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
>> # for the uniaudio decoder, videoparsersbad for the VPU video decoder
>> # the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
> Same for the RDEPENDS, I think they should be runtime dependencies of
> uniaudiodec and vpu.
>
>
I tried that, and there is a problem. If I add these as RDEPENDS to the
PACKAGECONFIG variables, then these RDEPENDS are appended to the
"gstreamer1.0-plugins-imx" package, *not* to
"gstreamer1.0-plugins-imx-imxaudio" and
"gstreamer1.0-plugins-imx-imxvpu" ones. Is there a way to fix that?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1
2016-04-06 9:21 ` Carlos Rafael Giani
@ 2016-04-06 10:36 ` Otavio Salvador
2016-04-06 10:41 ` Carlos Rafael Giani
0 siblings, 1 reply; 8+ messages in thread
From: Otavio Salvador @ 2016-04-06 10:36 UTC (permalink / raw)
To: Carlos Rafael Giani; +Cc: meta-freescale@yoctoproject.org
On Wed, Apr 6, 2016 at 6:21 AM, Carlos Rafael Giani
<dv@pseudoterminal.org> wrote:
> gstreamer1.0-plugins-imx-imxvpu
Yes, you can do:
RDEPENDS_<package> += "foo"
It is harmless if it is not generated.
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1
2016-04-06 10:36 ` Otavio Salvador
@ 2016-04-06 10:41 ` Carlos Rafael Giani
0 siblings, 0 replies; 8+ messages in thread
From: Carlos Rafael Giani @ 2016-04-06 10:41 UTC (permalink / raw)
To: Otavio Salvador; +Cc: meta-freescale@yoctoproject.org
On 04/06/2016 12:36 PM, Otavio Salvador wrote:
> On Wed, Apr 6, 2016 at 6:21 AM, Carlos Rafael Giani
> <dv@pseudoterminal.org> wrote:
>> gstreamer1.0-plugins-imx-imxvpu
>
> Yes, you can do:
>
> RDEPENDS_<package> += "foo"
>
> It is harmless if it is not generated.
>
This is what is being done now. Then I'll leave as it is. I agree that
having it as part of the PACKAGECONFIG lines makes for cleaner code, but
apparently it is not possible to reproduce the RDEPENDS_<package> +=
"foo" behavior with the PACKAGECONFIG feature.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-04-06 10:42 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-06 7:36 [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1 Carlos Rafael Giani
2016-04-06 8:10 ` Gary Bisson
2016-04-06 8:29 ` Carlos Rafael Giani
2016-04-06 8:43 ` Gary Bisson
2016-04-06 8:48 ` Carlos Rafael Giani
2016-04-06 9:21 ` Carlos Rafael Giani
2016-04-06 10:36 ` Otavio Salvador
2016-04-06 10:41 ` Carlos Rafael Giani
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.