From 8504e40c08354bf0732bf0d67637c7f52b814550 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Tue, 31 Oct 2017 00:10:26 +0100 Subject: linux-driver-package, linux-toradex_3.10.40, libgstomx-1.0: l4t r21.6 Update to NVIDIA's latest Linux for Tegra aka L4T R21.6: https://developer.nvidia.com/linux-tegra-r216 The following libraries got updated: c0067724f7ea174ac845bcf3262916f4cdc68fee */usr/lib/xorg/modules/extensions/libglx.so 7fdf08dac2661c78aa13d72caa205660435a0591 */usr/lib/xorg/modules/drivers/nvidia_drv.so 61fe4c3e02eee124a0b50e0d2f616701c3093da8 */usr/lib/arm-linux-gnueabihf/tegra/libnvomx.so c0067724f7ea174ac845bcf3262916f4cdc68fee */usr/lib/arm-linux-gnueabihf/tegra/libglx.so 06ff56f0001e07b9e5271e5d1c8ee78a0ddd299d */usr/lib/arm-linux-gnueabihf/tegra/libnvmmlite_video.so abdccb24f89f1f0e482524569f9b6364c1fff0a9 */usr/lib/arm-linux-gnueabihf/tegra/libnvodm_imager.so 3e9b93e4e3bf24980d025917d694e1f23147837f */usr/lib/arm-linux-gnueabihf/tegra/libnvmm_camera_v3.so 1ee7838597bd9a351b4e241ba947b55d8b4419db */usr/lib/arm-linux-gnueabihf/tegra/libnvparser.so Signed-off-by: Marcel Ziswiler Acked-by: Dominik Sliwa --- .../files/r21.6.0-sources-gstomx1_src.patch | 90 ++++++++++++++++++++++ .../libgstomx-1.0/libgstomx-1.0_21.5.0.bb | 42 ---------- .../libgstomx-1.0/libgstomx-1.0_21.6.0.bb | 43 +++++++++++ 3 files changed, 133 insertions(+), 42 deletions(-) create mode 100644 recipes-multimedia/libgstomx-1.0/files/r21.6.0-sources-gstomx1_src.patch delete mode 100644 recipes-multimedia/libgstomx-1.0/libgstomx-1.0_21.5.0.bb create mode 100644 recipes-multimedia/libgstomx-1.0/libgstomx-1.0_21.6.0.bb (limited to 'recipes-multimedia') diff --git a/recipes-multimedia/libgstomx-1.0/files/r21.6.0-sources-gstomx1_src.patch b/recipes-multimedia/libgstomx-1.0/files/r21.6.0-sources-gstomx1_src.patch new file mode 100644 index 0000000..f74f278 --- /dev/null +++ b/recipes-multimedia/libgstomx-1.0/files/r21.6.0-sources-gstomx1_src.patch @@ -0,0 +1,90 @@ +diff -Naur r21.5.0-sources-gstomx1_src-gst-omx1/omx/gstomxh264enc.c r21.6.0-sources-gstomx1_src-gst-omx1/omx/gstomxh264enc.c +--- r21.5.0-sources-gstomx1_src-gst-omx1/omx/gstomxh264enc.c 2016-06-08 06:17:32.000000000 +0200 ++++ r21.6.0-sources-gstomx1_src-gst-omx1/omx/gstomxh264enc.c 2017-10-14 03:23:25.000000000 +0200 +@@ -48,13 +48,15 @@ + { + PROP_0, + PROP_INSERT_SPS_PPS, +- PROP_NO_BFRAMES, ++ PROP_NUM_BFRAMES, + PROP_SLICE_HEADER_SPACING, + PROP_PROFILE + }; + + #define DEFAULT_SLICE_HEADER_SPACING 0 + #define DEFAULT_PROFILE OMX_VIDEO_AVCProfileBaseline ++#define DEFAULT_NUM_B_FRAMES 0 ++#define MAX_NUM_B_FRAMES 2 + + + #define GST_TYPE_OMX_VID_ENC_PROFILE (gst_omx_videnc_profile_get_type ()) +@@ -132,11 +134,12 @@ + "Insert H.264 SPS, PPS at every IDR frame", + FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + +- g_object_class_install_property (gobject_class, PROP_NO_BFRAMES, +- g_param_spec_boolean ("no-B-Frames", +- "Do not encode B Frames", +- "Do not use B Frames while encoding", +- FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | ++ g_object_class_install_property (gobject_class, PROP_NUM_BFRAMES, ++ g_param_spec_uint ("num-B-Frames", ++ "B Frames between two reference frames", ++ "Number of B Frames between two reference frames (not recommended)", ++ 0, MAX_NUM_B_FRAMES, DEFAULT_NUM_B_FRAMES, ++ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | + GST_PARAM_MUTABLE_READY)); + + g_object_class_install_property (gobject_class, PROP_PROFILE, +@@ -151,7 +154,7 @@ + gst_omx_h264_enc_init (GstOMXH264Enc * self) + { + self->insert_sps_pps = FALSE; +- self->no_BFrames = FALSE; ++ self->nBFrames = 0; + self->slice_header_spacing = DEFAULT_SLICE_HEADER_SPACING; + self->profile = DEFAULT_PROFILE; + } +@@ -679,8 +682,8 @@ + case PROP_INSERT_SPS_PPS: + self->insert_sps_pps = g_value_get_boolean (value); + break; +- case PROP_NO_BFRAMES: +- self->no_BFrames = g_value_get_boolean (value); ++ case PROP_NUM_BFRAMES: ++ self->nBFrames = g_value_get_uint (value); + break; + case PROP_SLICE_HEADER_SPACING: + self->slice_header_spacing = g_value_get_ulong (value); +@@ -704,8 +707,8 @@ + case PROP_INSERT_SPS_PPS: + g_value_set_boolean (value, self->insert_sps_pps); + break; +- case PROP_NO_BFRAMES: +- g_value_set_boolean (value, self->no_BFrames); ++ case PROP_NUM_BFRAMES: ++ g_value_set_uint (value, self->nBFrames); + break; + case PROP_SLICE_HEADER_SPACING: + g_value_set_ulong (value, self->slice_header_spacing); +@@ -734,7 +737,7 @@ + gst_omx_component_get_parameter (GST_OMX_VIDEO_ENC (self)->enc, + OMX_IndexParamVideoAvc, &oH264Type); + if (eError == OMX_ErrorNone) { +- oH264Type.nBFrames = self->no_BFrames; ++ oH264Type.nBFrames = self->nBFrames; + oH264Type.nSliceHeaderSpacing = self->slice_header_spacing; + oH264Type.eProfile = self->profile; + +diff -Naur r21.5.0-sources-gstomx1_src-gst-omx1/omx/gstomxh264enc.h r21.6.0-sources-gstomx1_src-gst-omx1/omx/gstomxh264enc.h +--- r21.5.0-sources-gstomx1_src-gst-omx1/omx/gstomxh264enc.h 2016-06-08 06:17:32.000000000 +0200 ++++ r21.6.0-sources-gstomx1_src-gst-omx1/omx/gstomxh264enc.h 2017-10-14 03:23:25.000000000 +0200 +@@ -56,7 +56,7 @@ + GstOMXVideoEnc parent; + h264_sf stream_format; + gboolean insert_sps_pps; +- gboolean no_BFrames; ++ gboolean nBFrames; + glong slice_header_spacing; + guint profile; + }; diff --git a/recipes-multimedia/libgstomx-1.0/libgstomx-1.0_21.5.0.bb b/recipes-multimedia/libgstomx-1.0/libgstomx-1.0_21.5.0.bb deleted file mode 100644 index ef7eac3..0000000 --- a/recipes-multimedia/libgstomx-1.0/libgstomx-1.0_21.5.0.bb +++ /dev/null @@ -1,42 +0,0 @@ -DESCRIPTION = "NVIDIA Linux Driver Packages" -HOMEPAGE = "https://developer.nvidia.com/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = " \ - http://developer.download.nvidia.com/embedded/L4T/r21_Release_v5.0/source/gstomx1_src.tbz2 \ - file://gstomx-1.0.patch \ -" - -SRC_URI[md5sum] = "d5714a9533b210b30ef0e97e28ebc77d" -SRC_URI[sha256sum] = "b1c62a41467f2ff6661a3ba7d0e30e85e7ed126005f67b39ff6ebf2d704fd222" - -DEPENDS += " libgstnvegl libffi glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base libpcre libxml2 zlib " -DEPENDS += " virtual/egl virtual/mesa virtual/libgles2 wayland gdbm drm " - -S = "${WORKDIR}/gstomx1_src/gst-omx1" - -inherit autotools pkgconfig - -EXTRA_OECONF = " --with-omx-target=tegra --disable-static-plugins" - -CXXFLAGS += " -I${S}/omx/openmax " -CFLAGS += " -I${S}/omx/openmax " - -do_configure_prepend() { - export NOCONFIGURE="true" - export GST_EGL_LIBS="-lgstnvegl-1.0 -lEGL -lX11 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0" - export GST_EGL_CFLAGS="-I${STAGING_INCDIR}/libdrm " -# export GST_EGL_CFLAGS="-pthread -I${STAGING_INCDIR}/gstreamer-1.0 -I${STAGING_INCDIR}/libdrm -I${STAGING_INCDIR}/glib-2.0 -I${STAGING_LIBDIR}/glib-2.0/include" -} - -FILES_${PN}-dbg = " \ - /usr/src/debug/* \ - /usr/lib/gstreamer-1.0/.debug/* \ - /usr/lib/.debug/* \ -" - -FILES_${PN} = " \ - /usr/lib/gstreamer-1.0/libgstomx.la \ - /usr/lib/gstreamer-1.0/libgstomx.so \ -" diff --git a/recipes-multimedia/libgstomx-1.0/libgstomx-1.0_21.6.0.bb b/recipes-multimedia/libgstomx-1.0/libgstomx-1.0_21.6.0.bb new file mode 100644 index 0000000..41056f1 --- /dev/null +++ b/recipes-multimedia/libgstomx-1.0/libgstomx-1.0_21.6.0.bb @@ -0,0 +1,43 @@ +DESCRIPTION = "NVIDIA Linux Driver Packages" +HOMEPAGE = "https://developer.nvidia.com/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = " \ + http://developer.download.nvidia.com/embedded/L4T/r21_Release_v5.0/source/gstomx1_src.tbz2 \ + file://r21.6.0-sources-gstomx1_src.patch \ + file://gstomx-1.0.patch \ +" + +SRC_URI[md5sum] = "d5714a9533b210b30ef0e97e28ebc77d" +SRC_URI[sha256sum] = "b1c62a41467f2ff6661a3ba7d0e30e85e7ed126005f67b39ff6ebf2d704fd222" + +DEPENDS += " libgstnvegl libffi glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base libpcre libxml2 zlib " +DEPENDS += " virtual/egl virtual/mesa virtual/libgles2 wayland gdbm drm " + +S = "${WORKDIR}/gstomx1_src/gst-omx1" + +inherit autotools pkgconfig + +EXTRA_OECONF = " --with-omx-target=tegra --disable-static-plugins" + +CXXFLAGS += " -I${S}/omx/openmax " +CFLAGS += " -I${S}/omx/openmax " + +do_configure_prepend() { + export NOCONFIGURE="true" + export GST_EGL_LIBS="-lgstnvegl-1.0 -lEGL -lX11 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0" + export GST_EGL_CFLAGS="-I${STAGING_INCDIR}/libdrm " +# export GST_EGL_CFLAGS="-pthread -I${STAGING_INCDIR}/gstreamer-1.0 -I${STAGING_INCDIR}/libdrm -I${STAGING_INCDIR}/glib-2.0 -I${STAGING_LIBDIR}/glib-2.0/include" +} + +FILES_${PN}-dbg = " \ + /usr/src/debug/* \ + /usr/lib/gstreamer-1.0/.debug/* \ + /usr/lib/.debug/* \ +" + +FILES_${PN} = " \ + /usr/lib/gstreamer-1.0/libgstomx.la \ + /usr/lib/gstreamer-1.0/libgstomx.so \ +" -- cgit v1.2.3