<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Segoe UI";
panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
{font-family:"var\(--ff-mono\)";
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Discussion already started in different thread. Kindly ignore this as this was posted a day earlier before I joined this mailing list as member.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks<o:p></o:p></p>
<p class="MsoNormal">Gaurav<o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> gstreamer-devel <gstreamer-devel-bounces@lists.freedesktop.org>
<b>On Behalf Of </b>Gaurav Vohra via gstreamer-devel<br>
<b>Sent:</b> Tuesday, August 17, 2021 5:18 PM<br>
<b>To:</b> gstreamer-devel@lists.freedesktop.org<br>
<b>Cc:</b> Gaurav Vohra <Gaurav.Vohra@einfochips.com><br>
<b>Subject:</b> [External] gstreamer videoconvert support gpu memory buffer<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:solid #9C6500 1.0pt;padding:2.0pt 2.0pt 2.0pt 2.0pt">
<p class="MsoNormal" style="line-height:12.0pt;background:#FFEB9C"><b><span style="font-size:10.0pt;color:#9C6500">CAUTION:</span></b><span style="font-size:10.0pt;color:black"> This email originated from outside of the organization. This message might not
be safe, use caution in opening it. If in doubt, do not open the attachment nor links in the message.<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am working to customize gstreamer plugin to support <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">working to modify gstreamer plugin - videoconvert get obtain output data allocated as gpu memory allocated buffers.<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">As part of first step have modified the plugin to update the src template to include the gpu memory caps.<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">Allocation for gpu memory is done is transform_frame, but before that being called stream error and negotition is failing<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">Commented part<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">// #define CSP_VIDEO_CAPS GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL) ";" \<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("ANY", GST_VIDEO_FORMATS_ALL)<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">Modified part<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">#define CSP_VIDEO_CAPS_SRC GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL) ";" \<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:GBM", GST_VIDEO_FORMATS_ALL)<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">//#define CSP_VIDEO_CAPS_SRC GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:GBM", GST_VIDEO_FORMATS_ALL)<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">static GstStaticPadTemplate gst_video_convert_src_template =<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">GST_STATIC_PAD_TEMPLATE ("src",<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> GST_PAD_SRC,<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> GST_PAD_ALWAYS,<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> GST_STATIC_CAPS (CSP_VIDEO_CAPS_SRC)<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> );<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">While trying to run the playback pipeline getting errors related to negotitation and stream error like below<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">Additional debug info:<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">../../../../gstreamer-1.14.4/libs/gst/base/gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">streaming stopped, reason not-negotiated (-4)</span><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Further debugging from logs suggest intersect of capsfilter input and the caps filter is coming as EMPTY
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">0:00:06.974521920 4320 0x10cde60 DEBUG capsfilter gstcapsfilter.c:296:gst_capsfilter_transform_caps:<capsfilter0> input: video/x-raw(memory:GBM), format=(string)NV12, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ],
framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:GBM), width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR,
RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE,
GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE,
Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32 }<o:p></o:p></p>
<p class="MsoNormal">0:00:06.974569108 4320 0x10cde60 DEBUG capsfilter gstcapsfilter.c:297:gst_capsfilter_transform_caps:<capsfilter0> filter: (NULL)<o:p></o:p></p>
<p class="MsoNormal">0:00:06.974616661 4320 0x10cde60 DEBUG capsfilter gstcapsfilter.c:299:gst_capsfilter_transform_caps:<capsfilter0> caps filter: video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)15/2, format=(string)YUY2<o:p></o:p></p>
<p class="MsoNormal">0:00:06.974651037 4320 0x10cde60 DEBUG capsfilter gstcapsfilter.c:300:gst_capsfilter_transform_caps:<capsfilter0> intersect: EMPTY<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards<o:p></o:p></p>
<p class="MsoNormal">Gaurav<o:p></o:p></p>
</div>
</div>
</body>
</html>