\hypertarget{nnstreamer__plugin__api__util__impl_8c}{}\doxysection{nnstreamer/nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.c File Reference}
\label{nnstreamer__plugin__api__util__impl_8c}\index{nnstreamer/nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer/nnstreamer\_plugin\_api\_util\_impl.c}}


Tensor common util functions for N\+N\+Streamer. (No gst dependency)  


{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include \char`\"{}nnstreamer\+\_\+plugin\+\_\+api\+\_\+util.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}nnstreamer\+\_\+log.\+h\char`\"{}}\newline
Include dependency graph for nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a6134f355e33fe871bd3a09fba71d56ac}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+G\+IC}}~(0xfeedcced)
\begin{DoxyCompactList}\small\item\em Magic number of tensor meta. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a4f04b4a7cd2ca62c76e09d4f3d6af5ff}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+G\+I\+C\+\_\+\+V\+A\+L\+ID}}(m)~((m) == \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a6134f355e33fe871bd3a09fba71d56ac}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+G\+IC}})
\begin{DoxyCompactList}\small\item\em Macro to check the tensor meta. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a9a02229ec260035eea8e336327b21533}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+V\+A\+L\+ID}}(v)~(((v) \& 0x\+D\+E000000) == 0x\+D\+E000000)
\begin{DoxyCompactList}\small\item\em Macro to check the meta version. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a20f46c4be4965a7a1b7aa8866650694e}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+K\+E\+\_\+\+V\+E\+R\+S\+I\+ON}}(major,  minor)~((major) $<$$<$ 12 $\vert$ (minor) $\vert$ 0x\+D\+E000000)
\begin{DoxyCompactList}\small\item\em Macro to get the version of tensor meta. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ac9f5ccdfc3ec4a52c958fe5a152f58be}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+V\+E\+R\+S\+I\+ON}}~\mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a20f46c4be4965a7a1b7aa8866650694e}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+K\+E\+\_\+\+V\+E\+R\+S\+I\+ON}}(1,0)
\begin{DoxyCompactList}\small\item\em The version of tensor meta. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ade907f74240a677dcc4c27c96531755d}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+I\+S\+\_\+\+V1}}(v)~(\mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a9a02229ec260035eea8e336327b21533}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+V\+A\+L\+ID}}(v) \&\& (((v) \& 0x00\+F\+F\+F000) \& \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a20f46c4be4965a7a1b7aa8866650694e}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+K\+E\+\_\+\+V\+E\+R\+S\+I\+ON}}(1,0)))
\begin{DoxyCompactList}\small\item\em Macro to check the version of tensor meta. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a3c312c97eb85d273ce368f8171d89e8f}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+I\+S\+\_\+\+V\+A\+L\+ID}}(m)~((m) \&\& \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a4f04b4a7cd2ca62c76e09d4f3d6af5ff}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+G\+I\+C\+\_\+\+V\+A\+L\+ID}} ((m)-\/$>$magic) \&\& \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a9a02229ec260035eea8e336327b21533}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+V\+A\+L\+ID}} ((m)-\/$>$version))
\begin{DoxyCompactList}\small\item\em Macro to check the meta is valid. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static gint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_af39b1253190d2d0633213e328c55d6ad}{\+\_\+gcd}} (gint a, gint b)
\begin{DoxyCompactList}\small\item\em Internal function, copied from gst\+\_\+util\+\_\+greatest\+\_\+common\+\_\+divisor() to remove dependency of gstreamer. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ad37c19b892964e977e6181b1a9ecbbe7}{\+\_\+compare\+\_\+rate}} (gint a\+\_\+n, gint a\+\_\+d, gint b\+\_\+n, gint b\+\_\+d)
\begin{DoxyCompactList}\small\item\em Internal function, copied from gst\+\_\+util\+\_\+fraction\+\_\+compare() to remove dependency of gstreamer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a0f1e9ae368883b6123a167bb68345c4d}{gst\+\_\+tensor\+\_\+info\+\_\+init}} (\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Initialize the tensor info structure. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a71047696386d998bd014769122cfe6f8}{gst\+\_\+tensor\+\_\+info\+\_\+free}} (\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Free allocated data in tensor info structure. \end{DoxyCompactList}\item 
gsize \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a178343ec54edba0f77fe9059c33140f1}{gst\+\_\+tensor\+\_\+info\+\_\+get\+\_\+size}} (const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Get data size of single tensor. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a482055be644ee880fe7b979d3d25d759}{gst\+\_\+tensor\+\_\+info\+\_\+validate}} (const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Check the tensor info is valid. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a2e9b4f94129c698a80e4dae8b00a5175}{gst\+\_\+tensor\+\_\+info\+\_\+is\+\_\+equal}} (const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$i1, const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$i2)
\begin{DoxyCompactList}\small\item\em Compare tensor info. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_aba2b44acec37832d3d33911ead050f30}{gst\+\_\+tensor\+\_\+info\+\_\+copy\+\_\+n}} (\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$dest, const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$src, const guint n)
\begin{DoxyCompactList}\small\item\em Copy tensor info up to n elements. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a50033a3c3736e69ce3aca1c845849abc}{gst\+\_\+tensor\+\_\+info\+\_\+copy}} (\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$dest, const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy tensor info. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a8669b11fa7047a89cf7a6114d10707ab}{gst\+\_\+tensor\+\_\+info\+\_\+convert\+\_\+to\+\_\+meta}} (\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info, \mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta)
\begin{DoxyCompactList}\small\item\em Convert \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} structure to \mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}}. \end{DoxyCompactList}\item 
guint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ab38800406e4dcea8ad56095b3ddcd847}{gst\+\_\+tensor\+\_\+info\+\_\+get\+\_\+rank}} (const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Get tensor rank. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a52a1eaa0e9d345a6af1d46b8d0787ef0}{gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+nth\+\_\+info}} (\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info, guint index)
\begin{DoxyCompactList}\small\item\em Get the pointer of nth tensor information. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ab66ea7a33df6ead217f7add44da9728c}{gst\+\_\+tensors\+\_\+info\+\_\+init}} (\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Initialize the tensors info structure. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_acf3bd011bfc00f204f907648e909d646}{gst\+\_\+tensors\+\_\+info\+\_\+free}} (\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Free allocated data in tensors info structure. \end{DoxyCompactList}\item 
gsize \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a6c97f01f45923f42df360f8cd038840a}{gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+size}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info, gint index)
\begin{DoxyCompactList}\small\item\em Get data size of single tensor. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a66650dd67bed2037956981ff64f89f9f}{gst\+\_\+tensors\+\_\+info\+\_\+validate}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Check the tensors info is valid. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a9741ad595b264a7d998cde789fba5dfe}{gst\+\_\+tensors\+\_\+info\+\_\+is\+\_\+equal}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$i1, const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$i2)
\begin{DoxyCompactList}\small\item\em Compare tensors info. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a01b2ce3bfafb46442f733cbaceff4f85}{gst\+\_\+tensors\+\_\+info\+\_\+copy}} (\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$dest, const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy tensor info. \end{DoxyCompactList}\item 
guint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_aebdfe5e9bb453fe30c952bbccc346267}{gst\+\_\+tensors\+\_\+info\+\_\+parse\+\_\+dimensions\+\_\+string}} (\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info, const gchar $\ast$dim\+\_\+string)
\begin{DoxyCompactList}\small\item\em Parse the string of dimensions. \end{DoxyCompactList}\item 
guint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a553a4359bc7fc957cd167fcfb840cee3}{gst\+\_\+tensors\+\_\+info\+\_\+parse\+\_\+types\+\_\+string}} (\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info, const gchar $\ast$type\+\_\+string)
\begin{DoxyCompactList}\small\item\em Parse the string of types. \end{DoxyCompactList}\item 
guint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a63e6de12c65a689a7a06f7cb9b7eb082}{gst\+\_\+tensors\+\_\+info\+\_\+parse\+\_\+names\+\_\+string}} (\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info, const gchar $\ast$name\+\_\+string)
\begin{DoxyCompactList}\small\item\em Parse the string of names. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a1ff148773f34fa6554fd9e55a356a8b6}{gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+dimensions\+\_\+string}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Get the string of dimensions in tensors info. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a9025c5a4d114e3d08ef3edf664d19212}{gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+rank\+\_\+dimensions\+\_\+string}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info, const unsigned int rank)
\begin{DoxyCompactList}\small\item\em Get the string of dimensions in tensors info and rank count. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ab6f52e30a8fe7f64a4cd260304589672}{gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+types\+\_\+string}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Get the string of types in tensors info. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_af5f9583b8fa9c48602b6a5a344cfc20e}{gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+names\+\_\+string}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Get the string of tensor names in tensors info. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a72a0c8a3b05af0b6e547d7e767d9af9c}{gst\+\_\+tensors\+\_\+info\+\_\+to\+\_\+string}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} represented as a string. Caller should free it. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a7140bb8181c4b9b09fe20b1d48100100}{gst\+\_\+tensors\+\_\+config\+\_\+init}} (\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Initialize the tensors config info structure (for other/tensors) \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a07449b674e4a9648d6924f0e059fe737}{gst\+\_\+tensors\+\_\+config\+\_\+free}} (\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Free allocated data in tensors config structure. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ac577ad665c0eb9534a0de20a99a21955}{gst\+\_\+tensors\+\_\+config\+\_\+validate}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Check the tensors are all configured. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_aa5d880c327cc3034cb592c70e0de835f}{gst\+\_\+tensors\+\_\+config\+\_\+is\+\_\+equal}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$c1, const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$c2)
\begin{DoxyCompactList}\small\item\em Compare tensor config info. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a8dfde6c65e78fce89355bc95b57b6f56}{gst\+\_\+tensors\+\_\+config\+\_\+copy}} (\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$dest, const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy tensors config. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a468a5ffd979a5d61440ce95d6863bcbe}{gst\+\_\+tensors\+\_\+config\+\_\+to\+\_\+string}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Tensor config represented as a string. Caller should free it. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a38819efd09f7f7180f886fc9e6406cba}{gst\+\_\+tensor\+\_\+dimension\+\_\+is\+\_\+valid}} (const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim)
\begin{DoxyCompactList}\small\item\em Check the tensor dimension is valid. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_af6ce7bcbe5441e7420c28d9b6d651e1f}{gst\+\_\+tensor\+\_\+dimension\+\_\+is\+\_\+equal}} (const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim1, const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim2)
\begin{DoxyCompactList}\small\item\em Compare the tensor dimension. \end{DoxyCompactList}\item 
guint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a880f07bcc57ed25b6138095f1fbd4ea1}{gst\+\_\+tensor\+\_\+dimension\+\_\+get\+\_\+rank}} (const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim)
\begin{DoxyCompactList}\small\item\em Get the rank of tensor dimension. \end{DoxyCompactList}\item 
guint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a6f2100e88d1b50feb7679051bf5c401c}{gst\+\_\+tensor\+\_\+dimension\+\_\+get\+\_\+min\+\_\+rank}} (const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim)
\begin{DoxyCompactList}\small\item\em Get the minimum rank of tensor dimension. \end{DoxyCompactList}\item 
guint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a548a6c74156e8f8425fd8991c0dc4332}{gst\+\_\+tensor\+\_\+parse\+\_\+dimension}} (const gchar $\ast$dimstr, \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim)
\begin{DoxyCompactList}\small\item\em Parse tensor dimension parameter string. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a644009058b44fe850c2645f51167d701}{gst\+\_\+tensor\+\_\+get\+\_\+dimension\+\_\+string}} (const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim)
\begin{DoxyCompactList}\small\item\em Get dimension string from given tensor dimension. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a5917e4ec4809cfae4004eeabaa7705de}{gst\+\_\+tensor\+\_\+get\+\_\+rank\+\_\+dimension\+\_\+string}} (const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim, const unsigned int rank)
\begin{DoxyCompactList}\small\item\em Get dimension string from given tensor dimension and rank count. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_aa6cb0de701e60ec338089509e5b7b8c1}{gst\+\_\+tensor\+\_\+dimension\+\_\+string\+\_\+is\+\_\+equal}} (const gchar $\ast$dimstr1, const gchar $\ast$dimstr2)
\begin{DoxyCompactList}\small\item\em Compare dimension strings. \end{DoxyCompactList}\item 
gulong \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_af94635efffefd461ecf360706e572542}{gst\+\_\+tensor\+\_\+get\+\_\+element\+\_\+count}} (const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}} dim)
\begin{DoxyCompactList}\small\item\em Count the number of elements of a tensor. \end{DoxyCompactList}\item 
gsize \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ac14b2e9320ea5112942103119fef9a69}{gst\+\_\+tensor\+\_\+get\+\_\+element\+\_\+size}} (\mbox{\hyperlink{tensor__typedef_8h_ab5f7feb87196d0b9ae37b11fd819f23e}{tensor\+\_\+type}} \mbox{\hyperlink{gsttensor__if_8c_ae3c4ba0b643db0fa0b5b96496abd1803}{type}})
\begin{DoxyCompactList}\small\item\em Get element size of tensor type (byte per element) \end{DoxyCompactList}\item 
\mbox{\hyperlink{tensor__typedef_8h_ab5f7feb87196d0b9ae37b11fd819f23e}{tensor\+\_\+type}} \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_abd09e6b3446c78cae9dbd1a647551c86}{gst\+\_\+tensor\+\_\+get\+\_\+type}} (const gchar $\ast$typestr)
\begin{DoxyCompactList}\small\item\em Get tensor type from string input. \end{DoxyCompactList}\item 
const gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a9ae70e6ffff3ff132bb1ca609dda507f}{gst\+\_\+tensor\+\_\+get\+\_\+type\+\_\+string}} (\mbox{\hyperlink{tensor__typedef_8h_ab5f7feb87196d0b9ae37b11fd819f23e}{tensor\+\_\+type}} \mbox{\hyperlink{gsttensor__if_8c_ae3c4ba0b643db0fa0b5b96496abd1803}{type}})
\begin{DoxyCompactList}\small\item\em Get type string of tensor type. \end{DoxyCompactList}\item 
\mbox{\hyperlink{tensor__typedef_8h_a8f63561cff18618282cb7e0dd1f8ac96}{tensor\+\_\+format}} \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a7bdae57d50d60bb31748250f6b849bd8}{gst\+\_\+tensor\+\_\+get\+\_\+format}} (const gchar $\ast$format\+\_\+str)
\begin{DoxyCompactList}\small\item\em Get tensor format from string input. \end{DoxyCompactList}\item 
const gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a6748f4783ba85ee092a0d773a47d378a}{gst\+\_\+tensor\+\_\+get\+\_\+format\+\_\+string}} (\mbox{\hyperlink{tensor__typedef_8h_a8f63561cff18618282cb7e0dd1f8ac96}{tensor\+\_\+format}} format)
\begin{DoxyCompactList}\small\item\em Get tensor format string. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a873d1f8e45189b43b69e639cda61d106}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+init}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta)
\begin{DoxyCompactList}\small\item\em Initialize the tensor meta info structure. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a2bbd8a94777c74cf3ab702cd594cb58a}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+get\+\_\+version}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta, guint $\ast$major, guint $\ast$minor)
\begin{DoxyCompactList}\small\item\em Get the version of tensor meta. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a4c9e451b809d15ad090f276c2b1bb369}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+validate}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta)
\begin{DoxyCompactList}\small\item\em Check the meta info is valid. \end{DoxyCompactList}\item 
gsize \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a51b64292db43312c52b602625b9b763d}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+get\+\_\+header\+\_\+size}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta)
\begin{DoxyCompactList}\small\item\em Get the header size to handle a tensor meta. \end{DoxyCompactList}\item 
gsize \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_aac777e7cf9c6329a7bbfcda4d513720e}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+get\+\_\+data\+\_\+size}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta)
\begin{DoxyCompactList}\small\item\em Get the data size calculated from tensor meta. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a53d1419a8f893888857f706f2f3fae88}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+update\+\_\+header}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta, gpointer header)
\begin{DoxyCompactList}\small\item\em Update header from tensor meta. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a0115505c867b2d7352c2a6019e503f91}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+parse\+\_\+header}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta, gpointer header)
\begin{DoxyCompactList}\small\item\em Parse header and fill the tensor meta. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a606802526ca1a023b151505d45df23b3}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+convert}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta, \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Convert \mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} structure to \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}}. \end{DoxyCompactList}\item 
gint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ab94fd4698898d33acddb602d21147b43}{find\+\_\+key\+\_\+strv}} (const gchar $\ast$$\ast$strv, const gchar $\ast$key)
\begin{DoxyCompactList}\small\item\em Find the index value of the given key string array. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a2304d412ef4e215e0ab3aa844bf81742}{nnstreamer\+\_\+version\+\_\+string}} (void)
\begin{DoxyCompactList}\small\item\em Get the version of N\+N\+Streamer (string). \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_ae4aef598e8207c0639887495bf318a8d}{nnstreamer\+\_\+version\+\_\+fetch}} (guint $\ast$major, guint $\ast$minor, guint $\ast$micro)
\begin{DoxyCompactList}\small\item\em Get the version of N\+N\+Streamer (int, divided). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a50c48109160186eccc48b8ae781ac072}{tensor\+\_\+element\+\_\+typename}} \mbox{[}$\,$\mbox{]}
\begin{DoxyCompactList}\small\item\em String representations for each tensor element type. \end{DoxyCompactList}\item 
static const guint \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a4a0b8da000c9e323134edc9a10f3c9de}{tensor\+\_\+element\+\_\+size}} \mbox{[}$\,$\mbox{]}
\begin{DoxyCompactList}\small\item\em Byte-\/per-\/element of each tensor element type. \end{DoxyCompactList}\item 
static const gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a919be9ae2b2a884211f1c0d193500d8e}{tensor\+\_\+format\+\_\+name}} \mbox{[}$\,$\mbox{]}
\begin{DoxyCompactList}\small\item\em String representations for tensor format. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Tensor common util functions for N\+N\+Streamer. (No gst dependency) 

Copyright (c) 2022 Samsung Electronics Co., Ltd. All Rights Reserved.

\begin{DoxyDate}{Date}
28 Jan 2022 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{https://github.com/nnstreamer/nnstreamer}{\texttt{ https\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Gichan Jang \href{mailto:gichan2.jang@samsung.com}{\texttt{ gichan2.\+jang@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000093}{Bug}}]No known bugs except for N\+YI items \end{DoxyRefDesc}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ade907f74240a677dcc4c27c96531755d}\label{nnstreamer__plugin__api__util__impl_8c_ade907f74240a677dcc4c27c96531755d}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!GST\_TENSOR\_META\_IS\_V1@{GST\_TENSOR\_META\_IS\_V1}}
\index{GST\_TENSOR\_META\_IS\_V1@{GST\_TENSOR\_META\_IS\_V1}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_META\_IS\_V1}{GST\_TENSOR\_META\_IS\_V1}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+I\+S\+\_\+\+V1(\begin{DoxyParamCaption}\item[{}]{v }\end{DoxyParamCaption})~(\mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a9a02229ec260035eea8e336327b21533}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+V\+A\+L\+ID}}(v) \&\& (((v) \& 0x00\+F\+F\+F000) \& \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a20f46c4be4965a7a1b7aa8866650694e}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+K\+E\+\_\+\+V\+E\+R\+S\+I\+ON}}(1,0)))}



Macro to check the version of tensor meta. 



Definition at line 1360 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a3c312c97eb85d273ce368f8171d89e8f}\label{nnstreamer__plugin__api__util__impl_8c_a3c312c97eb85d273ce368f8171d89e8f}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!GST\_TENSOR\_META\_IS\_VALID@{GST\_TENSOR\_META\_IS\_VALID}}
\index{GST\_TENSOR\_META\_IS\_VALID@{GST\_TENSOR\_META\_IS\_VALID}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_META\_IS\_VALID}{GST\_TENSOR\_META\_IS\_VALID}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+I\+S\+\_\+\+V\+A\+L\+ID(\begin{DoxyParamCaption}\item[{}]{m }\end{DoxyParamCaption})~((m) \&\& \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a4f04b4a7cd2ca62c76e09d4f3d6af5ff}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+G\+I\+C\+\_\+\+V\+A\+L\+ID}} ((m)-\/$>$magic) \&\& \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a9a02229ec260035eea8e336327b21533}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+V\+A\+L\+ID}} ((m)-\/$>$version))}



Macro to check the meta is valid. 



Definition at line 1365 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a6134f355e33fe871bd3a09fba71d56ac}\label{nnstreamer__plugin__api__util__impl_8c_a6134f355e33fe871bd3a09fba71d56ac}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!GST\_TENSOR\_META\_MAGIC@{GST\_TENSOR\_META\_MAGIC}}
\index{GST\_TENSOR\_META\_MAGIC@{GST\_TENSOR\_META\_MAGIC}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_META\_MAGIC}{GST\_TENSOR\_META\_MAGIC}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+G\+IC~(0xfeedcced)}



Magic number of tensor meta. 



Definition at line 1335 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a4f04b4a7cd2ca62c76e09d4f3d6af5ff}\label{nnstreamer__plugin__api__util__impl_8c_a4f04b4a7cd2ca62c76e09d4f3d6af5ff}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!GST\_TENSOR\_META\_MAGIC\_VALID@{GST\_TENSOR\_META\_MAGIC\_VALID}}
\index{GST\_TENSOR\_META\_MAGIC\_VALID@{GST\_TENSOR\_META\_MAGIC\_VALID}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_META\_MAGIC\_VALID}{GST\_TENSOR\_META\_MAGIC\_VALID}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+G\+I\+C\+\_\+\+V\+A\+L\+ID(\begin{DoxyParamCaption}\item[{}]{m }\end{DoxyParamCaption})~((m) == \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a6134f355e33fe871bd3a09fba71d56ac}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+G\+IC}})}



Macro to check the tensor meta. 



Definition at line 1340 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a20f46c4be4965a7a1b7aa8866650694e}\label{nnstreamer__plugin__api__util__impl_8c_a20f46c4be4965a7a1b7aa8866650694e}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!GST\_TENSOR\_META\_MAKE\_VERSION@{GST\_TENSOR\_META\_MAKE\_VERSION}}
\index{GST\_TENSOR\_META\_MAKE\_VERSION@{GST\_TENSOR\_META\_MAKE\_VERSION}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_META\_MAKE\_VERSION}{GST\_TENSOR\_META\_MAKE\_VERSION}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+K\+E\+\_\+\+V\+E\+R\+S\+I\+ON(\begin{DoxyParamCaption}\item[{}]{major,  }\item[{}]{minor }\end{DoxyParamCaption})~((major) $<$$<$ 12 $\vert$ (minor) $\vert$ 0x\+D\+E000000)}



Macro to get the version of tensor meta. 



Definition at line 1350 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ac9f5ccdfc3ec4a52c958fe5a152f58be}\label{nnstreamer__plugin__api__util__impl_8c_ac9f5ccdfc3ec4a52c958fe5a152f58be}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!GST\_TENSOR\_META\_VERSION@{GST\_TENSOR\_META\_VERSION}}
\index{GST\_TENSOR\_META\_VERSION@{GST\_TENSOR\_META\_VERSION}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_META\_VERSION}{GST\_TENSOR\_META\_VERSION}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+V\+E\+R\+S\+I\+ON~\mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a20f46c4be4965a7a1b7aa8866650694e}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+M\+A\+K\+E\+\_\+\+V\+E\+R\+S\+I\+ON}}(1,0)}



The version of tensor meta. 



Definition at line 1355 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a9a02229ec260035eea8e336327b21533}\label{nnstreamer__plugin__api__util__impl_8c_a9a02229ec260035eea8e336327b21533}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!GST\_TENSOR\_META\_VERSION\_VALID@{GST\_TENSOR\_META\_VERSION\_VALID}}
\index{GST\_TENSOR\_META\_VERSION\_VALID@{GST\_TENSOR\_META\_VERSION\_VALID}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_META\_VERSION\_VALID}{GST\_TENSOR\_META\_VERSION\_VALID}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+M\+E\+T\+A\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+V\+A\+L\+ID(\begin{DoxyParamCaption}\item[{}]{v }\end{DoxyParamCaption})~(((v) \& 0x\+D\+E000000) == 0x\+D\+E000000)}



Macro to check the meta version. 



Definition at line 1345 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ad37c19b892964e977e6181b1a9ecbbe7}\label{nnstreamer__plugin__api__util__impl_8c_ad37c19b892964e977e6181b1a9ecbbe7}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!\_compare\_rate@{\_compare\_rate}}
\index{\_compare\_rate@{\_compare\_rate}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_compare\_rate()}{\_compare\_rate()}}
{\footnotesize\ttfamily static gint \+\_\+compare\+\_\+rate (\begin{DoxyParamCaption}\item[{gint}]{a\+\_\+n,  }\item[{gint}]{a\+\_\+d,  }\item[{gint}]{b\+\_\+n,  }\item[{gint}]{b\+\_\+d }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function, copied from gst\+\_\+util\+\_\+fraction\+\_\+compare() to remove dependency of gstreamer. 



Definition at line 83 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=244pt]{nnstreamer__plugin__api__util__impl_8c_ad37c19b892964e977e6181b1a9ecbbe7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ad37c19b892964e977e6181b1a9ecbbe7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_af39b1253190d2d0633213e328c55d6ad}\label{nnstreamer__plugin__api__util__impl_8c_af39b1253190d2d0633213e328c55d6ad}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!\_gcd@{\_gcd}}
\index{\_gcd@{\_gcd}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_gcd()}{\_gcd()}}
{\footnotesize\ttfamily static gint \+\_\+gcd (\begin{DoxyParamCaption}\item[{gint}]{a,  }\item[{gint}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function, copied from gst\+\_\+util\+\_\+greatest\+\_\+common\+\_\+divisor() to remove dependency of gstreamer. 



Definition at line 67 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_af39b1253190d2d0633213e328c55d6ad_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ab94fd4698898d33acddb602d21147b43}\label{nnstreamer__plugin__api__util__impl_8c_ab94fd4698898d33acddb602d21147b43}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!find\_key\_strv@{find\_key\_strv}}
\index{find\_key\_strv@{find\_key\_strv}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{find\_key\_strv()}{find\_key\_strv()}}
{\footnotesize\ttfamily gint find\+\_\+key\+\_\+strv (\begin{DoxyParamCaption}\item[{const gchar $\ast$$\ast$}]{strv,  }\item[{const gchar $\ast$}]{key }\end{DoxyParamCaption})}



Find the index value of the given key string array. 

\begin{DoxyReturn}{Returns}
Corresponding index. Returns -\/1 if not found. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em strv} & Null terminated array of gchar $\ast$ \\
\hline
{\em key} & The key string value \\
\hline
\end{DoxyParams}


Definition at line 1586 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ab94fd4698898d33acddb602d21147b43_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a6f2100e88d1b50feb7679051bf5c401c}\label{nnstreamer__plugin__api__util__impl_8c_a6f2100e88d1b50feb7679051bf5c401c}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_dimension\_get\_min\_rank@{gst\_tensor\_dimension\_get\_min\_rank}}
\index{gst\_tensor\_dimension\_get\_min\_rank@{gst\_tensor\_dimension\_get\_min\_rank}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_dimension\_get\_min\_rank()}{gst\_tensor\_dimension\_get\_min\_rank()}}
{\footnotesize\ttfamily guint gst\+\_\+tensor\+\_\+dimension\+\_\+get\+\_\+min\+\_\+rank (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim }\end{DoxyParamCaption})}



Get the minimum rank of tensor dimension. 

The C-\/arrays with dim 4\+:4\+:4 and 4\+:4\+:4\+:1 have same data. In this case, this function returns min rank 3. 
\begin{DoxyParams}{Parameters}
{\em dim} & tensor dimension. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
tensor rank (Minimum rank is 1 if given dimension is valid) 
\end{DoxyReturn}


Definition at line 1017 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a6f2100e88d1b50feb7679051bf5c401c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a6f2100e88d1b50feb7679051bf5c401c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a880f07bcc57ed25b6138095f1fbd4ea1}\label{nnstreamer__plugin__api__util__impl_8c_a880f07bcc57ed25b6138095f1fbd4ea1}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_dimension\_get\_rank@{gst\_tensor\_dimension\_get\_rank}}
\index{gst\_tensor\_dimension\_get\_rank@{gst\_tensor\_dimension\_get\_rank}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_dimension\_get\_rank()}{gst\_tensor\_dimension\_get\_rank()}}
{\footnotesize\ttfamily guint gst\+\_\+tensor\+\_\+dimension\+\_\+get\+\_\+rank (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim }\end{DoxyParamCaption})}



Get the rank of tensor dimension. 


\begin{DoxyParams}{Parameters}
{\em dim} & tensor dimension. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
tensor rank (Minimum rank is 1 if given dimension is valid) 
\end{DoxyReturn}


Definition at line 998 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a880f07bcc57ed25b6138095f1fbd4ea1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_af6ce7bcbe5441e7420c28d9b6d651e1f}\label{nnstreamer__plugin__api__util__impl_8c_af6ce7bcbe5441e7420c28d9b6d651e1f}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_dimension\_is\_equal@{gst\_tensor\_dimension\_is\_equal}}
\index{gst\_tensor\_dimension\_is\_equal@{gst\_tensor\_dimension\_is\_equal}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_dimension\_is\_equal()}{gst\_tensor\_dimension\_is\_equal()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+dimension\+\_\+is\+\_\+equal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim1,  }\item[{const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim2 }\end{DoxyParamCaption})}



Compare the tensor dimension. 

\begin{DoxyReturn}{Returns}
T\+R\+UE if given tensors have same dimension. 
\end{DoxyReturn}


Definition at line 972 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_af6ce7bcbe5441e7420c28d9b6d651e1f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_af6ce7bcbe5441e7420c28d9b6d651e1f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a38819efd09f7f7180f886fc9e6406cba}\label{nnstreamer__plugin__api__util__impl_8c_a38819efd09f7f7180f886fc9e6406cba}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_dimension\_is\_valid@{gst\_tensor\_dimension\_is\_valid}}
\index{gst\_tensor\_dimension\_is\_valid@{gst\_tensor\_dimension\_is\_valid}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_dimension\_is\_valid()}{gst\_tensor\_dimension\_is\_valid()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+dimension\+\_\+is\+\_\+valid (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim }\end{DoxyParamCaption})}



Check the tensor dimension is valid. 


\begin{DoxyParams}{Parameters}
{\em dim} & tensor dimension \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if dimension is valid 
\end{DoxyReturn}


Definition at line 940 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a38819efd09f7f7180f886fc9e6406cba_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a38819efd09f7f7180f886fc9e6406cba_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_aa6cb0de701e60ec338089509e5b7b8c1}\label{nnstreamer__plugin__api__util__impl_8c_aa6cb0de701e60ec338089509e5b7b8c1}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_dimension\_string\_is\_equal@{gst\_tensor\_dimension\_string\_is\_equal}}
\index{gst\_tensor\_dimension\_string\_is\_equal@{gst\_tensor\_dimension\_string\_is\_equal}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_dimension\_string\_is\_equal()}{gst\_tensor\_dimension\_string\_is\_equal()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+dimension\+\_\+string\+\_\+is\+\_\+equal (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{dimstr1,  }\item[{const gchar $\ast$}]{dimstr2 }\end{DoxyParamCaption})}



Compare dimension strings. 

\begin{DoxyReturn}{Returns}
T\+R\+UE if equal, F\+A\+L\+SE if given dimension strings are invalid or not equal. 
\end{DoxyReturn}


Definition at line 1140 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aa6cb0de701e60ec338089509e5b7b8c1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aa6cb0de701e60ec338089509e5b7b8c1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a644009058b44fe850c2645f51167d701}\label{nnstreamer__plugin__api__util__impl_8c_a644009058b44fe850c2645f51167d701}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_get\_dimension\_string@{gst\_tensor\_get\_dimension\_string}}
\index{gst\_tensor\_get\_dimension\_string@{gst\_tensor\_get\_dimension\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_dimension\_string()}{gst\_tensor\_get\_dimension\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensor\+\_\+get\+\_\+dimension\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim }\end{DoxyParamCaption})}



Get dimension string from given tensor dimension. 


\begin{DoxyParams}{Parameters}
{\em dim} & tensor dimension \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Formatted string of given dimension (d1\+:d2\+:d3\+:...\+:d15\+:d16). 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The returned value should be freed with \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free()}} 
\end{DoxyNote}


Definition at line 1083 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a644009058b44fe850c2645f51167d701_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{nnstreamer__plugin__api__util__impl_8c_a644009058b44fe850c2645f51167d701_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_af94635efffefd461ecf360706e572542}\label{nnstreamer__plugin__api__util__impl_8c_af94635efffefd461ecf360706e572542}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_get\_element\_count@{gst\_tensor\_get\_element\_count}}
\index{gst\_tensor\_get\_element\_count@{gst\_tensor\_get\_element\_count}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_element\_count()}{gst\_tensor\_get\_element\_count()}}
{\footnotesize\ttfamily gulong gst\+\_\+tensor\+\_\+get\+\_\+element\+\_\+count (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim }\end{DoxyParamCaption})}



Count the number of elements of a tensor. 

\begin{DoxyReturn}{Returns}
The number of elements. 0 if error. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em dim} & The tensor dimension \\
\hline
\end{DoxyParams}


Definition at line 1186 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_af94635efffefd461ecf360706e572542_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ac14b2e9320ea5112942103119fef9a69}\label{nnstreamer__plugin__api__util__impl_8c_ac14b2e9320ea5112942103119fef9a69}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_get\_element\_size@{gst\_tensor\_get\_element\_size}}
\index{gst\_tensor\_get\_element\_size@{gst\_tensor\_get\_element\_size}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_element\_size()}{gst\_tensor\_get\_element\_size()}}
{\footnotesize\ttfamily gsize gst\+\_\+tensor\+\_\+get\+\_\+element\+\_\+size (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__typedef_8h_ab5f7feb87196d0b9ae37b11fd819f23e}{tensor\+\_\+type}}}]{type }\end{DoxyParamCaption})}



Get element size of tensor type (byte per element) 



Definition at line 1205 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ac14b2e9320ea5112942103119fef9a69_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a7bdae57d50d60bb31748250f6b849bd8}\label{nnstreamer__plugin__api__util__impl_8c_a7bdae57d50d60bb31748250f6b849bd8}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_get\_format@{gst\_tensor\_get\_format}}
\index{gst\_tensor\_get\_format@{gst\_tensor\_get\_format}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_format()}{gst\_tensor\_get\_format()}}
{\footnotesize\ttfamily \mbox{\hyperlink{tensor__typedef_8h_a8f63561cff18618282cb7e0dd1f8ac96}{tensor\+\_\+format}} gst\+\_\+tensor\+\_\+get\+\_\+format (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{format\+\_\+str }\end{DoxyParamCaption})}



Get tensor format from string input. 


\begin{DoxyParams}{Parameters}
{\em format\+\_\+str} & The string format name, supposed to be one of tensor\+\_\+format\+\_\+name\mbox{[}\mbox{]}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Corresponding tensor\+\_\+format. \+\_\+\+N\+N\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+O\+R\+M\+A\+T\+\_\+\+E\+ND if unrecognized value is there. 
\end{DoxyReturn}


Definition at line 1309 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=324pt]{nnstreamer__plugin__api__util__impl_8c_a7bdae57d50d60bb31748250f6b849bd8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a7bdae57d50d60bb31748250f6b849bd8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a6748f4783ba85ee092a0d773a47d378a}\label{nnstreamer__plugin__api__util__impl_8c_a6748f4783ba85ee092a0d773a47d378a}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_get\_format\_string@{gst\_tensor\_get\_format\_string}}
\index{gst\_tensor\_get\_format\_string@{gst\_tensor\_get\_format\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_format\_string()}{gst\_tensor\_get\_format\_string()}}
{\footnotesize\ttfamily const gchar$\ast$ gst\+\_\+tensor\+\_\+get\+\_\+format\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__typedef_8h_a8f63561cff18618282cb7e0dd1f8ac96}{tensor\+\_\+format}}}]{format }\end{DoxyParamCaption})}



Get tensor format string. 



Definition at line 1325 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a6748f4783ba85ee092a0d773a47d378a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a5917e4ec4809cfae4004eeabaa7705de}\label{nnstreamer__plugin__api__util__impl_8c_a5917e4ec4809cfae4004eeabaa7705de}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_get\_rank\_dimension\_string@{gst\_tensor\_get\_rank\_dimension\_string}}
\index{gst\_tensor\_get\_rank\_dimension\_string@{gst\_tensor\_get\_rank\_dimension\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_rank\_dimension\_string()}{gst\_tensor\_get\_rank\_dimension\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensor\+\_\+get\+\_\+rank\+\_\+dimension\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim,  }\item[{const unsigned int}]{rank }\end{DoxyParamCaption})}



Get dimension string from given tensor dimension and rank count. 


\begin{DoxyParams}{Parameters}
{\em dim} & tensor dimension \\
\hline
{\em rank} & rank count of given tensor dimension \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Formatted string of given dimension 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If rank count is 3, then returned string is \textquotesingle{}d1\+:d2\+:d3\`{}. The returned value should be freed with \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free()}}. 
\end{DoxyNote}


Definition at line 1107 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a5917e4ec4809cfae4004eeabaa7705de_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_abd09e6b3446c78cae9dbd1a647551c86}\label{nnstreamer__plugin__api__util__impl_8c_abd09e6b3446c78cae9dbd1a647551c86}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_get\_type@{gst\_tensor\_get\_type}}
\index{gst\_tensor\_get\_type@{gst\_tensor\_get\_type}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_type()}{gst\_tensor\_get\_type()}}
{\footnotesize\ttfamily \mbox{\hyperlink{tensor__typedef_8h_ab5f7feb87196d0b9ae37b11fd819f23e}{tensor\+\_\+type}} gst\+\_\+tensor\+\_\+get\+\_\+type (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{typestr }\end{DoxyParamCaption})}



Get tensor type from string input. 

\begin{DoxyReturn}{Returns}
Corresponding tensor\+\_\+type. \+\_\+\+N\+N\+S\+\_\+\+E\+ND if unrecognized value is there. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em typestr} & The string type name, supposed to be one of tensor\+\_\+element\+\_\+typename\mbox{[}\mbox{]} \\
\hline
\end{DoxyParams}


Definition at line 1218 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=279pt]{nnstreamer__plugin__api__util__impl_8c_abd09e6b3446c78cae9dbd1a647551c86_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_abd09e6b3446c78cae9dbd1a647551c86_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a9ae70e6ffff3ff132bb1ca609dda507f}\label{nnstreamer__plugin__api__util__impl_8c_a9ae70e6ffff3ff132bb1ca609dda507f}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_get\_type\_string@{gst\_tensor\_get\_type\_string}}
\index{gst\_tensor\_get\_type\_string@{gst\_tensor\_get\_type\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_type\_string()}{gst\_tensor\_get\_type\_string()}}
{\footnotesize\ttfamily const gchar$\ast$ gst\+\_\+tensor\+\_\+get\+\_\+type\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__typedef_8h_ab5f7feb87196d0b9ae37b11fd819f23e}{tensor\+\_\+type}}}]{type }\end{DoxyParamCaption})}



Get type string of tensor type. 



Definition at line 1296 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a9ae70e6ffff3ff132bb1ca609dda507f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a8669b11fa7047a89cf7a6114d10707ab}\label{nnstreamer__plugin__api__util__impl_8c_a8669b11fa7047a89cf7a6114d10707ab}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_convert\_to\_meta@{gst\_tensor\_info\_convert\_to\_meta}}
\index{gst\_tensor\_info\_convert\_to\_meta@{gst\_tensor\_info\_convert\_to\_meta}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_convert\_to\_meta()}{gst\_tensor\_info\_convert\_to\_meta()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+info\+\_\+convert\+\_\+to\+\_\+meta (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info,  }\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta }\end{DoxyParamCaption})}



Convert \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} structure to \mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em info} & \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} to be converted \\
\hline
\mbox{\texttt{ out}}  & {\em meta} & tensor meta structure to be filled \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if successfully set the meta 
\end{DoxyReturn}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000051}{Todo}}]handle rank from info.\+dimension \end{DoxyRefDesc}


Definition at line 260 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a8669b11fa7047a89cf7a6114d10707ab_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a8669b11fa7047a89cf7a6114d10707ab_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a50033a3c3736e69ce3aca1c845849abc}\label{nnstreamer__plugin__api__util__impl_8c_a50033a3c3736e69ce3aca1c845849abc}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_copy@{gst\_tensor\_info\_copy}}
\index{gst\_tensor\_info\_copy@{gst\_tensor\_info\_copy}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_copy()}{gst\_tensor\_info\_copy()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+info\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{dest,  }\item[{const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{src }\end{DoxyParamCaption})}



Copy tensor info. 

\begin{DoxyNote}{Note}
Copied info should be freed with \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a71047696386d998bd014769122cfe6f8}{gst\+\_\+tensor\+\_\+info\+\_\+free()}} 
\end{DoxyNote}


Definition at line 248 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a50033a3c3736e69ce3aca1c845849abc_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{nnstreamer__plugin__api__util__impl_8c_a50033a3c3736e69ce3aca1c845849abc_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_aba2b44acec37832d3d33911ead050f30}\label{nnstreamer__plugin__api__util__impl_8c_aba2b44acec37832d3d33911ead050f30}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_copy\_n@{gst\_tensor\_info\_copy\_n}}
\index{gst\_tensor\_info\_copy\_n@{gst\_tensor\_info\_copy\_n}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_copy\_n()}{gst\_tensor\_info\_copy\_n()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+info\+\_\+copy\+\_\+n (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{dest,  }\item[{const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{src,  }\item[{const guint}]{n }\end{DoxyParamCaption})}



Copy tensor info up to n elements. 

\begin{DoxyNote}{Note}
Copied info should be freed with \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a71047696386d998bd014769122cfe6f8}{gst\+\_\+tensor\+\_\+info\+\_\+free()}} 
\end{DoxyNote}


Definition at line 227 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aba2b44acec37832d3d33911ead050f30_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a71047696386d998bd014769122cfe6f8}\label{nnstreamer__plugin__api__util__impl_8c_a71047696386d998bd014769122cfe6f8}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_free@{gst\_tensor\_info\_free}}
\index{gst\_tensor\_info\_free@{gst\_tensor\_info\_free}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_free()}{gst\_tensor\_info\_free()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+info\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Free allocated data in tensor info structure. 


\begin{DoxyParams}{Parameters}
{\em info} & tensor info structure \\
\hline
\end{DoxyParams}


Definition at line 140 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=345pt]{nnstreamer__plugin__api__util__impl_8c_a71047696386d998bd014769122cfe6f8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a71047696386d998bd014769122cfe6f8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ab38800406e4dcea8ad56095b3ddcd847}\label{nnstreamer__plugin__api__util__impl_8c_ab38800406e4dcea8ad56095b3ddcd847}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_get\_rank@{gst\_tensor\_info\_get\_rank}}
\index{gst\_tensor\_info\_get\_rank@{gst\_tensor\_info\_get\_rank}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_get\_rank()}{gst\_tensor\_info\_get\_rank()}}
{\footnotesize\ttfamily guint gst\+\_\+tensor\+\_\+info\+\_\+get\+\_\+rank (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Get tensor rank. 


\begin{DoxyParams}{Parameters}
{\em info} & tensor info structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
tensor rank (Minimum rank is 1 if given info is valid) 
\end{DoxyReturn}


Definition at line 285 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ab38800406e4dcea8ad56095b3ddcd847_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ab38800406e4dcea8ad56095b3ddcd847_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a178343ec54edba0f77fe9059c33140f1}\label{nnstreamer__plugin__api__util__impl_8c_a178343ec54edba0f77fe9059c33140f1}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_get\_size@{gst\_tensor\_info\_get\_size}}
\index{gst\_tensor\_info\_get\_size@{gst\_tensor\_info\_get\_size}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_get\_size()}{gst\_tensor\_info\_get\_size()}}
{\footnotesize\ttfamily gsize gst\+\_\+tensor\+\_\+info\+\_\+get\+\_\+size (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Get data size of single tensor. 


\begin{DoxyParams}{Parameters}
{\em info} & tensor info structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
data size 
\end{DoxyReturn}


Definition at line 156 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a178343ec54edba0f77fe9059c33140f1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a178343ec54edba0f77fe9059c33140f1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a0f1e9ae368883b6123a167bb68345c4d}\label{nnstreamer__plugin__api__util__impl_8c_a0f1e9ae368883b6123a167bb68345c4d}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_init@{gst\_tensor\_info\_init}}
\index{gst\_tensor\_info\_init@{gst\_tensor\_info\_init}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_init()}{gst\_tensor\_info\_init()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+info\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Initialize the tensor info structure. 


\begin{DoxyParams}{Parameters}
{\em info} & tensor info structure to be initialized \\
\hline
\end{DoxyParams}


Definition at line 121 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{nnstreamer__plugin__api__util__impl_8c_a0f1e9ae368883b6123a167bb68345c4d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a2e9b4f94129c698a80e4dae8b00a5175}\label{nnstreamer__plugin__api__util__impl_8c_a2e9b4f94129c698a80e4dae8b00a5175}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_is\_equal@{gst\_tensor\_info\_is\_equal}}
\index{gst\_tensor\_info\_is\_equal@{gst\_tensor\_info\_is\_equal}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_is\_equal()}{gst\_tensor\_info\_is\_equal()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+info\+\_\+is\+\_\+equal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{i1,  }\item[{const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{i2 }\end{DoxyParamCaption})}



Compare tensor info. 

\begin{DoxyReturn}{Returns}
T\+R\+UE if equal, F\+A\+L\+SE if given tensor infos are invalid or not equal. 
\end{DoxyReturn}


Definition at line 197 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a2e9b4f94129c698a80e4dae8b00a5175_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a2e9b4f94129c698a80e4dae8b00a5175_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a482055be644ee880fe7b979d3d25d759}\label{nnstreamer__plugin__api__util__impl_8c_a482055be644ee880fe7b979d3d25d759}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_info\_validate@{gst\_tensor\_info\_validate}}
\index{gst\_tensor\_info\_validate@{gst\_tensor\_info\_validate}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_info\_validate()}{gst\_tensor\_info\_validate()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+info\+\_\+validate (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Check the tensor info is valid. 


\begin{DoxyParams}{Parameters}
{\em info} & tensor info structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if info is valid 
\end{DoxyReturn}


Definition at line 174 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a482055be644ee880fe7b979d3d25d759_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a482055be644ee880fe7b979d3d25d759_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a606802526ca1a023b151505d45df23b3}\label{nnstreamer__plugin__api__util__impl_8c_a606802526ca1a023b151505d45df23b3}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_meta\_info\_convert@{gst\_tensor\_meta\_info\_convert}}
\index{gst\_tensor\_meta\_info\_convert@{gst\_tensor\_meta\_info\_convert}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_convert()}{gst\_tensor\_meta\_info\_convert()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+convert (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta,  }\item[{\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Convert \mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} structure to \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em meta} & tensor meta structure to be converted \\
\hline
\mbox{\texttt{ out}}  & {\em info} & \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} to be filled \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if successfully set the info 
\end{DoxyReturn}


Definition at line 1562 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a606802526ca1a023b151505d45df23b3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a606802526ca1a023b151505d45df23b3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_aac777e7cf9c6329a7bbfcda4d513720e}\label{nnstreamer__plugin__api__util__impl_8c_aac777e7cf9c6329a7bbfcda4d513720e}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_meta\_info\_get\_data\_size@{gst\_tensor\_meta\_info\_get\_data\_size}}
\index{gst\_tensor\_meta\_info\_get\_data\_size@{gst\_tensor\_meta\_info\_get\_data\_size}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_get\_data\_size()}{gst\_tensor\_meta\_info\_get\_data\_size()}}
{\footnotesize\ttfamily gsize gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+get\+\_\+data\+\_\+size (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta }\end{DoxyParamCaption})}



Get the data size calculated from tensor meta. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em meta} & tensor meta structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The data size for meta info (0 if meta is invalid) 
\end{DoxyReturn}


Definition at line 1477 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aac777e7cf9c6329a7bbfcda4d513720e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aac777e7cf9c6329a7bbfcda4d513720e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a51b64292db43312c52b602625b9b763d}\label{nnstreamer__plugin__api__util__impl_8c_a51b64292db43312c52b602625b9b763d}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_meta\_info\_get\_header\_size@{gst\_tensor\_meta\_info\_get\_header\_size}}
\index{gst\_tensor\_meta\_info\_get\_header\_size@{gst\_tensor\_meta\_info\_get\_header\_size}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_get\_header\_size()}{gst\_tensor\_meta\_info\_get\_header\_size()}}
{\footnotesize\ttfamily gsize gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+get\+\_\+header\+\_\+size (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta }\end{DoxyParamCaption})}



Get the header size to handle a tensor meta. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em meta} & tensor meta structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Header size for meta info (0 if meta is invalid) 
\end{DoxyReturn}


Definition at line 1456 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a51b64292db43312c52b602625b9b763d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a2bbd8a94777c74cf3ab702cd594cb58a}\label{nnstreamer__plugin__api__util__impl_8c_a2bbd8a94777c74cf3ab702cd594cb58a}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_meta\_info\_get\_version@{gst\_tensor\_meta\_info\_get\_version}}
\index{gst\_tensor\_meta\_info\_get\_version@{gst\_tensor\_meta\_info\_get\_version}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_get\_version()}{gst\_tensor\_meta\_info\_get\_version()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+get\+\_\+version (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta,  }\item[{guint $\ast$}]{major,  }\item[{guint $\ast$}]{minor }\end{DoxyParamCaption})}



Get the version of tensor meta. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em meta} & tensor meta structure \\
\hline
\mbox{\texttt{ out}}  & {\em major} & pointer to get the major version number \\
\hline
\mbox{\texttt{ out}}  & {\em minor} & pointer to get the minor version number \\
\hline
\end{DoxyParams}


Definition at line 1393 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a873d1f8e45189b43b69e639cda61d106}\label{nnstreamer__plugin__api__util__impl_8c_a873d1f8e45189b43b69e639cda61d106}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_meta\_info\_init@{gst\_tensor\_meta\_info\_init}}
\index{gst\_tensor\_meta\_info\_init@{gst\_tensor\_meta\_info\_init}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_init()}{gst\_tensor\_meta\_info\_init()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta }\end{DoxyParamCaption})}



Initialize the tensor meta info structure. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em meta} & tensor meta structure to be initialized \\
\hline
\end{DoxyParams}


Definition at line 1372 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a873d1f8e45189b43b69e639cda61d106_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a0115505c867b2d7352c2a6019e503f91}\label{nnstreamer__plugin__api__util__impl_8c_a0115505c867b2d7352c2a6019e503f91}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_meta\_info\_parse\_header@{gst\_tensor\_meta\_info\_parse\_header}}
\index{gst\_tensor\_meta\_info\_parse\_header@{gst\_tensor\_meta\_info\_parse\_header}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_parse\_header()}{gst\_tensor\_meta\_info\_parse\_header()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+parse\+\_\+header (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta,  }\item[{gpointer}]{header }\end{DoxyParamCaption})}



Parse header and fill the tensor meta. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em meta} & tensor meta structure to be filled \\
\hline
\mbox{\texttt{ in}}  & {\em header} & pointer to header to be parsed \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if successfully set the meta 
\end{DoxyReturn}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000052}{Todo}}]update meta info for each version \end{DoxyRefDesc}


Definition at line 1527 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a0115505c867b2d7352c2a6019e503f91_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a0115505c867b2d7352c2a6019e503f91_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a53d1419a8f893888857f706f2f3fae88}\label{nnstreamer__plugin__api__util__impl_8c_a53d1419a8f893888857f706f2f3fae88}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_meta\_info\_update\_header@{gst\_tensor\_meta\_info\_update\_header}}
\index{gst\_tensor\_meta\_info\_update\_header@{gst\_tensor\_meta\_info\_update\_header}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_update\_header()}{gst\_tensor\_meta\_info\_update\_header()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+update\+\_\+header (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta,  }\item[{gpointer}]{header }\end{DoxyParamCaption})}



Update header from tensor meta. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em meta} & tensor meta structure \\
\hline
\mbox{\texttt{ out}}  & {\em header} & pointer to header to be updated \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if successfully set the header 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
User should allocate enough memory for header (see \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_a51b64292db43312c52b602625b9b763d}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+get\+\_\+header\+\_\+size()}}). 
\end{DoxyNote}


Definition at line 1505 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a53d1419a8f893888857f706f2f3fae88_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a53d1419a8f893888857f706f2f3fae88_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a4c9e451b809d15ad090f276c2b1bb369}\label{nnstreamer__plugin__api__util__impl_8c_a4c9e451b809d15ad090f276c2b1bb369}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_meta\_info\_validate@{gst\_tensor\_meta\_info\_validate}}
\index{gst\_tensor\_meta\_info\_validate@{gst\_tensor\_meta\_info\_validate}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_validate()}{gst\_tensor\_meta\_info\_validate()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+validate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta }\end{DoxyParamCaption})}



Check the meta info is valid. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em meta} & tensor meta structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if given meta is valid 
\end{DoxyReturn}


Definition at line 1414 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a4c9e451b809d15ad090f276c2b1bb369_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a4c9e451b809d15ad090f276c2b1bb369_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a548a6c74156e8f8425fd8991c0dc4332}\label{nnstreamer__plugin__api__util__impl_8c_a548a6c74156e8f8425fd8991c0dc4332}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensor\_parse\_dimension@{gst\_tensor\_parse\_dimension}}
\index{gst\_tensor\_parse\_dimension@{gst\_tensor\_parse\_dimension}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_parse\_dimension()}{gst\_tensor\_parse\_dimension()}}
{\footnotesize\ttfamily guint gst\+\_\+tensor\+\_\+parse\+\_\+dimension (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{dimstr,  }\item[{\mbox{\hyperlink{tensor__typedef_8h_ae58ce2b6d47c4a2e9c5f3f621c6a5b9a}{tensor\+\_\+dim}}}]{dim }\end{DoxyParamCaption})}



Parse tensor dimension parameter string. 

\begin{DoxyReturn}{Returns}
The Rank. 0 if error. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em dimstr} & The dimension string in the format of d1\+:...\+:d16, d1\+:d2\+:d3, d1\+:d2, or d1, where dN is a positive integer and d1 is the innermost dimension; i.\+e., dim\mbox{[}d16\mbox{]}...\mbox{[}d1\mbox{]}; \\
\hline
{\em dim} & dimension to be filled. \\
\hline
\end{DoxyParams}


Definition at line 1040 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=319pt]{nnstreamer__plugin__api__util__impl_8c_a548a6c74156e8f8425fd8991c0dc4332_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a548a6c74156e8f8425fd8991c0dc4332_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a8dfde6c65e78fce89355bc95b57b6f56}\label{nnstreamer__plugin__api__util__impl_8c_a8dfde6c65e78fce89355bc95b57b6f56}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_config\_copy@{gst\_tensors\_config\_copy}}
\index{gst\_tensors\_config\_copy@{gst\_tensors\_config\_copy}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_config\_copy()}{gst\_tensors\_config\_copy()}}
{\footnotesize\ttfamily void gst\+\_\+tensors\+\_\+config\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{dest,  }\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{src }\end{DoxyParamCaption})}



Copy tensors config. 



Definition at line 904 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a8dfde6c65e78fce89355bc95b57b6f56_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a8dfde6c65e78fce89355bc95b57b6f56_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a07449b674e4a9648d6924f0e059fe737}\label{nnstreamer__plugin__api__util__impl_8c_a07449b674e4a9648d6924f0e059fe737}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_config\_free@{gst\_tensors\_config\_free}}
\index{gst\_tensors\_config\_free@{gst\_tensors\_config\_free}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_config\_free()}{gst\_tensors\_config\_free()}}
{\footnotesize\ttfamily void gst\+\_\+tensors\+\_\+config\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Free allocated data in tensors config structure. 


\begin{DoxyParams}{Parameters}
{\em config} & tensors config structure \\
\hline
\end{DoxyParams}


Definition at line 845 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a07449b674e4a9648d6924f0e059fe737_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a07449b674e4a9648d6924f0e059fe737_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a7140bb8181c4b9b09fe20b1d48100100}\label{nnstreamer__plugin__api__util__impl_8c_a7140bb8181c4b9b09fe20b1d48100100}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_config\_init@{gst\_tensors\_config\_init}}
\index{gst\_tensors\_config\_init@{gst\_tensors\_config\_init}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_config\_init()}{gst\_tensors\_config\_init()}}
{\footnotesize\ttfamily void gst\+\_\+tensors\+\_\+config\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Initialize the tensors config info structure (for other/tensors) 


\begin{DoxyParams}{Parameters}
{\em config} & tensors config structure to be initialized \\
\hline
\end{DoxyParams}


Definition at line 830 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a7140bb8181c4b9b09fe20b1d48100100_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{nnstreamer__plugin__api__util__impl_8c_a7140bb8181c4b9b09fe20b1d48100100_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_aa5d880c327cc3034cb592c70e0de835f}\label{nnstreamer__plugin__api__util__impl_8c_aa5d880c327cc3034cb592c70e0de835f}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_config\_is\_equal@{gst\_tensors\_config\_is\_equal}}
\index{gst\_tensors\_config\_is\_equal@{gst\_tensors\_config\_is\_equal}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_config\_is\_equal()}{gst\_tensors\_config\_is\_equal()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensors\+\_\+config\+\_\+is\+\_\+equal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{c1,  }\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{c2 }\end{DoxyParamCaption})}



Compare tensor config info. 

Compare tensor config info (for other/tensors)


\begin{DoxyParams}{Parameters}
{\em T\+R\+UE} & if equal \\
\hline
\end{DoxyParams}


Definition at line 881 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aa5d880c327cc3034cb592c70e0de835f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aa5d880c327cc3034cb592c70e0de835f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a468a5ffd979a5d61440ce95d6863bcbe}\label{nnstreamer__plugin__api__util__impl_8c_a468a5ffd979a5d61440ce95d6863bcbe}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_config\_to\_string@{gst\_tensors\_config\_to\_string}}
\index{gst\_tensors\_config\_to\_string@{gst\_tensors\_config\_to\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_config\_to\_string()}{gst\_tensors\_config\_to\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensors\+\_\+config\+\_\+to\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Tensor config represented as a string. Caller should free it. 


\begin{DoxyParams}{Parameters}
{\em config} & tensor config structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly allocated string representing the config. Free after use. 
\end{DoxyReturn}


Definition at line 920 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a468a5ffd979a5d61440ce95d6863bcbe_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a468a5ffd979a5d61440ce95d6863bcbe_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ac577ad665c0eb9534a0de20a99a21955}\label{nnstreamer__plugin__api__util__impl_8c_ac577ad665c0eb9534a0de20a99a21955}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_config\_validate@{gst\_tensors\_config\_validate}}
\index{gst\_tensors\_config\_validate@{gst\_tensors\_config\_validate}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_config\_validate()}{gst\_tensors\_config\_validate()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensors\+\_\+config\+\_\+validate (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Check the tensors are all configured. 

Check the tensors are all configured (for other/tensors)


\begin{DoxyParams}{Parameters}
{\em config} & tensor config structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if configured 
\end{DoxyReturn}


Definition at line 858 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ac577ad665c0eb9534a0de20a99a21955_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ac577ad665c0eb9534a0de20a99a21955_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a01b2ce3bfafb46442f733cbaceff4f85}\label{nnstreamer__plugin__api__util__impl_8c_a01b2ce3bfafb46442f733cbaceff4f85}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_copy@{gst\_tensors\_info\_copy}}
\index{gst\_tensors\_info\_copy@{gst\_tensors\_info\_copy}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_copy()}{gst\_tensors\_info\_copy()}}
{\footnotesize\ttfamily void gst\+\_\+tensors\+\_\+info\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{dest,  }\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{src }\end{DoxyParamCaption})}



Copy tensor info. 

\begin{DoxyNote}{Note}
Copied info should be freed with \mbox{\hyperlink{nnstreamer__plugin__api__util__impl_8c_acf3bd011bfc00f204f907648e909d646}{gst\+\_\+tensors\+\_\+info\+\_\+free()}} 
\end{DoxyNote}


Definition at line 502 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a01b2ce3bfafb46442f733cbaceff4f85_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a01b2ce3bfafb46442f733cbaceff4f85_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_acf3bd011bfc00f204f907648e909d646}\label{nnstreamer__plugin__api__util__impl_8c_acf3bd011bfc00f204f907648e909d646}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_free@{gst\_tensors\_info\_free}}
\index{gst\_tensors\_info\_free@{gst\_tensors\_info\_free}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_free()}{gst\_tensors\_info\_free()}}
{\footnotesize\ttfamily void gst\+\_\+tensors\+\_\+info\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Free allocated data in tensors info structure. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
\end{DoxyParams}


Definition at line 347 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_acf3bd011bfc00f204f907648e909d646_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{nnstreamer__plugin__api__util__impl_8c_acf3bd011bfc00f204f907648e909d646_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a1ff148773f34fa6554fd9e55a356a8b6}\label{nnstreamer__plugin__api__util__impl_8c_a1ff148773f34fa6554fd9e55a356a8b6}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_get\_dimensions\_string@{gst\_tensors\_info\_get\_dimensions\_string}}
\index{gst\_tensors\_info\_get\_dimensions\_string@{gst\_tensors\_info\_get\_dimensions\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_get\_dimensions\_string()}{gst\_tensors\_info\_get\_dimensions\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+dimensions\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Get the string of dimensions in tensors info. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
string of dimensions in tensors info (N\+U\+LL if the number of tensors is 0) 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The returned value should be freed with \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free()}} 
\end{DoxyNote}


Definition at line 661 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a1ff148773f34fa6554fd9e55a356a8b6_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a1ff148773f34fa6554fd9e55a356a8b6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_af5f9583b8fa9c48602b6a5a344cfc20e}\label{nnstreamer__plugin__api__util__impl_8c_af5f9583b8fa9c48602b6a5a344cfc20e}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_get\_names\_string@{gst\_tensors\_info\_get\_names\_string}}
\index{gst\_tensors\_info\_get\_names\_string@{gst\_tensors\_info\_get\_names\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_get\_names\_string()}{gst\_tensors\_info\_get\_names\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+names\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Get the string of tensor names in tensors info. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
string of names in tensors info (N\+U\+LL if the number of tensors is 0) 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The returned value should be freed with \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free()}} 
\end{DoxyNote}


Definition at line 749 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_af5f9583b8fa9c48602b6a5a344cfc20e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_af5f9583b8fa9c48602b6a5a344cfc20e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a52a1eaa0e9d345a6af1d46b8d0787ef0}\label{nnstreamer__plugin__api__util__impl_8c_a52a1eaa0e9d345a6af1d46b8d0787ef0}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_get\_nth\_info@{gst\_tensors\_info\_get\_nth\_info}}
\index{gst\_tensors\_info\_get\_nth\_info@{gst\_tensors\_info\_get\_nth\_info}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_get\_nth\_info()}{gst\_tensors\_info\_get\_nth\_info()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}}$\ast$ gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+nth\+\_\+info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info,  }\item[{guint}]{index }\end{DoxyParamCaption})}



Get the pointer of nth tensor information. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
{\em index} & the index of tensor to be fetched \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The pointer to tensor info structure 
\end{DoxyReturn}


Definition at line 296 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=347pt]{nnstreamer__plugin__api__util__impl_8c_a52a1eaa0e9d345a6af1d46b8d0787ef0_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a9025c5a4d114e3d08ef3edf664d19212}\label{nnstreamer__plugin__api__util__impl_8c_a9025c5a4d114e3d08ef3edf664d19212}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_get\_rank\_dimensions\_string@{gst\_tensors\_info\_get\_rank\_dimensions\_string}}
\index{gst\_tensors\_info\_get\_rank\_dimensions\_string@{gst\_tensors\_info\_get\_rank\_dimensions\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_get\_rank\_dimensions\_string()}{gst\_tensors\_info\_get\_rank\_dimensions\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+rank\+\_\+dimensions\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info,  }\item[{const unsigned int}]{rank }\end{DoxyParamCaption})}



Get the string of dimensions in tensors info and rank count. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
{\em rank} & rank count of given tensor dimension \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Formatted string of given dimension 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If rank count is 3, then returned string is \textquotesingle{}d1\+:d2\+:d3\`{}. The returned value should be freed with \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free()}} 
\end{DoxyNote}


Definition at line 676 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a9025c5a4d114e3d08ef3edf664d19212_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a9025c5a4d114e3d08ef3edf664d19212_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a6c97f01f45923f42df360f8cd038840a}\label{nnstreamer__plugin__api__util__impl_8c_a6c97f01f45923f42df360f8cd038840a}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_get\_size@{gst\_tensors\_info\_get\_size}}
\index{gst\_tensors\_info\_get\_size@{gst\_tensors\_info\_get\_size}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_get\_size()}{gst\_tensors\_info\_get\_size()}}
{\footnotesize\ttfamily gsize gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+size (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info,  }\item[{gint}]{index }\end{DoxyParamCaption})}



Get data size of single tensor. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
{\em index} & the index of tensor (-\/1 to get total size of tensors) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
data size 
\end{DoxyReturn}


Definition at line 376 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a6c97f01f45923f42df360f8cd038840a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a6c97f01f45923f42df360f8cd038840a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ab6f52e30a8fe7f64a4cd260304589672}\label{nnstreamer__plugin__api__util__impl_8c_ab6f52e30a8fe7f64a4cd260304589672}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_get\_types\_string@{gst\_tensors\_info\_get\_types\_string}}
\index{gst\_tensors\_info\_get\_types\_string@{gst\_tensors\_info\_get\_types\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_get\_types\_string()}{gst\_tensors\_info\_get\_types\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensors\+\_\+info\+\_\+get\+\_\+types\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Get the string of types in tensors info. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
string of types in tensors info (N\+U\+LL if the number of tensors is 0) 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The returned value should be freed with \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free()}} 
\end{DoxyNote}


Definition at line 714 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ab6f52e30a8fe7f64a4cd260304589672_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_ab6f52e30a8fe7f64a4cd260304589672_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ab66ea7a33df6ead217f7add44da9728c}\label{nnstreamer__plugin__api__util__impl_8c_ab66ea7a33df6ead217f7add44da9728c}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_init@{gst\_tensors\_info\_init}}
\index{gst\_tensors\_info\_init@{gst\_tensors\_info\_init}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_init()}{gst\_tensors\_info\_init()}}
{\footnotesize\ttfamily void gst\+\_\+tensors\+\_\+info\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Initialize the tensors info structure. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure to be initialized \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
default format is static
\end{DoxyNote}


Definition at line 325 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=347pt]{nnstreamer__plugin__api__util__impl_8c_ab66ea7a33df6ead217f7add44da9728c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{nnstreamer__plugin__api__util__impl_8c_ab66ea7a33df6ead217f7add44da9728c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a9741ad595b264a7d998cde789fba5dfe}\label{nnstreamer__plugin__api__util__impl_8c_a9741ad595b264a7d998cde789fba5dfe}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_is\_equal@{gst\_tensors\_info\_is\_equal}}
\index{gst\_tensors\_info\_is\_equal@{gst\_tensors\_info\_is\_equal}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_is\_equal()}{gst\_tensors\_info\_is\_equal()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensors\+\_\+info\+\_\+is\+\_\+equal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{i1,  }\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{i2 }\end{DoxyParamCaption})}



Compare tensors info. 

\begin{DoxyReturn}{Returns}
T\+R\+UE if equal, F\+A\+L\+SE if given tensor infos are invalid or not equal. 
\end{DoxyReturn}


Definition at line 454 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a9741ad595b264a7d998cde789fba5dfe_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a9741ad595b264a7d998cde789fba5dfe_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_aebdfe5e9bb453fe30c952bbccc346267}\label{nnstreamer__plugin__api__util__impl_8c_aebdfe5e9bb453fe30c952bbccc346267}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_parse\_dimensions\_string@{gst\_tensors\_info\_parse\_dimensions\_string}}
\index{gst\_tensors\_info\_parse\_dimensions\_string@{gst\_tensors\_info\_parse\_dimensions\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_parse\_dimensions\_string()}{gst\_tensors\_info\_parse\_dimensions\_string()}}
{\footnotesize\ttfamily guint gst\+\_\+tensors\+\_\+info\+\_\+parse\+\_\+dimensions\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info,  }\item[{const gchar $\ast$}]{dim\+\_\+string }\end{DoxyParamCaption})}



Parse the string of dimensions. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
{\em dim\+\_\+string} & string of dimensions \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of parsed dimensions 
\end{DoxyReturn}


Definition at line 532 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aebdfe5e9bb453fe30c952bbccc346267_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_aebdfe5e9bb453fe30c952bbccc346267_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a63e6de12c65a689a7a06f7cb9b7eb082}\label{nnstreamer__plugin__api__util__impl_8c_a63e6de12c65a689a7a06f7cb9b7eb082}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_parse\_names\_string@{gst\_tensors\_info\_parse\_names\_string}}
\index{gst\_tensors\_info\_parse\_names\_string@{gst\_tensors\_info\_parse\_names\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_parse\_names\_string()}{gst\_tensors\_info\_parse\_names\_string()}}
{\footnotesize\ttfamily guint gst\+\_\+tensors\+\_\+info\+\_\+parse\+\_\+names\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info,  }\item[{const gchar $\ast$}]{name\+\_\+string }\end{DoxyParamCaption})}



Parse the string of names. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
{\em name\+\_\+string} & string of names \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of parsed names 
\end{DoxyReturn}


Definition at line 612 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a63e6de12c65a689a7a06f7cb9b7eb082_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a63e6de12c65a689a7a06f7cb9b7eb082_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a553a4359bc7fc957cd167fcfb840cee3}\label{nnstreamer__plugin__api__util__impl_8c_a553a4359bc7fc957cd167fcfb840cee3}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_parse\_types\_string@{gst\_tensors\_info\_parse\_types\_string}}
\index{gst\_tensors\_info\_parse\_types\_string@{gst\_tensors\_info\_parse\_types\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_parse\_types\_string()}{gst\_tensors\_info\_parse\_types\_string()}}
{\footnotesize\ttfamily guint gst\+\_\+tensors\+\_\+info\+\_\+parse\+\_\+types\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info,  }\item[{const gchar $\ast$}]{type\+\_\+string }\end{DoxyParamCaption})}



Parse the string of types. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
{\em type\+\_\+string} & string of types \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of parsed types 
\end{DoxyReturn}


Definition at line 572 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a553a4359bc7fc957cd167fcfb840cee3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a553a4359bc7fc957cd167fcfb840cee3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a72a0c8a3b05af0b6e547d7e767d9af9c}\label{nnstreamer__plugin__api__util__impl_8c_a72a0c8a3b05af0b6e547d7e767d9af9c}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_to\_string@{gst\_tensors\_info\_to\_string}}
\index{gst\_tensors\_info\_to\_string@{gst\_tensors\_info\_to\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_to\_string()}{gst\_tensors\_info\_to\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensors\+\_\+info\+\_\+to\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} represented as a string. Caller should free it. 


\begin{DoxyParams}{Parameters}
{\em info} & \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly allocated string representing the tensors info. Free after use. 
\end{DoxyReturn}


Definition at line 783 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a72a0c8a3b05af0b6e547d7e767d9af9c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a72a0c8a3b05af0b6e547d7e767d9af9c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a66650dd67bed2037956981ff64f89f9f}\label{nnstreamer__plugin__api__util__impl_8c_a66650dd67bed2037956981ff64f89f9f}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!gst\_tensors\_info\_validate@{gst\_tensors\_info\_validate}}
\index{gst\_tensors\_info\_validate@{gst\_tensors\_info\_validate}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_info\_validate()}{gst\_tensors\_info\_validate()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensors\+\_\+info\+\_\+validate (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Check the tensors info is valid. 


\begin{DoxyParams}{Parameters}
{\em info} & tensors info structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if info is valid 
\end{DoxyReturn}


Definition at line 404 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a66650dd67bed2037956981ff64f89f9f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__util__impl_8c_a66650dd67bed2037956981ff64f89f9f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_ae4aef598e8207c0639887495bf318a8d}\label{nnstreamer__plugin__api__util__impl_8c_ae4aef598e8207c0639887495bf318a8d}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!nnstreamer\_version\_fetch@{nnstreamer\_version\_fetch}}
\index{nnstreamer\_version\_fetch@{nnstreamer\_version\_fetch}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_version\_fetch()}{nnstreamer\_version\_fetch()}}
{\footnotesize\ttfamily void nnstreamer\+\_\+version\+\_\+fetch (\begin{DoxyParamCaption}\item[{guint $\ast$}]{major,  }\item[{guint $\ast$}]{minor,  }\item[{guint $\ast$}]{micro }\end{DoxyParamCaption})}



Get the version of N\+N\+Streamer (int, divided). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em major} & M\+A\+J\+O\+R.\+minor.\+micro, won\textquotesingle{}t set if it\textquotesingle{}s null. \\
\hline
\mbox{\texttt{ out}}  & {\em minor} & major.\+M\+I\+N\+O\+R.\+micro, won\textquotesingle{}t set if it\textquotesingle{}s null. \\
\hline
\mbox{\texttt{ out}}  & {\em micro} & major.\+minor.\+M\+I\+C\+RO, won\textquotesingle{}t set if it\textquotesingle{}s null. \\
\hline
\end{DoxyParams}


Definition at line 1624 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a2304d412ef4e215e0ab3aa844bf81742}\label{nnstreamer__plugin__api__util__impl_8c_a2304d412ef4e215e0ab3aa844bf81742}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!nnstreamer\_version\_string@{nnstreamer\_version\_string}}
\index{nnstreamer\_version\_string@{nnstreamer\_version\_string}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_version\_string()}{nnstreamer\_version\_string()}}
{\footnotesize\ttfamily gchar$\ast$ nnstreamer\+\_\+version\+\_\+string (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Get the version of N\+N\+Streamer (string). 

Get the version of N\+N\+Streamer.

\begin{DoxyReturn}{Returns}
Newly allocated string. The returned string should be freed with \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free()}}. 
\end{DoxyReturn}


Definition at line 1609 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a4a0b8da000c9e323134edc9a10f3c9de}\label{nnstreamer__plugin__api__util__impl_8c_a4a0b8da000c9e323134edc9a10f3c9de}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!tensor\_element\_size@{tensor\_element\_size}}
\index{tensor\_element\_size@{tensor\_element\_size}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{tensor\_element\_size}{tensor\_element\_size}}
{\footnotesize\ttfamily const guint tensor\+\_\+element\+\_\+size\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa049f2d9061ce255f95765dc03e37983d}{\_NNS\_INT32}}] = 4,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaaf63d9ea8926a1befebc780fdfcc21eb9}{\_NNS\_UINT32}}] = 4,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaacbeb809f942df58e669c3a2f3d986a9f}{\_NNS\_INT16}}] = 2,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa43de6043203de583de60208e49183401}{\_NNS\_UINT16}}] = 2,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa5380abf91df5c82187018ac4d24279e2}{\_NNS\_INT8}}] = 1,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaab5a59c21ae9c9ec4b02b363c0e176939}{\_NNS\_UINT8}}] = 1,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa34b59a484c1243f2d9526a158e5417c2}{\_NNS\_FLOAT64}}] = 8,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaab5c2db8009a13383684358501ff4cc48}{\_NNS\_FLOAT32}}] = 4,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa93b0749871b9b80e3af17e74dcef9452}{\_NNS\_INT64}}] = 8,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa7045bb742c618911841b17112fdd2d0b}{\_NNS\_UINT64}}] = 8,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaafc37d7435087f9661f8aaf75049e5cc4}{\_NNS\_FLOAT16}}] = 2,}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaafac3f06dff584665bba7b42b96a449bc}{\_NNS\_END}}] = 0,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Byte-\/per-\/element of each tensor element type. 



Definition at line 38 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a50c48109160186eccc48b8ae781ac072}\label{nnstreamer__plugin__api__util__impl_8c_a50c48109160186eccc48b8ae781ac072}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!tensor\_element\_typename@{tensor\_element\_typename}}
\index{tensor\_element\_typename@{tensor\_element\_typename}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{tensor\_element\_typename}{tensor\_element\_typename}}
{\footnotesize\ttfamily const gchar$\ast$ tensor\+\_\+element\+\_\+typename\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa049f2d9061ce255f95765dc03e37983d}{\_NNS\_INT32}}] = \textcolor{stringliteral}{"int32"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaaf63d9ea8926a1befebc780fdfcc21eb9}{\_NNS\_UINT32}}] = \textcolor{stringliteral}{"uint32"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaacbeb809f942df58e669c3a2f3d986a9f}{\_NNS\_INT16}}] = \textcolor{stringliteral}{"int16"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa43de6043203de583de60208e49183401}{\_NNS\_UINT16}}] = \textcolor{stringliteral}{"uint16"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa5380abf91df5c82187018ac4d24279e2}{\_NNS\_INT8}}] = \textcolor{stringliteral}{"int8"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaab5a59c21ae9c9ec4b02b363c0e176939}{\_NNS\_UINT8}}] = \textcolor{stringliteral}{"uint8"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa34b59a484c1243f2d9526a158e5417c2}{\_NNS\_FLOAT64}}] = \textcolor{stringliteral}{"float64"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaab5c2db8009a13383684358501ff4cc48}{\_NNS\_FLOAT32}}] = \textcolor{stringliteral}{"float32"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa93b0749871b9b80e3af17e74dcef9452}{\_NNS\_INT64}}] = \textcolor{stringliteral}{"int64"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaa7045bb742c618911841b17112fdd2d0b}{\_NNS\_UINT64}}] = \textcolor{stringliteral}{"uint64"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaafc37d7435087f9661f8aaf75049e5cc4}{\_NNS\_FLOAT16}}] = \textcolor{stringliteral}{"float16"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a85f1ee57f40a96f8684f79bac501b0eaafac3f06dff584665bba7b42b96a449bc}{\_NNS\_END}}] = NULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


String representations for each tensor element type. 



Definition at line 20 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__util__impl_8c_a919be9ae2b2a884211f1c0d193500d8e}\label{nnstreamer__plugin__api__util__impl_8c_a919be9ae2b2a884211f1c0d193500d8e}} 
\index{nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}!tensor\_format\_name@{tensor\_format\_name}}
\index{tensor\_format\_name@{tensor\_format\_name}!nnstreamer\_plugin\_api\_util\_impl.c@{nnstreamer\_plugin\_api\_util\_impl.c}}
\doxysubsubsection{\texorpdfstring{tensor\_format\_name}{tensor\_format\_name}}
{\footnotesize\ttfamily const gchar$\ast$ tensor\+\_\+format\+\_\+name\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a02f9f1ada3a6026b2e9bcf15eaa4069dac9eeffede00be698970f239ce5e50f9b}{\_NNS\_TENSOR\_FORMAT\_STATIC}}] = \textcolor{stringliteral}{"static"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a02f9f1ada3a6026b2e9bcf15eaa4069da07955daf3ae0f568c9c12f790433401c}{\_NNS\_TENSOR\_FORMAT\_FLEXIBLE}}] = \textcolor{stringliteral}{"flexible"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a02f9f1ada3a6026b2e9bcf15eaa4069da93a6f646deed65a694aab40aa691a6cd}{\_NNS\_TENSOR\_FORMAT\_SPARSE}}] = \textcolor{stringliteral}{"sparse"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__typedef_8h_a02f9f1ada3a6026b2e9bcf15eaa4069da46b6705239a212f3a5546004d56626e2}{\_NNS\_TENSOR\_FORMAT\_END}}] = NULL}
\DoxyCodeLine{\}}

\end{DoxyCode}


String representations for tensor format. 



Definition at line 56 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+util\+\_\+impl.\+c.

