Commit Graph

433 Commits

Author SHA1 Message Date
Andrej Valek
ccf9a1bcea feat(regex): use explicitly regex mark for regexs
This should fix errors like this:
| Parsing recipes...WARNING: /home/project/build/../meta-freescale/recipes-multimedia/imx-codec/imx-codec_4.8.3.bb: /home/project/build/../meta-freescale/recipes-multimedia/imx-codec/imx-codec_4.8.3.bb:63: SyntaxWarning: invalid escape sequence '\.'
|  do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*',

Signed-off-by: Andrej Valek <andrej.v@skyrain.eu>
2024-12-03 15:54:06 +01:00
Hiago De Franco
acc54fb524 recipes-multimedia: imx-vpuwrap: Upgrade to BSP LF6.6.36_2.1.0
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-10-27 11:42:13 -03:00
Hiago De Franco
28e852360b recipes-multimedia: imx-alsa-plugins: Upgrade to BSP LF6.6.36_2.1.0
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-10-27 11:41:46 -03:00
Hiago De Franco
e7529dca6f recipes-multimedia: imx-parser: Upgrade to BSP LF6.6.36_2.1.0
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-10-27 11:41:12 -03:00
Hiago De Franco
05e3306fc4 recipes-multimedia: imx-opencel-converter: Upgrade to BSP LF6.6.36_2.1.0
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-10-27 11:40:03 -03:00
Hiago De Franco
16907876d7 recipes-multimedia: gstreamer: Upgrade BSP to LF6.6.36_2.1.0
Upgrade the following recipes to the new NXP BSP LF6.6.36_2.1.0:

- gstreamer1.0
- gstreamer1.0-plugins-bad
- gstreamer1.0-plugins-base
- gstreamer1.0-plugins-good
- imx-gst1.0-plugin

In addition, remove patch for imx-gst1.0-plugin since it is not needed
anymore (see [1]).

[1] 74a6afa6cc

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-10-27 11:38:41 -03:00
Otavio Salvador
1cbbde1666
Merge pull request #1938 from hiagofranco/fix_imxvideoconvert
gstreamer1.0-plugins-bad: Add imxvideoconvert_g2d to autovideoconvert
2024-09-14 17:56:10 -03:00
Steffen Doster
966cc53e76 tinycompress: use https-protocol to download sources
In some network-environments download with git-protocol is not possible.
By switching to https the sources are accessable.

Signed-off-by: Steffen Doster <Steffen.Doster@ew.tq-group.com>
2024-09-13 10:55:58 +02:00
Hiago De Franco
67d62112df gstreamer1.0-plugins-bad: Add imxvideoconvert_g2d to autovideoconvert
Add patch to enable imxvideoconvert on autovideoconvert. By default,
imxvideoconvert_g2d is not included as a potential filter, resulting in
poor video playback performance when autovideoconvert is used.

Add imxvideoconvert_g2d to improve performance by utilizing hardware
acceleration.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-09-12 18:52:21 +02:00
Max Krummenacher
c252dabfe8 gstreamer1.0-plugins-ugly: remove unbuildable default packageconfigs
Openembedded core after scarthgap removed the recipes providing liba52
and mpeg2dec with commit 90fbfe9fe1da ("liba52: remove the recipe") and
commit d46660e6c083 ("mpeg2dec: remove the recipe").

Thus don't set by default the packageconfigs depending on these.
If someone needs it these should be enabled in a bbappend together
with additionally bringing back the dependencies.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-08-31 12:46:53 +02:00
Max Krummenacher
fc8a552046 imx-alsa-plugins_git: fix buildpath error
Do not drop the OE provided settings of CFLAGS.
While at it, drop the additional indirection through
the INCLUDE_DIR variable.

Fixes:
| WARNING: imx-alsa-plugins-1.0.26+-r0 do_package_qa: QA Issue: File ...libasound_module_pcm_cicFilter.so in package imx-alsa-plugins-dbg contains reference to TMPDIR

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-08-19 23:17:48 +02:00
Hiago De Franco
c27889664b libimxvpuapi2: Bump revision to 8639837a246f
After bumping gstreamer1.0-plugins-imx build is failing. Here is a snippet
of the build error:

| ../git/ext/vpu/gstimxvpuenc.c:473:20: error: 'ImxVpuApiEncOpenParams'
has no member named 'fixed_intra_quantization'
|         open_params->fixed_intra_quantization =
imx_vpu_enc->fixed_intra_quantization;
|                    ^~

Fix it by updating libimxvpuapi2 to the current HEAD of its repository.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-08-13 13:03:36 -03:00
Otavio Salvador
dd91b8bb8b
Merge pull request #1874 from hiagofranco/upgrade_gstreamer-master
Update gstreamer and imx-opencl-converter from 6.6.3-1.0.0 to 6.6.23-2.0.0
2024-08-06 14:33:38 -03:00
Hiago De Franco
0f663b89ea imx-opencl-converter: Update 6.6.3-1.0.0 to 6.6.23-2.0.0
Update imx-opencl-converter to version 0.4.0, syncing with
meta-imx layer and the new NXP BSP 6.6.23-2.0.0.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-08-03 18:20:56 -03:00
Hiago De Franco
d1c6878cf2 gstreamer: Update 6.6.3-1.0.0 to 6.6.23-2.0.0
Upgrade gstreamer and all related recipes to 1.24.0, syncing with
meta-imx layer.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-08-03 18:20:53 -03:00
Hiago De Franco
998dfdfc16 recipes-multimedia: imx-*: Update 6.6.3-1.0.0 to 6.6.23-2.0.0
Update the following recipes to NXP BSP 6.6.23-2.0.0:
- imx-codec 4.9.0
- imx-dsp 2.1.8
- imx-parser 4.9.0
- imx-vpuwrap (branch MM_04.09.00_2405_L6.6.y)

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-08-02 18:16:50 -03:00
Hiago De Franco
8365eb75a4 imx-alsa-plugins: Update 6.6.3-1.0.0 to 6.6.23-2.0.0
Update to the new branch, for now the same hash is being used.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-07-25 15:39:55 -03:00
Max Krummenacher
bbaaa2981c patches: fix upstream-status
OE-core enabled the picky QA check on Upstream-Status.
commit b7fb91c797ab ("insane: add patch-status to default ERROR_QA")
Add missing upstream-status respectively fix unknown 'unknown' state.

strict_status_re = re.compile(r"^Upstream-Status: (Pending|Submitted|Denied|Inappropriate|Backport|Inactive-Upstream)( .+)?$", re.MULTILINE)

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-06-18 18:15:31 +02:00
Max Krummenacher
1261040dba imx-vpuwrap: fix compile time error
GCC-14 set more warnings to errors, patch the code so it compiles.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-06-13 10:09:08 +02:00
Otavio Salvador
2714792483
Merge pull request #1838 from nxp-upstream/gstreamer
gstreamer: Downgrade non-forked recipes to match 1.22.5.imx
2024-06-05 14:20:32 -03:00
Tom Hochstein
2ca5c455bc gstreamer: Downgrade non-forked recipes to match 1.22.5.imx
Add the full set of 1.22.5 compatible recipes with the following
exceptions due to build breaks for obsolete components:
- gstreamer1.0-omx: Drop the recipe
- gstreamer1.0-plugins-ugly: Drop liba52 and mpeg2dec support

These exceptions mirror changes in the upstream support:
9c21815339 gstreamer1.0: update 1.22.11 -> 1.24.3
90fbfe9fe1 liba52: remove the recipe
d46660e6c0 mpeg2dec: remove the recipe

(From OE-Core rev: ae9c64cd2291f4b24ac442816a4e354e47c70933)

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2024-06-05 09:54:41 -07:00
Fabio Estevam
083e6707ce gstreamer1.0-omx: Remove bbappend file
gstreamer1.0-omx has been removed from oe-core since:

commit 9c21815339afb85f558d8a1e0365614320cdc7d7
Author: Alexander Kanavin <alex@linutronix.de>
Date:   Mon May 27 20:12:13 2024 +0200

    gstreamer1.0: update 1.22.11 -> 1.24.3

    Drop gstreamer1.0-omx recipe as upstream has removed it:
    https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976

    kate plugin dropped from bad.

    amrnb/amrwb moved from ugly to good.

    Signed-off-by: Alexander Kanavin <alex@linutronix.de>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Remove the gstreamer1.0-omx bbappend file.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
2024-06-04 18:33:52 -03:00
Max Krummenacher
2dd7d0824d imx-gst1.0-plugin: fix compile time error
GCC-14 set more warnings to errors, demote the ones which trigger to a warning.
Fixes:
| .../tools/grecorder/grecorder.c:161:38: error: initialization of 'pthread_t' {aka 'long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion]
| .../tools/grecorder/grecorder.c:162:43: error: initialization of 'pthread_t' {aka 'long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion]
| .../tools/grecorder/grecorder.c:845:7: error: passing argument 3 of 'recorder->register_event_handler' from incompatible pointer type [-Wincompatible-pointer-types]
| .../tools/grecorder/grecorder.c:43:39: error: passing argument 3 of 'pthread_create' from incompatible pointer type [-Wincompatible-pointer-types]
| .../tools/grecorder/grecorder.c:71:39: error: passing argument 3 of 'pthread_create' from incompatible pointer type [-Wincompatible-pointer-types]
| .../tools/grecorder/grecorder.c:81:15: error: assignment to 'pthread_t' {aka 'long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion]
| .../tools/grecorder/grecorder.c:52:15: error: assignment to 'pthread_t' {aka 'long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion]
| .../plugins/beepdec/beepdec.c:54:34: error: initialization of 'void (*)(GstObject *, ...)' {aka 'void (*)(struct _GstObject *, ...)'} from incompatible pointer type 'void (*)(GstAudioDecoder *, GstClockTime)' {aka 'void (*)(struct _GstAudioDecoder *, long unsigned int)'} [-Wincompatible-pointer-types]
| .../plugins/beepdec/beepdec.c:55:36: error: initialization of 'void (*)(GstObject *, ...)' {aka 'void (*)(struct _GstObject *, ...)'} from incompatible pointer type 'void (*)(GstAudioDecoder *, GstClockTime)' {aka 'void (*)(struct _GstAudioDecoder *, long unsigned int)'} [-Wincompatible-pointer-types]
| .../plugins/beepdec/beepdec.c:56:29: error: initialization of 'void (*)(GstObject *, ...)' {aka 'void (*)(struct _GstObject *, ...)'} from incompatible pointer type 'void (*)(GstAudioDecoder *, gboolean)' {aka 'void (*)(struct _GstAudioDecoder *, int) '} [-Wincompatible-pointer-types]
| .../recipe-sysroot/usr/include/gstreamer-1.0/gst/audio/gstaudiodecoder.h:49:4: error: passing argument 2 of 'gstsutils_load_default_property' from incompatible pointer type [-Wincompatible-pointer-types]
| .../plugins/beepdec/beepdec.c:445:24: error: assignment to 'void * (*)(size_t)' {aka 'void * (*)(long unsigned int)'} from incompatible pointer type 'void * (*)(uint32)' {aka 'void * (*)(unsigned int)'} [-Wincompatible-pointer-types]
| .../plugins/beepdec/beepdec.c:510:20: error: assignment to 'void * (*)(size_t)' {aka 'void * (*)(long unsigned int)'} from incompatible pointer type 'void * (*)(uint32)' {aka 'void * (*)(unsigned int)'} [-Wincompatible-pointer-types]
| .../plugins/videoconvert/gstimxvideoconvert.c:1662:24: error: assignment to 'void **' from incompatible pointer type 'guint8 *' {aka 'unsigned char *'} [-Wincompatible-pointer-types]
| .../plugins/videoconvert/gstimxvideoconvert.c:1673:74: error: passing argument 2 of '_set_cached_phyaddr' from incompatible pointer type [-Wincompatible-pointer-types]
| .../plugins/compositor/gstimxcompositor.c:1579:28: error: assignment to 'void **' from incompatible pointer type 'guint8 *' {aka 'unsigned char *'} [-Wincompatible-pointer-types]
| .../plugins/compositor/gstimxcompositor.c:1591:77: error: passing argument 2 of '_set_cached_phyaddr' from incompatible pointer type [-Wincompatible-pointer-types]
| .../plugins/compositor/gstimxcompositor.c:1954:7: error: 'return' with no value, in function returning non-void [-Wreturn-mismatch]
| .../tools/grecorder/recorder_engine.c:1253:41: error: passing argument 1 of 'strrchr' from incompatible pointer type [-Wincompatible-pointer-types]
| .../tools/grecorder/recorder_engine.c:1901:22: error: assignment to 'GString *' {aka 'struct _GString *'} from incompatible pointer type 'char *' [-Wincompatible-pointer-types]
| .../tools/grecorder/recorder_engine.c:1916:18: error: assignment to 'GString *' {aka 'struct _GString *'} from incompatible pointer type 'char *' [-Wincompatible-pointer-types]
| .../libs/v4l2_core/gstimxv4l2.c:1203:92: error: passing argument 3 of 'gst_imx_v4l2_dequeue_gstbuffer' from incompatible pointer type [-Wincompatible-pointer-types]
| .../plugins/aiurdemux/aiurdemux.c:517:7: error: implicit declaration of function 'aiurdemux_check_stream_status'; did you mean 'aiurdemux_send_stream_eos'? [-Wimplicit-function-declaration]
| .../plugins/aiurdemux/aiurdemux.c:1681:7: error: 'return' with no value, in function returning non-void [-Wreturn-mismatch]
| .../plugins/aiurdemux/aiurdemux.c:4182:47: error: passing argument 3 of 'IParser->seek' from incompatible pointer type [-Wincompatible-pointer-types]
| .../plugins/aiurdemux/aiurdemux.c:4217:11: error: passing argument 3 of 'IParser->seek' from incompatible pointer type [-Wincompatible-pointer-types]
| .../plugins/aiurdemux/aiurdemux.c:4240:17: error: passing argument 3 of 'IParser->seek' from incompatible pointer type [-Wincompatible-pointer-types]

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-06-01 16:35:38 +02:00
Max Krummenacher
3d61da6c18 gstreamer1.0-plugins-bad_1.22.5.imx: fix compile time error
GCC-14 set more warnings to errors, demote the ones which trigger to a warning.
Fixes:
| .../gst-libs/gst/play/gstplay.c:4926:7: error: implicit declaration of function 'usleep'; did you mean 'g_usleep'? [-Wimplicit-function-declaration]
| .../gst-libs/gst/wayland/gstwlbuffer.c:347:35: error: 'return' with a value, in function returning void [-Wreturn-mismatch]
| .../gst-libs/gst/wayland/gstwlwindow.c:691:14: error: returning 'struct wl_surface *' from a function with incompatible return type 'struct wl_subsurface *' [-Wincompatible-pointer-types]
| .../recipe-sysroot/usr/include/glib-2.0/glib/gmessages.h:671:16: error: returning 'void *' from a function with return type 'gint' {aka 'int'} makes  integer from pointer without a cast [-Wint-conversion]

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-06-01 16:34:30 +02:00
Max Krummenacher
d6c9826488 gstreamer1.0-plugins-good_1.22.5.imx: fix compile time error
GCC-14 set more warnings to errors, demote implicit-function-declaration
and implicit-function-declaration to a warning.
Fixes:
.../v4l2/gstv4l2videoenc.c:782:9: error: implicit declaration of function 'gst_is_dmabuf_memory'; did you mean 'gst_is_v4l2_memory'? [-Wimplicit-function-declaration]
.../sys/v4l2/gstv4l2videodec.c:1185:30: error: initialization of 'GstVideoFrame *' {aka 'struct _GstVideoFrame *'} from incompatible pointer type 'GstVideoCodecFrame *' {aka 'struct _GstVideoCodecFrame *'} [-Wincompatible-pointer-types]
.../sys/v4l2/gstv4l2videodec.c:1187:48: error: passing argument 2 of 'gst_video_decoder_drop_frame' from incompatible pointer type [-Wincompatible-pointer-types]
.../sys/v4l2/gstv4l2videodec.c:1232:30: error: initialization of 'GstVideoFrame *' {aka 'struct _GstVideoFrame *'} from incompatible pointer type 'GstVideoCodecFrame *' {aka 'struct _GstVideoCodecFrame *'} [-Wincompatible-pointer-types]
.../sys/v4l2/gstv4l2videodec.c🔢48: error: passing argument 2 of 'gst_video_decoder_drop_frame' from incompatible pointer type [-Wincompatible-pointer-types]

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-06-01 15:43:58 +02:00
Max Krummenacher
a7a573a216 gstreamer1.0-plugins-base_1.22.5.imx: fix compile time error
GCC-14 set more warnings to errors, demote implicit-function-declaration to a warning.
Fixes:

| .../gst-libs/gst/gl/gstglphymemory.c:312:25: error: assignment to 'GDestroyNotify' {aka 'void (*)(void *)'} from incompatible pointer type 'void (*)(GstMemory *)' {aka 'void (*)(struct _GstMemory *)'} [-Wincompatible-pointer-types]
| .../gst-libs/gst/gl/gstglphymemory.c:345:7: error: passing argument 2 of 'gst_gl_context_thread_add' from incompatible pointer type [-Wincompatible-pointer-types]
| .../gst-libs/gst/gl/gstglphymemory.c:360:9: error: assignment to 'GstGLBaseMemory *' {aka 'struct _GstGLBaseMemory *'} from incompatible pointer type 'GstMemory *' {aka 'struct _GstMemory *'} [-Wincompatible-pointer-types]
| .../git/gst-libs/gst/gl/gstglupload.c:2154:51: error: passing argument 6 of 'directviv->TexDirectVIVMap' from incompatible pointer type [-Wincompatible-pointer-types]

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-06-01 15:43:58 +02:00
Max Krummenacher
e836f27b1c imx-opencl-converter: fix compile time error
GCC-14 set more warnings to errors, fix the code.

Fixes:
| .../src/ocl.c:258: 22: error: passing argument 6 of 'clGetProgramBuildInfo' from incompatible pointer type [-Wincompatible-pointer-types]

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-06-01 15:42:46 +02:00
Khem Raj
365e9110b9
recipes: Switch WORKDIR use with UNPACKDIR
This is being enforced in master oe-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-05-22 13:25:43 -07:00
Tom Hochstein
d29e7efe84 gstreamer: Use upstream recipes
The downgraded recipes are no longer needed.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2024-04-26 13:23:26 -07:00
Tom Hochstein
aa1e6f2be3 alsa-lib: Update patch for IMX-XCVR.conf
Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
2024-04-24 08:34:54 -05:00
Tom Hochstein
4d55669232 pipewire: Fix move to dynamic-layers
Fixes: e70b160 ("pipewire: untie bbappend from meta-multimedia")
Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
2024-04-24 07:10:23 -05:00
Oleksandr Suvorov
e70b1608eb pipewire: untie bbappend from meta-multimedia
Move the recipe append to dynamic-layers. This allows one to use
meta-freescale without meta-multimedia layer.

Fixes: f2575b7e ("recipes-multimedia: Upgrade to NXP release 6.6.3_1.0.0")
Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
2024-04-24 11:43:41 +03:00
Tom Hochstein
08b3a8cefe alsa-lib: Drop upstream patch
The patch 0001-pcm-Fix-segfault-with-32bit-libs.patch is already upstream
on master and scarthgap.

Fixes: f2575b7e61
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2024-04-11 11:53:31 -07:00
Valentin Jec
f2575b7e61 recipes-multimedia: Upgrade to NXP release 6.6.3_1.0.0
Updated:
        - alsa-lib update to 6.6.3_1.0.0 release and skip QA check for 32bit timer
        - gstreamer1.0-plugins-bad_1.22.5.imx update to 6.6.3_1.0.0 release, enable g2d
        - gstreamer1.0-plugins-base_1.22.5.imx update to 6.6.3_1.0.0 release, add opengl dependencies
        - gstreamer1.0-plugins-good_1.22.5.imx update to 6.6.3_1.0.0 release, enable pulseaudio and 32bit timer
        - gstreamer1.0_1.22.5.imx update to 6.6.3_1.0.0 release and add runtime dependency glibc-gconv-iso8859-5
        - imx-gst1.0-plugin update to 6.6.3_1.0.0 release
        - imx-vpuwrap update to 6.6.3_1.0.0 release

Upgraded:
        - imx-codec: 4.8.2 -> 4.8.3
        - imx-dsp-codec-ext: 2.1.6 -> 2.1.7
        - imx-dsp: 2.1.6 -> 2.1.7
        - imx-parser: 4.8.2 -> 4.8.3
        - imx-opencl-converter: 0.1 -> 0.2.0
New feature:
        - pipewire_1.0.0

Signed-off-by: Valentin Jec <valentin.jec@nxp.com>
2024-04-11 16:39:31 +03:00
Samuli Piippo
10c814f227 gstreamer1.0-plugins-base: Don't always enable viv-fb
GStreamer is now 1.22.5 and as commented drop the viv-fb append.
i.MX 7ULP has a GPU and should still use viv-fb

Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
2024-03-21 12:21:40 +00:00
Valentin Jec
336628e6b0 recipes-multimedia: Update for NXP release 6.1.55-2.2.0
Upgraded:
 - gstreamer1.0-plugins-bad:     1.22.0 -> 1.22.5
 - gstreamer1.0-plugins-base:    1.22.0 -> 1.22.5
 - gstreamer1.0-plugins-good:    1.22.0 -> 1.22.5
 - gstreamer1.0:                 1.22.0 -> 1.22.5
 - imx-codec:                    4.8.1 -> 4.8.2
 - imx-dsp:                      2.1.5 -> 2.1.6
 - imx-dsp-codec-ext:            2.1.5 -> 2.1.6
 - imx-parser:                   4.8.1 -> 4.8.2

Updated:
 - imx-alsa-plugins_git.bb
 - imx-gst1.0-plugin_git.bb
 - imx-vpuwrap_git.bb

New feature:
 - imx-opencl-converter_0.1.bb

Signed-off-by: Valentin Jec <valentin.jec@nxp.com>
2024-02-12 12:06:51 +02:00
Tom Hochstein
4646d0b932 pulseaudio: Configure for i.MX 9 series
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2023-11-06 05:45:34 -07:00
Tom Hochstein
414650e806 recipes-multimedia: Update for NXP release 6.1.36-2.1.0
Updated:
- imx-alsa-plugins_git.bb
- gstreamer1.0-plugins-bad_1.22.0.imx.bb
- gstreamer1.0-plugins-base_1.22.0.imx.bb
- gstreamer1.0-plugins-good_1.22.0.imx.bb
- gstreamer1.0_1.22.0.imx.bb
- imx-gst1.0-plugin_git.bb
- imx-vpuwrap_git.bb

Upgraded:
- imx-codec:         4.8.0 -> 4.8.1
- imx-dsp:           2.0.5 -> 2.1.5
- imx-dsp-codec-ext: 2.0.5 -> 2.1.5
- imx-parser:        4.8.0 -> 4.8.1

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2023-11-06 05:40:08 -07:00
Carlos Rafael Giani
0c72baddf5 gstreamer1.0-plugins-base: Fix viv-fb usage and extract PACKAGECONFIG_GL
Both the NXP fork of gstreamer1.0-plugins-base and upstream GStreamer
need the same PACKAGECONFIG_GL adjustments, so extract those into
a common .bbappend.

Also, in GStreamer 1.22.5, viv-fb has been decoupled from the Vivante
direct texture feature. It is no longer necessary to set viv-fb to
be able to use direct textures. viv-fb now solely and only is about
the windowing system (that is, using the Vivante specific framebuffer
API to be able to render OpenGL ES directly to framebuffer). That
windowing system is only available on vendor BSPs for i.MX6 SoCs,
so limit viv-fb to mx6-nxp-bsp.

The recipe for the NXP fork is at version 1.22.0, so the fixes for
decoupling viv-fb from direct textures is not present there. For this
reason, always enable viv-fb in that recipe. This also makes sure that
that recipe essentially behaves the same, because the PACKAGECONFIG_GL
adjustments end up being the same as before.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
2023-09-14 11:22:40 +02:00
Khem Raj
f46655cad3 gstreamer1.0-plugins-base: Fix build with musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-08-07 19:00:49 -07:00
Max Krummenacher
7416b76292 imx-dsp-codec-ext: fix missing gnu_hash
Skip qa test on GNU_HASH. At least some prebuilt binaries lack it.

Fixes: 707e624d ("imx-dsp-codec-ext: Upgrade 2.0.2 -> 2.0.5")

| ERROR: imx-dsp-codec-ext-2.0.5-r0 do_package_qa: QA Issue: File /usr/lib/imx-mm/audio-codec/dsp/lib_nbamrd_wrap_dsp.so.1 in package imx-dsp-codec-ext doesn't have GNU_HASH (didn't pass LDFLAGS?)
| File /usr/lib/imx-mm/audio-codec/dsp/lib_mp3d_wrap_dsp.so.3 in package imx-dsp-codec-ext doesn't have GNU_HASH (didn't pass LDFLAGS?)
| File /usr/lib/imx-mm/audio-codec/dsp/lib_aacd_wrap_dsp.so.3 in package imx-dsp-codec-ext doesn't have GNU_HASH (didn't pass LDFLAGS?)
| File /usr/lib/imx-mm/audio-codec/dsp/lib_vorbisd_wrap_dsp.so.3 in package imx-dsp-codec-ext doesn't have GNU_HASH (didn't pass LDFLAGS?)
| File /usr/lib/imx-mm/audio-codec/dsp/lib_wbamrd_wrap_dsp.so.1 in package imx-dsp-codec-ext doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags]
| ERROR: imx-dsp-codec-ext-2.0.5-r0 do_package_qa: Fatal QA errors were found, failing task.
| ERROR: Logfile of failure stored in: /build/krm/oe-core_master/build/tmp/work/armv8a-tdx-linux/imx-dsp-codec-ext/2.0.5-r0/temp/log.do_package_qa.1942699
| ERROR: Task (/build/krm/oe-core_master/build/../layers/meta-freescale/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.5.bb:do_package_qa) failed with exit code '1'

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2023-08-07 10:41:09 +02:00
Max Krummenacher
1f4f98ed57 imx-vpuwrap: fix license checksum
The license was updated to LA_OPT_NXP_Software_License v45 May 2023.
Follow that.

Fixes: 73d43d81 ("imx-vpuwrap: Upgrade to 6.1.22-2.0.0")
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2023-08-07 10:25:36 +02:00
Tom Hochstein
d15c1e8b06 gstreamer1.0-vaapi: Use egl for all i.MX GPU
i.MX 6 & 7 with GPU fails to build due to lack of glx support. Move the fix in
1.22.0.imx, which is limited to i.MX 8, to a generic bbappend so the upstream
recipe is covered as well.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2023-08-03 10:16:20 -07:00
Tom Hochstein
af8bc52e02 gstreamer: Upgrade 1.20.3.imx -> 1.22.0.imx
Note, this commit does also complete the 'snapshot' model being used by
including the .inc files.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2023-08-03 10:16:20 -07:00
Carlos Rafael Giani
92c5a26503 gstreamer1.0-plugins-imx: Upgrade to version 2.2.0
* imx2d:
  * Add 10-bit tiled NV12/21 formats and extend Imx2dPixelFormatInfo
  * Fix corner case when imx2d format has no GStreamer counterpart
    In such a case, no GStreamer format string exists, so format_str stays
    NULL, and the format_string_gvalue is not taken into the
    format_list_gvalue array. Unset it to prevent followup g_value_init()
    calls from failing.
  * Replace num_first_plane_bpp with pixel_stride
    pixel_stride is more useful and more intuitive in calculations,
    and works properly with tiled 10-bit formats.
  * Fix flickering when using DPU-emulated G2D rendering
  * Free surface during destroy
  * Add support for specifying colorimetry
  * Take into account chroma subsampling in alignments
  * Add special format specific stride alignment specifier
  * Add overlay composition support to imx2d video sinks
  * ipu: Add support for YUY2 (aka YUYV)
  * ipu: Add video sink
    Even though the IPU isn't actually flexible enough for use in a video
    sink, it can be useful for diagnostics and debugging, so add one.
  * g2d: Don't restrict calls to one thread if G2D is new enough
  * g2d: Check if Amphion tile enums are present
  * g2d: Enable YVYU and NV61 when using G2D newer than 1.x
  * g2d: Check for colorimetry support

* vpu:
  * Raise minimum required libimxvpuapi version to 2.3.0
    A number of API additions and critical bug fixes in libimxvpuapi
    make it essential to raise the minimum required version.
  * Fix case when a gap event arrives before the caps event does
  * Fix gst_imx_vpu_dec_drain() return type
  * Free element_name after registering
  * encoder: Add closed-gop-interval property
  * encoder: Handle force-keyframe-headers flag and add sync points
  * encoder: Fix h264/h265 AUD handling and add enable-aud property
    AUDs are not enabled by "au" caps. "au" instead means that buffers
    contain entire access units, which is what all imx6 and imx8 VPUs
    produce. Fix this by always setting "au" in the output caps and adding
    an "enable-aud" GObject property.
  * decoder: Add support for producing 4x4 tiled frames
    The 4x4 tile format is available with Hantro VPUs. Especially when
    using formats that are produced by the G2 VPU, using tiled formats
    can yield significant performance improvements, because the VPU does
    not have to perform internal detiling before handing over the decoded
    frame to the caller. The 4x4 tile format corresponds to the GStreamer
    NV12_4L4 format. If GStreamer is older than 1.18, this is disabled,
    since NV12_4L4 was introduced in 1.18.0.
  * decoder: When draining before setting format, don't treat EOS as error

* v4l2video:
  * Add ISI transform and Amphion decoder elements
    These are meant for older imx-kernels (<5.15) that have broken drivers
    for V4L2 mem2mem ISI and Amphion decoder devices. These custom elements
    use workarounds to address the issues these drivers have. Newer kernels
    use different drivers that aren't broken, so the custom elements are
    not needed there.
  * v4l2videosrc: Minor logging fixes
  * v4l2videosrc: Support non-mxc_v4l2 devices (like USB cameras)
    This enables support for devices that aren't based on the mxc_v4l2
    driver. Useful for being able to use the same imxv4l2videosrc element
    with both MIPI/CSI and USB cameras.
  * v4l2videosrc: Read back format with G_FMT after having set it with S_FMT
    Usually, the driver should set any changes in the parameters right in
    the S_FMT call, but some don't (they return defaults instead), so to
    be safe, actually issue the G_FMT ioctl instead.
  * v4l2videosrc: Copy bytesperline and sizeimage into videoinfo struct
    This is important if the driver picked a different format, since then,
    the originally chosen sizes and the new ones can differ significantly.
  * v4l2videosrc: Unref old v4l2 object before creating new one
    This fixes cases where a caps renegotiation happens and the old object
    still keeps the V4L2 device open, preventing some of the new object's
    ioctls from succeeding.
  * Added ov5645 mipi camera
  * v4l2videosrc: Check for V4L2_CAP_SDR_OUTPUT and V4L2_CAP_TOUCH presence
  * v4l2videosrc: Don't exit with error if mxc_v4l2 chip ID is not
    available
  * Add prelude header
    This fixes build errors due to undeclared symbols
  * v4l2videosrc: Don't use V4L2 sizeimage for single-planar pixel formats
  * Explicitly calculate plane stride and offset values
  * Remove pixel-aspect-ratio from probed device caps
    These unfixated template caps can mislead downstream fixation logic,
    leading to it using a PAR of 1/maxint, which in turn causes integer
    overflow errors. Elements do not normally specify that kind of
    pixel aspect ratio range, and just omit it from the template caps.
  * Use sys/time.h instead of time.h

* imx-gst-libs:
  * common: Fix incorrect imx_dma_buffer_deallocate() calls
    If the gst_imx_dmabuf_allocator_activate() call inside alloc() fails,
    imx_dma_buffer_deallocate() would be called even though no imxdmabuffer
    was allocated. Fix this by adding an imx_dma_buffer check.
  * common: Add gst_imx_dmabuf_allocator_get_physical_address()
  * common: Misc GstImxDmaBufAllocator improvements
  * common: Fix gst_imx_dmabuf_allocator_wrap_dmabuf() call
    This function tries to get a physical address before activating the
    allocator. Switch this around to make this call work with allocators
    like the ION allocator.
  * common: Replace dup() with memory ref'ing in dmabuf uploader
    Using dup() was causing an FD leak because the dup'ed FD was not being
    closed correctly. But also, just using dup() risks data races because
    producers can still write to the same dma-buf memory that consumers are
    processing. Instead, ref the input dmabuf gstmemory to let the rest of
    the pipeline know that the gstmemory is in use.
  * common: Remove volatile qualifier in allocator GType
    This addresses the warning:
    warning: argument 2 of ‘__atomic_load’ discards ‘volatile’ qualifier
  * common: Fix assertion in raw_buffer_upload_method_create()
  * common: Synchronize imx gstmemory access with mutexes
  * video: Move GstImx2dVideoBufferPool to video/
    GstImx2dVideoBufferPool is not actually imx2d specific, and can be
    reused in other plugins. Move it to gst-libs/gst/imx/video/ for that
    purpose.
  * video: Add functions to videobufferpool for getting info
  * video: Add GstImxVideoDmaBufferPool
  * video: Set videometa plane stride & offset values in pool
  * video: Take into account chroma subsampling in alignments
  * video: Adjust video meta before doing a CPU based frame copy
  * video: Fix video dma buffer pool info size modifications
  * video: Add function for setting new video uploader alignments

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
2023-08-01 11:47:10 +02:00
Carlos Rafael Giani
3022b7cbdf libimxvpuapi2: Upgrade to version 2.3.0
* vpu: Implement first working version of VC8000E encoder integration
  This adds support for the Hanto VC8000E encoder that can be found on
  the i.MX8m plus. The VC8000E encoder integration is not finished.
  h.264 encoding works fine. h.265 encoding is not yet done. And,
  changing framerate mid-stream is currently not supported.
* Replace mxcfb.h with ipu.h in option description
  Some BSPs no longer ship with the mxcfb.h header.
* imx6-coda: Fix ENC_ENABLE_SOF_STUFF check
  The check was being performed incorrectly, leading to nullbytes
  being inserted at the end of the SOF0 marker.
* imx6-coda: Insert JFIF APP0 segment
  The VPU does not insert this segment on its own. Some programs need
  JFIF data to be present in JPEG files, so insert APP0 manually.
* imx6-coda: Fix decoder and encoder alignments
* imx6-coda: Add more IPU detiler logging
* imx6-coda: Fix decoder Y/U/V offset alignments
  As it turns out, these must be aligned to 8-byte boundaries, not to
  4096 byte ones. The latter caused incorrect offset calculations.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
2023-08-01 11:45:46 +02:00
Zelan Zou
dd2c39e70f imx-alsa-plugins: Upgrade to 6.1.22-2.0.0
Relevant changes:
- b2ba082 asrc_pair: Update mxc_arc header location.
- dc41b8f Add SCR-imx-alsa-plugins.txt.

Signed-off-by: Zelan Zou <zelan.zou@nxp.com>
Signed-off-by: Jun Zhu <junzhu@nxp.com>
2023-07-28 21:52:43 +08:00
Zelan Zou
73d43d8126 imx-vpuwrap: Upgrade to 6.1.22-2.0.0
Signed-off-by: Zelan Zou <zelan.zou@nxp.com>
Signed-off-by: Jun Zhu <junzhu@nxp.com>
2023-07-28 21:50:54 +08:00
Zelan Zou
707e624d3c imx-dsp-codec-ext: Upgrade 2.0.2 -> 2.0.5
- Add more DSP libraries of i.MX platforms.
- Install different lib of different platforms.

Signed-off-by: Zelan Zou <zelan.zou@nxp.com>
Signed-off-by: Jun Zhu <junzhu@nxp.com>
2023-07-28 21:50:39 +08:00
Zelan Zou
4b7e83b161 imx-dsp: Upgrade 2.0.2 -> 2.0.5
Signed-off-by: Zelan Zou <zelan.zou@nxp.com>
Signed-off-by: Jun Zhu <junzhu@nxp.com>
2023-07-28 21:49:13 +08:00