From c8023eeb1e26fbe6d3b9970f0775c80a2e76f654 Mon Sep 17 00:00:00 2001 From: "leo.lu" Date: Tue, 11 Jul 2023 09:40:49 +0800 Subject: [PATCH 1/2] gstreamer: gst1-plugins-bad: Add gstjpegparse plugin to decodebin --- ...05-add-jpegparse-plugin-to-decodebin.patch | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 package/gstreamer1/gst1-plugins-bad/0005-add-jpegparse-plugin-to-decodebin.patch diff --git a/package/gstreamer1/gst1-plugins-bad/0005-add-jpegparse-plugin-to-decodebin.patch b/package/gstreamer1/gst1-plugins-bad/0005-add-jpegparse-plugin-to-decodebin.patch new file mode 100644 index 00000000..b2d4460d --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bad/0005-add-jpegparse-plugin-to-decodebin.patch @@ -0,0 +1,36 @@ +Allow decodebin to use jpegparse plugin. + +Signed-off-by: Leo Lu + +diff -purN a/gst/jpegformat/gstjpegformat.c b/gst/jpegformat/gstjpegformat.c +--- a/gst/jpegformat/gstjpegformat.c 2021-09-09 03:03:40.923254300 +0800 ++++ b/gst/jpegformat/gstjpegformat.c 2023-07-10 21:37:39.360269130 +0800 +@@ -30,7 +30,7 @@ + static gboolean + plugin_init (GstPlugin * plugin) + { +- if (!gst_element_register (plugin, "jpegparse", GST_RANK_NONE, ++ if (!gst_element_register (plugin, "jpegparse", GST_RANK_SECONDARY, + GST_TYPE_JPEG_PARSE)) + return FALSE; + if (!gst_element_register (plugin, "jifmux", GST_RANK_SECONDARY, +diff -purN a/gst/jpegformat/gstjpegparse.c b/gst/jpegformat/gstjpegparse.c +--- a/gst/jpegformat/gstjpegparse.c 2021-09-09 03:03:40.923254300 +0800 ++++ b/gst/jpegformat/gstjpegparse.c 2023-07-10 21:38:08.628411201 +0800 +@@ -90,6 +90,7 @@ static GstFlowReturn gst_jpeg_parse_pre_ + #define gst_jpeg_parse_parent_class parent_class + G_DEFINE_TYPE (GstJpegParse, gst_jpeg_parse, GST_TYPE_BASE_PARSE); + ++ + static void + gst_jpeg_parse_class_init (GstJpegParseClass * klass) + { +@@ -113,7 +114,7 @@ gst_jpeg_parse_class_init (GstJpegParseC + + gst_element_class_set_static_metadata (gstelement_class, + "JPEG stream parser", +- "Video/Parser", ++ "Codec/Parser/Video/Image", + "Parse JPEG images into single-frame buffers", + "Arnout Vandecappelle (Essensium/Mind) "); + From 2f074528e2ad6b4a200551f5858cd4cab132c95c Mon Sep 17 00:00:00 2001 From: "leo.lu" Date: Tue, 11 Jul 2023 09:58:48 +0800 Subject: [PATCH 2/2] gstomx: modify omxmjpegdec rank and default framerate --- ...xmjepgdec-rank-and-default-framerate.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 package/starfive/sf-gst-omx/0022-modify-omxmjepgdec-rank-and-default-framerate.patch diff --git a/package/starfive/sf-gst-omx/0022-modify-omxmjepgdec-rank-and-default-framerate.patch b/package/starfive/sf-gst-omx/0022-modify-omxmjepgdec-rank-and-default-framerate.patch new file mode 100644 index 00000000..b3426369 --- /dev/null +++ b/package/starfive/sf-gst-omx/0022-modify-omxmjepgdec-rank-and-default-framerate.patch @@ -0,0 +1,26 @@ +Raise omxmjpegdec rank and modify default framerate. + +Signed-off-by: Leo Lu + +diff -purN a/config/stf/gstomx.conf b/config/stf/gstomx.conf +--- a/config/stf/gstomx.conf 2023-07-11 09:47:30.321610934 +0800 ++++ b/config/stf/gstomx.conf 2023-07-11 09:45:56.284368850 +0800 +@@ -40,6 +40,6 @@ core-name=/usr/lib/libsf-omx-il.so + component-name=OMX.sf.video_decoder.mjpeg.internal + in-port-index=0 + out-port-index=1 +-rank=1 ++rank=257 + hacks=pass-profile-to-decoder;pass-color-format-to-decoder;ensure-buffer-count-actual;no-component-reconfigure + src-template-caps=video/x-raw, format = (string) { NV16_10LE32, NV12_10LE32, NV16, NV61, YUY2, YVYU, UYVY, NV12, NV21, I420, RGB16, BGR16, ABGR, ARGB, GRAY8, Y42B, Y444, VYUY, v308 }, width = (int) [ 1, max ], height = (int) [ 1, max ], framerate = (fraction) [ 0, max ] +--- a/omx/gstomxmjpegdec.c 2023-07-11 09:47:30.285610474 +0800 ++++ b/omx/gstomxmjpegdec.c 2023-07-11 09:46:30.204826151 +0800 +@@ -172,7 +172,7 @@ gst_omx_mjpeg_dec_class_init (GstOMXMJPE + "Frames per second in raw stream.\n \ + Only workable for the container not exposing fps.\n\ + '0' means disabled.", +- 0, G_MAXINT, ++ 25, G_MAXINT, + DEFAULT_FRAMERATE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + #endif + g_object_class_install_property (gobject_class, PROP_MIRROR,