summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/gstreamer
Commit message (Collapse)AuthorAgeFilesLines
* gstreamer: Upgrade to 1.26.0Zelan Zou2025-08-1415-120/+28
| | | | Signed-off-by: Zelan Zou <zelan.zou@nxp.com>
* imx-gst1.0-plugin: Upgrade to LF6.12.20-2.0.0Zelan Zou2025-08-141-5/+3
| | | | Signed-off-by: Zelan Zou <zelan.zou@nxp.com>
* imx-gst1.0-plugin: fix build against glibc 2.42Max Krummenacher2025-08-092-1/+39
| | | | | | | | | | OE-core updated to glibc 2.42. This version no longer provides termio.h. Fixes | ...tools/gplay2/gplay2.c:29:10: fatal error: termio.h: No such file or directory Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
* global: whinlatter updates for WORKDIR/UNPACKDIR and git fetch locationMax Krummenacher2025-06-2812-14/+10
| | | | | | | | | | | | | | | | | The series [1] changed the way sources are fetched/unpacked and S needs to follow that. Additionally for git repos it moved away from having 'git/' as the checkout directory. This has been partly tested by building weston based image for imx6/imx6ull/imx7/imx8/imx8mm/imx8mp/imx95 based images. E.g. none of the recipes specific for qoriq is built time tested. As walnascar is no longer compatible with master/whinlatter drop it from LAYERSERIES_COMPAT. [1] https://lore.kernel.org/openembedded-core/20250616095000.2918921-1-alex.kanavin@gmail.com/ Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
* gstreamer1.0-libav: 1.24.0.imx -> 1.24.7.imxRodrigo M. Duarte2025-05-201-1/+1
| | | | Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* imx-gst1.0-plugin: Update branch MM_04.09.02_2410_L6.6.y -> ↵Rodrigo M. Duarte2025-05-201-3/+5
| | | | | | | | | | | | | | | | | | | | | | | MM_04.09.03_2412_L6.12.y This commit add the following source revisions: 370510e imxasrc: Fix build issue on header file 79bc3c7 LF-14241: Switch to upstreamed API in GST ASRC plugin 8883212 sync g2d header file from g2d repo imx_2.3 branch for 2025Q1 484d93d Update release branch in SCR.txt to lf-6.12.3-1.0.0 50bcb33 MMFMWK-9455 imxcompositor: copy input frame to internal bufferpool instead of new allocated buffer fbf2c41 MMFMWK-9453 imxvideoconvert: need check alignment in video meta when checking buffer alignment 36a4b84 MMFMWK-9453 imxvideoconvert: No need check alignment if buffer belongs to its own pool a0bdf7f resize buffer only if width and height have no padding 5b8b5be MMFMWK-9444 grecorder: support cluster duration configuration for mkv format 7fefc0c MMFMWK-9444 grecorder: support fmp4 format recording 668fce0 LF-13894 ocl: check source buffer alignment based on device requirement. c5e2275 YOCIMX-8325 osink: fix displayfb.c build break with gcc14 a2ea381 [configurea.ac] Update version to 4.9.3 for next release b8cf002 Update release branch in SCR.txt to lf-6.6.52-2.2.0 Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* gstreamer1.0-plugins-bad: Update branch MM_04.09.02_2410_L6.6.y -> ↵Rodrigo M. Duarte2025-05-201-6/+2
| | | | | | | | | | | | | | | | MM_04.09.03_2412_L6.12.y This commit add the following source revisions: 7bb1254fc SCR: correct the wrong branch name in SCR for LF-6.12.3 2fd4bec02 update release location in SCR to correct URL 165a26789 Update release branch in SCR.txt to lf-6.12.3-1.0.0 642cbd688 MMFMWK-9454 waylandsink: Only update video meta to video info when creating shm mem. 96058cd12 MMFMWK-9383 waylandsink: fix display abnormal on Xen 46ae98d72 MMFMWK-9417 waylandsink: create shm buffer without padding ae1e0cf3f Update release branch in SCR.txt to lf-6.6.52-2.2.0 Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* gstreamer1.0-plugins-good: Update branch MM_04.09.02_2410_L6.6.y -> ↵Rodrigo M. Duarte2025-05-201-2/+2
| | | | | | | | | | | | | | | | MM_04.09.03_2412_L6.12.y This commit add the following source revisions: 626a972e9 update release location in SCR to correct URL 8aac95afc Update release branch in SCR.txt to lf-6.12.3-1.0.0 4cd595322 MMFMWK-9390 v4l2: Add ARGB2101010 support for imx95 wave6 precoding 9831ce142 LF-14072 v4l2: fix downscale has abnormal lines at bottom a4fe588e6 MMFMWK-9434 v4l2allocator: respect v4l2 plane's bytesused calculated by import_dmabuf 2a5281984 LF-13169 v4l2: skip pollerr if capture queue has not set up 7dee248be Update release branch in SCR.txt to lf-6.6.52-2.2.0 Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* gstreamer1.0-plugins-base: Update branch MM_04.09.02_2410_L6.6.y -> ↵Rodrigo M. Duarte2025-05-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | MM_04.09.03_2412_L6.12.y This commit add the following source revisions: 858ae5a1f id3v2: Don't try parsing extended header if not enough data is available a256f3bb9 update release location in SCR to correct URL 17df24937 Update release branch in SCR.txt to lf-6.12.3-1.0.0 ac80e93be playback: Improve stream list search 67e0489c4 urisourcebin: Aggregate collections from multiple parsebin 60fcf0ee3 parsebin: Store caps on parsepad as early as possible c735496eb parsebin: Don't store bogus caps on GstStream 5d6fc457f parsebin: Minor debug statement updates 7fa4272dc urisourcebin: Allow more cases for posting stream-collection 130360066 Revert "MMFMWK-9426 decodebin3: fix rtsp stream random playback fail with "No suitable plugins found"" 025f46ab4 MMFMWK-9419 glupload: Use info in in_caps to map video frames When copying input buffer to dambuf 0dcf1a0c7 MMFMWK-9433 decodebin3: workaround to fix try next decoder fail b002bf3ea Update release branch in SCR.txt to lf-6.6.52-2.2.0 Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* gstreamer1.0: Update branch MM_04.09.02_2410_L6.6.y -> MM_04.09.03_2412_L6.12.yRodrigo M. Duarte2025-05-201-2/+2
| | | | | | | | | | This commit add the following source revisions: e0d37a7d77 allocator: Avoid integer overflow when allocating sysmem 0ebc3f4829 Update release branch in SCR.txt to lf-6.12.3-1.0.0 3a60283eb7 Update release branch in SCR.txt to lf-6.6.52-2.2.0 Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* gst-examples: import from oe-core and downgrade to 1.24.7Max Krummenacher2025-05-183-0/+85
| | | | | | | | | | | | OE core upgraded gst-examples from 1.18.6 to 1.26.1. The newer version fails in configure as it expects the gstreamer version to be 1.26 or greater. Import the 1.26.1 recipe and downgrade it to 1.24.7. Append the version with '.imx' to point out that it is meant for the NXP gstreamer fork. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
* recipes: fix whitespace warningsHiago De Franco2025-04-221-2/+2
| | | | | | | | | | | | | | | Since OE bitbake commit 24772dd2ae6c ("parse/ConfHandler: Add warning for deprecated whitespace usage"), the current build generates the following warning (as example): WARNING: /var/home/frh/bsp-master/build/../layers/meta-freescale/recipes-kernel/linux/linux-imx.inc:36 has a lack of whitespace around the assignment: 'KCONFIG_MODE="--alldefconfig"' Fix all the warnings. Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
* imx-gst1.0-plugin: Simplify imx-opencl-converter dependencyTom Hochstein2025-01-171-3/+3
| | | | | | | Since imx-opencl-converter is supported going forward, the logic is simpler if that is the default and only the exceptions must be noted. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
* gstreamer1.0: Upgrade version 1.24.0 to 1.24.7Zelan Zou2025-01-1511-360/+29
| | | | Signed-off-by: Zelan Zou <zelan.zou@nxp.com>
* recipes-multimedia: gstreamer: Upgrade BSP to LF6.6.36_2.1.0Hiago De Franco2024-10-276-48/+12
| | | | | | | | | | | | | | | | | 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] https://github.com/nxp-imx/imx-gst1.0-plugin/commit/74a6afa6cceb69fe4b8cf09690392093cc7c5b37 Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
* gstreamer1.0-plugins-bad: Add imxvideoconvert_g2d to autovideoconvertHiago De Franco2024-09-122-0/+40
| | | | | | | | | | | 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>
* gstreamer1.0-plugins-ugly: remove unbuildable default packageconfigsMax Krummenacher2024-08-311-1/+0
| | | | | | | | | | | | 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>
* gstreamer: Update 6.6.3-1.0.0 to 6.6.23-2.0.0Hiago De Franco2024-08-0329-690/+164
| | | | | | | 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>
* Merge pull request #1838 from nxp-upstream/gstreamerOtavio Salvador2024-06-056-0/+239
|\ | | | | gstreamer: Downgrade non-forked recipes to match 1.22.5.imx
| * gstreamer: Downgrade non-forked recipes to match 1.22.5.imxTom Hochstein2024-06-056-0/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | gstreamer1.0-omx: Remove bbappend fileFabio Estevam2024-06-041-1/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | 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>
* imx-gst1.0-plugin: fix compile time errorMax Krummenacher2024-06-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* gstreamer1.0-plugins-bad_1.22.5.imx: fix compile time errorMax Krummenacher2024-06-011-0/+7
| | | | | | | | | | | 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>
* gstreamer1.0-plugins-good_1.22.5.imx: fix compile time errorMax Krummenacher2024-06-011-0/+5
| | | | | | | | | | | | | 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:1234: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>
* gstreamer1.0-plugins-base_1.22.5.imx: fix compile time errorMax Krummenacher2024-06-011-0/+2
| | | | | | | | | | | | 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>
* gstreamer: Use upstream recipesTom Hochstein2024-04-267-329/+0
| | | | | | The downgraded recipes are no longer needed. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
* recipes-multimedia: Upgrade to NXP release 6.6.3_1.0.0Valentin Jec2024-04-115-17/+36
| | | | | | | | | | | | | | | | | | | | | | 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>
* gstreamer1.0-plugins-base: Don't always enable viv-fbSamuli Piippo2024-03-212-7/+2
| | | | | | | 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>
* recipes-multimedia: Update for NXP release 6.1.55-2.2.0Valentin Jec2024-02-125-32/+48
| | | | | | | | | | | | | | | | | | | | | | 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>
* recipes-multimedia: Update for NXP release 6.1.36-2.1.0Tom Hochstein2023-11-065-11/+11
| | | | | | | | | | | | | | | | | | | 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>
* gstreamer1.0-plugins-base: Fix viv-fb usage and extract PACKAGECONFIG_GLCarlos Rafael Giani2023-09-142-6/+21
| | | | | | | | | | | | | | | | | | | | | | 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>
* gstreamer1.0-plugins-base: Fix build with muslKhem Raj2023-08-072-0/+48
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-vaapi: Use egl for all i.MX GPUTom Hochstein2023-08-032-2/+8
| | | | | | | | 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>
* gstreamer: Upgrade 1.20.3.imx -> 1.22.0.imxTom Hochstein2023-08-0327-472/+334
| | | | | | | 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>
* gstreamer1.0-plugins-imx: Upgrade to version 2.2.0Carlos Rafael Giani2023-08-011-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* gstreamer1.0-plugins-good: Fix build with clang-16Khem Raj2023-06-082-0/+33
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-python: package the internal libraries explicitlyKhem Raj2023-06-081-0/+2
| | | | | | | | | | | setuptools3-base FILES assignments have been simplified, therefore the internal libraries should be now packaged explicitly. Fixes ERROR: QA Issue: gstreamer1.0-python: Files/directories were installed but not shipped in any package: /usr/lib/gstreamer-1.0/libgstpython.so Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-plugins-good: Fix libsoup runtime dependencyTom Hochstein2023-06-011-0/+1
| | | | | | | Backport a fix for libsoup: https://github.com/openembedded/openembedded-core/commit/56c4559788d3d87ceed965aedd03d461df5999aa Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
* gstreamer1.0*: Update MM_04.07.02_2210_L5.15.y -> MM_04.07.03_2301_L6.1.yTom Hochstein2023-06-015-13/+26
| | | | Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
* gstreamer1.0-plugins-good: Move i.MX overrides to overrides sectionTom Hochstein2023-05-311-1/+1
| | | | Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
* gstreamer1.0-plugins-base: Move i.MX overrides to overrides sectionTom Hochstein2023-05-311-9/+7
| | | | Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
* imx-gst1.0-plugin: Fix build with clangKhem Raj2023-03-1311-1/+426
| | | | | | | These warnings are already there, gcc just does not error on them yet but clang does. Therefore clean them up a bit Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-plugins-base: Provide gstreamer1.0-plugins-base-videoconvertscaleKhem Raj2023-03-131-0/+8
| | | | | | | | | | | | | This builds a bridge for packagegroups from oe-core master which are upgraded to use gstreamer 1.22 and some packages are merged together e.g. videoconvertscale is unified version of videoconvert and videoscale packages Fixes ERROR: gstreamer1.0-meta-base-1.0-r0 do_package_qa: QA Issue: gstreamer1.0-meta-base rdepends on gstreamer1.0-plugins-base-videoconvertscale, but it isn't a build dependen cy? [build-deps] Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-plugins-good: Fix build with clangKhem Raj2023-03-122-0/+33
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gst-devtools: Add recipe for 1.20.3.imxKhem Raj2023-03-112-0/+94
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-vaapi: Do not use glx backend on imxKhem Raj2023-03-111-3/+1
| | | | | | vivante does not implement glx Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-omx: Add 1.20.3.imx recipeKhem Raj2023-03-111-0/+52
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-vaapi: Add 1.20.3.imx recipeKhem Raj2023-03-111-0/+57
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-python: Add 1.20.3.imx version to match imx setKhem Raj2023-03-111-0/+30
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gstreamer1.0-libav,gstreamer1.0-plugins-ugly,gstreamer1.0-rtsp-server: Drop ↵Khem Raj2023-03-113-6/+18
| | | | | | | | | | .imx when needing gstreamer version Fixes fetching errors otherwise, since it can not file source tarballs on gstreamer download servers with 1.20.3.imx suffix Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Jose Quaresma <jose.quaresma@foundries.io>