Add HW video engine support (#179)

* Add Cedar HW video decoder support

* Add sunxifbsink gstreamer plugin

* sunxifbsink: remove warning log
gst-omx: remove resolution check after crop

* Add gstreamer scripts

* review comments fixes

* ffmpeg: enable h264_omx encoder

* add missing hashes and use defined git commit for libcedar

* mv miyoo specific patches to board

* make `gst-omx.mk` less platform specfic

* Add header python interpreter to gst-raw.py

* Add videoscale with nearest-neighbour to play video with higher resolutions fluently

* Use HW scaler

* libcedarc: fix crash when playing 640x480 video

* kernel: Add patch to increase VRAM

* Add fast gstreamer player

* fix gst-play hangs

* Add matroska plugin

* remove target

---------

Co-authored-by: Apaczer <94932128+Apaczer@users.noreply.github.com>
This commit is contained in:
tiopex
2025-07-21 13:11:52 +02:00
committed by GitHub
parent e306510c79
commit c336dad699
31 changed files with 5363 additions and 27 deletions

View File

@@ -4,36 +4,31 @@
#
################################################################################
GST_OMX_VERSION = 1.20.4
GST_OMX_VERSION = 1.10.4
GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz
GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx
GST_OMX_LICENSE = LGPL-2.1
GST_OMX_LICENSE_FILES = COPYING
GST_OMX_CONF_OPTS = \
-Dexamples=disabled \
-Dtests=disabled \
-Dtools=disabled \
-Ddoc=disabled
GST_OMX_VARIANT = bellagio
GST_OMX_CONF_ENV = \
CFLAGS="$(TARGET_CFLAGS) \
-DOMX_VERSION_MAJOR=1 \
-DOMX_VERSION_MINOR=1 \
-DOMX_VERSION_REVISION=2 \
-DOMX_VERSION_STEP=0"
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
GST_OMX_VARIANT = rpi
GST_OMX_CONF_OPTS += -Dheader_path=$(STAGING_DIR)/usr/include/IL
else
GST_OMX_VARIANT = generic
endif
GST_OMX_CONF_OPTS += --with-omx-target=$(GST_OMX_VARIANT)
GST_OMX_CONF_OPTS += -Dtarget=$(GST_OMX_VARIANT)
GST_OMX_DEPENDENCIES = gstreamer1 gst1-plugins-base libopenmax
GST_OMX_DEPENDENCIES = gstreamer1 gst1-plugins-base libcedarc
# adjust library paths to where buildroot installs them
define GST_OMX_FIXUP_CONFIG_PATHS
find $(@D)/config -name gstomx.conf | \
xargs $(SED) 's|/usr/local|/usr|g' -e 's|/opt/vc|/usr|g'
endef
GST_OMX_AUTORECONF = YES
GST_OMX_POST_PATCH_HOOKS += GST_OMX_FIXUP_CONFIG_PATHS
$(eval $(meson-package))
$(eval $(autotools-package))