\hypertarget{gsttensor__decoder_8c}{}\doxysection{nnstreamer/elements/gsttensor\+\_\+decoder.c File Reference}
\label{gsttensor__decoder_8c}\index{nnstreamer/elements/gsttensor\_decoder.c@{nnstreamer/elements/gsttensor\_decoder.c}}


G\+Streamer plugin to convert tensors (as a filter for other general neural network filters) to other media types.  


{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include \char`\"{}gsttensor\+\_\+decoder.\+h\char`\"{}}\newline
Include dependency graph for gsttensor\+\_\+decoder.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{gsttensor__decoder_8c_a49606be7356624568932ec81c0d429f4}{D\+BG}}~(!self-\/$>$silent)
\begin{DoxyCompactList}\small\item\em Macro for debug mode. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__decoder_8c_adef911caed7c65a1643062817f4a59d7}{G\+S\+T\+\_\+\+C\+A\+T\+\_\+\+D\+E\+F\+A\+U\+LT}}~gst\+\_\+tensordec\+\_\+debug
\item 
\#define \mbox{\hyperlink{gsttensor__decoder_8c_a18d799dbbbb0fd0132807aa9bb7d9adf}{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+I\+L\+E\+NT}}~\mbox{\hyperlink{gsttensor__if_8c_a834713a9a17ec303f21e3dc4ecbe9161}{T\+R\+UE}}
\begin{DoxyCompactList}\small\item\em Flag to print minimized log. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__decoder_8c_aa2d8b0bc5c1225ba8d7f84e235c1cf0d}{C\+A\+P\+S\+\_\+\+S\+T\+R\+I\+NG}}~\mbox{\hyperlink{tensor__typedef_8h_a284951c7aec77ea34d1c0279d5a5b4a0}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+C\+A\+P\+\_\+\+D\+E\+F\+A\+U\+LT}} \char`\"{};\char`\"{} \mbox{\hyperlink{tensor__typedef_8h_a439a25631e5849f93c9f1dcdc7c2baa5}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+S\+\_\+\+C\+A\+P\+\_\+\+D\+E\+F\+A\+U\+LT}} \char`\"{};\char`\"{} \mbox{\hyperlink{tensor__typedef_8h_a71856faf2269f48f212cac74c553ed94}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+S\+\_\+\+F\+L\+E\+X\+\_\+\+C\+A\+P\+\_\+\+D\+E\+F\+A\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Support multi-\/tensor along with single-\/tensor as the input. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__decoder_8c_ac9e7c95c42b15380ff60b4548f53c8b5}{gst\+\_\+tensordec\+\_\+parent\+\_\+class}}~parent\+\_\+class
\item 
\#define \mbox{\hyperlink{gsttensor__decoder_8c_a614567ac5a7375d6c31b12142fd88ecc}{gst\+\_\+tensor\+\_\+decoder\+\_\+clean\+\_\+plugin}}(self)
\begin{DoxyCompactList}\small\item\em Macro to clean sub-\/plugin data. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__decoder_8c_a148dac178c1d6e76f1933f3a460dcfc9}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+ON}}(\mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}})~case P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+ON
\begin{DoxyCompactList}\small\item\em A macro to process incoming per-\/mode option. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__decoder_8c_a3cda6af4c0423967eaa897e9eacef28e}{P\+R\+O\+P\+\_\+\+R\+E\+A\+D\+\_\+\+O\+P\+T\+I\+ON}}(\mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}})~case \mbox{\hyperlink{gsttensor__decoder_8c_a148dac178c1d6e76f1933f3a460dcfc9}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+ON}}
\begin{DoxyCompactList}\small\item\em A macro to read per-\/mode option. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \newline
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaac37dda0da1a44e10c0504afeeb863f3c}{P\+R\+O\+P\+\_\+0}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa707b785966c328fb5a6088b7879c7bb5}{P\+R\+O\+P\+\_\+\+S\+I\+L\+E\+NT}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa0b5a29cfd0fc43c914507e65e3aec94f}{P\+R\+O\+P\+\_\+\+M\+O\+DE}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa2eb5a9b0cd9e2d6b7646680cda9e03e0}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N1}}, 
\newline
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa30570a456d54fd68a438856c819fd0b2}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N2}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa3d28a1b6b20a19bd037b7ee269b9ee62}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N3}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa312a3fb7de014eae6f4010997d9e3247}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N4}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa0c5b2114c5dcf63604639977c221f602}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N5}}, 
\newline
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa3b1035dff341e50b5857b801d3e28f75}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N6}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaaa65bebc24388f90c7e44b9d46834ba85}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N7}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa6bb3d6cac0a577a72a2e2af628d57299}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N8}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaaaa3336df13ba625c738f3b7b298bf439}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N9}}, 
\newline
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaac64687b09b2747b0d6079d424b41b8c2}{P\+R\+O\+P\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+NS}}, 
\mbox{\hyperlink{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaad75ad3cf5603df9e521d77c847dfbbb4}{P\+R\+O\+P\+\_\+\+C\+O\+N\+F\+IG}}
 \}
\begin{DoxyCompactList}\small\item\em Properties. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{gsttensor__decoder_8c_aa60042fd1d19e4f66a5b0df9c2f6d397}{G\+S\+T\+\_\+\+D\+E\+B\+U\+G\+\_\+\+C\+A\+T\+E\+G\+O\+R\+Y\+\_\+\+S\+T\+A\+T\+IC}} (gst\+\_\+tensordec\+\_\+debug)
\item 
\mbox{\hyperlink{gsttensor__decoder_8c_a845cff8c84005ed60a5802db9981008e}{G\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+T\+Y\+PE}} (\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}}, gst\+\_\+tensordec, G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+A\+S\+E\+\_\+\+T\+R\+A\+N\+S\+F\+O\+RM)
\item 
static void \mbox{\hyperlink{gsttensor__decoder_8c_a0c71751dd5cc062b9d5170f5a5f50d4a}{gst\+\_\+tensordec\+\_\+set\+\_\+property}} (G\+Object $\ast$object, guint prop\+\_\+id, const G\+Value $\ast$value, G\+Param\+Spec $\ast$pspec)
\begin{DoxyCompactList}\small\item\em Set property (G\+Object vmethod) \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__decoder_8c_ae45566678a3b3377c9a38d5c6f3d34f2}{gst\+\_\+tensordec\+\_\+get\+\_\+property}} (G\+Object $\ast$object, guint prop\+\_\+id, G\+Value $\ast$value, G\+Param\+Spec $\ast$pspec)
\begin{DoxyCompactList}\small\item\em Get property (G\+Object vmethod) \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__decoder_8c_a716bad021ee7e72b9cb958c5ad4efbab}{gst\+\_\+tensordec\+\_\+class\+\_\+finalize}} (G\+Object $\ast$object)
\begin{DoxyCompactList}\small\item\em Finalize instance (G\+Object vmethod) \end{DoxyCompactList}\item 
static Gst\+Flow\+Return \mbox{\hyperlink{gsttensor__decoder_8c_a3cc74ac8d81b3520d1afb0eac8d5ab62}{gst\+\_\+tensordec\+\_\+transform}} (Gst\+Base\+Transform $\ast$trans, Gst\+Buffer $\ast$inbuf, Gst\+Buffer $\ast$outbuf)
\begin{DoxyCompactList}\small\item\em non-\/ip transform. required vmethod for Base\+Transform class. \end{DoxyCompactList}\item 
static Gst\+Caps $\ast$ \mbox{\hyperlink{gsttensor__decoder_8c_ae69054757c4497499fbe3dc0f37e97a6}{gst\+\_\+tensordec\+\_\+transform\+\_\+caps}} (Gst\+Base\+Transform $\ast$trans, Gst\+Pad\+Direction direction, Gst\+Caps $\ast$caps, Gst\+Caps $\ast$filter)
\begin{DoxyCompactList}\small\item\em configure tensor-\/srcpad cap from \char`\"{}proposed\char`\"{} cap. \end{DoxyCompactList}\item 
static Gst\+Caps $\ast$ \mbox{\hyperlink{gsttensor__decoder_8c_a6fafd219631914e72cdacd24df3ff13c}{gst\+\_\+tensordec\+\_\+fixate\+\_\+caps}} (Gst\+Base\+Transform $\ast$trans, Gst\+Pad\+Direction direction, Gst\+Caps $\ast$caps, Gst\+Caps $\ast$othercaps)
\begin{DoxyCompactList}\small\item\em fixate caps. required vmethod of Base\+Transform \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__decoder_8c_a8e2ac22671b3dcbfa0f273eaa956a433}{gst\+\_\+tensordec\+\_\+set\+\_\+caps}} (Gst\+Base\+Transform $\ast$trans, Gst\+Caps $\ast$incaps, Gst\+Caps $\ast$outcaps)
\begin{DoxyCompactList}\small\item\em set caps. required vmethod of Base\+Transform \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__decoder_8c_a579482afeac53596d1ef7bd089e1fb2b}{gst\+\_\+tensordec\+\_\+transform\+\_\+size}} (Gst\+Base\+Transform $\ast$trans, Gst\+Pad\+Direction direction, Gst\+Caps $\ast$caps, gsize size, Gst\+Caps $\ast$othercaps, gsize $\ast$othersize)
\begin{DoxyCompactList}\small\item\em Tell the framework the required size of buffer based on the info of the other side pad. optional vmethod of Base\+Transform. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__decoder_8c_aa0003f94b274e56a7f3a91687fa2510f}{nnstreamer\+\_\+decoder\+\_\+validate}} (const \mbox{\hyperlink{nnstreamer__plugin__api__decoder_8h_a758c970446defe0ce5f98507f7a96a4b}{Gst\+Tensor\+Decoder\+Def}} $\ast$decoder)
\begin{DoxyCompactList}\small\item\em Validate decoder sub-\/plugin\textquotesingle{}s data. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{gsttensor__decoder_8c_a094f5ba2b3cf4125dabe74e6b1b8b962}{nnstreamer\+\_\+decoder\+\_\+probe}} (\mbox{\hyperlink{nnstreamer__plugin__api__decoder_8h_a758c970446defe0ce5f98507f7a96a4b}{Gst\+Tensor\+Decoder\+Def}} $\ast$decoder)
\begin{DoxyCompactList}\small\item\em Decoder\textquotesingle{}s sub-\/plugin should call this function to register itself. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{gsttensor__decoder_8c_af27929aae26be522524210cf9b2bf5b8}{nnstreamer\+\_\+decoder\+\_\+exit}} (const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Decoder\textquotesingle{}s sub-\/plugin may call this to unregister itself. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{nnstreamer__plugin__api__decoder_8h_a758c970446defe0ce5f98507f7a96a4b}{Gst\+Tensor\+Decoder\+Def}} $\ast$ \mbox{\hyperlink{gsttensor__decoder_8c_a43214510b19bb4a5d3290a039463420e}{nnstreamer\+\_\+decoder\+\_\+find}} (const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Find decoder sub-\/plugin with the name. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{gsttensor__decoder_8c_a2a0659a619e041c68abe6d034d1c0131}{nnstreamer\+\_\+decoder\+\_\+set\+\_\+custom\+\_\+property\+\_\+desc}} (const char $\ast$name, const char $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}},...)
\begin{DoxyCompactList}\small\item\em set custom property description for tensor decoder sub-\/plugin \end{DoxyCompactList}\item 
static Gst\+Caps $\ast$ \mbox{\hyperlink{gsttensor__decoder_8c_adfc8281bdd34a4097be4e84cc8236358}{gst\+\_\+tensordec\+\_\+media\+\_\+caps\+\_\+from\+\_\+tensor}} (\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$self, const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Get media caps from tensor config. \end{DoxyCompactList}\item 
static Gst\+Caps $\ast$ \mbox{\hyperlink{gsttensor__decoder_8c_ad12ecfcb5c82166c6721040346e1fa2d}{gst\+\_\+tensordec\+\_\+media\+\_\+caps\+\_\+from\+\_\+structure}} (\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$self, const Gst\+Structure $\ast$structure)
\begin{DoxyCompactList}\small\item\em Parse structure and return media caps. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__decoder_8c_a7f050df5e806fae2b082e088335678b3}{gst\+\_\+tensordec\+\_\+check\+\_\+consistency}} (\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$self, \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Check tensor config is consistent. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__decoder_8c_a7f2adda95392a9fb3a95a26aefb5d5ef}{gst\+\_\+tensordec\+\_\+class\+\_\+init}} (\mbox{\hyperlink{gsttensor__decoder_8h_a6c130f36214f68d169427aae3f57551e}{Gst\+Tensor\+Decoder\+Class}} $\ast$klass)
\begin{DoxyCompactList}\small\item\em initialize the tensordec\textquotesingle{}s class \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__decoder_8c_aa4925df701bb0e36bef1a440bed68057}{gst\+\_\+tensordec\+\_\+init}} (\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$self)
\begin{DoxyCompactList}\small\item\em initialize the new element instantiate pads and add them to element set pad callback functions initialize instance structure \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__decoder_8c_a8fb821f92b5f05f75ae887bc210d1540}{gst\+\_\+tensordec\+\_\+process\+\_\+plugin\+\_\+options}} (\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$self, guint \mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}})
\begin{DoxyCompactList}\small\item\em Process plugin (self-\/$>$decoder) with given options if available. \end{DoxyCompactList}\item 
\mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free}} (self-\/$>$\mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}}\mbox{[}(\mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}}) -\/ 1\mbox{]})
\begin{DoxyCompactList}\small\item\em opnum\+: \textbackslash{} \end{DoxyCompactList}\item 
\mbox{\hyperlink{gsttensor__decoder_8c_a1faac71a902f23008ed39384b9189e29}{if}} (!\mbox{\hyperlink{gsttensor__decoder_8c_a8fb821f92b5f05f75ae887bc210d1540}{gst\+\_\+tensordec\+\_\+process\+\_\+plugin\+\_\+options}}(self,(\mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}}) -\/ 1)) G\+S\+T\+\_\+\+E\+R\+R\+O\+R\+\_\+\+O\+B\+J\+E\+CT(self
\item 
Configuring \mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}} for tensor decoder \mbox{\hyperlink{gsttensor__decoder_8c_ad6c4485e7f2c9c287e7f97b201ebfef3}{failed}} (\mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}} \%d=\%s)\char`\"{}
\item 
\mbox{\hyperlink{gsttensor__decoder_8c_abc6e2923e073f86b2d39f97dfab76ddd}{g\+\_\+value\+\_\+set\+\_\+string}} (value, self-\/$>$\mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}}\mbox{[}\mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}} -\/ 1\mbox{]})
\begin{DoxyCompactList}\small\item\em opnum\+: \textbackslash{} \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__decoder_8c_af531c5f669d5b81a4f866f25921625a0}{gst\+\_\+tensordec\+\_\+configure}} (\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$self, const Gst\+Caps $\ast$in\+\_\+caps, const Gst\+Caps $\ast$out\+\_\+caps)
\begin{DoxyCompactList}\small\item\em Configure tensor metadata from sink caps. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{gsttensor__decoder_8c_a443834dff1cea4b10c82c0aecc183dd5}{nnstreamer\+\_\+decoder\+\_\+custom\+\_\+register}} (const gchar $\ast$name, \mbox{\hyperlink{tensor__decoder__custom_8h_ac6be8b41e6341d2a118b65ce2ba04900}{tensor\+\_\+decoder\+\_\+custom}} func, void $\ast$\mbox{\hyperlink{gsttensor__if_8c_a3c9cc8d6e8da85fef51da4c7115b97f6}{data}})
\begin{DoxyCompactList}\small\item\em Registers a callback for tensor\+\_\+decoder custom condition. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{gsttensor__decoder_8c_a0630a5d8fb076325a488a1fdd74b2a9d}{nnstreamer\+\_\+decoder\+\_\+custom\+\_\+unregister}} (const gchar $\ast$name)
\begin{DoxyCompactList}\small\item\em Unregisters a callback for tensor\+\_\+decoder custom condition. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static Gst\+Static\+Pad\+Template \mbox{\hyperlink{gsttensor__decoder_8c_a7c3b88a6174b442587875b361d888720}{sink\+\_\+factory}}
\begin{DoxyCompactList}\small\item\em The capabilities of the inputs. \end{DoxyCompactList}\item 
static Gst\+Static\+Pad\+Template \mbox{\hyperlink{gsttensor__decoder_8c_a506c90b87594a5e6111c8b5f6ca85473}{src\+\_\+factory}}
\begin{DoxyCompactList}\small\item\em The capabilities of the outputs. \end{DoxyCompactList}\item 
self \mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}} \mbox{[}(\mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}}) -\/ 1\mbox{]} = g\+\_\+value\+\_\+dup\+\_\+string (value)
\item 
Configuring \mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}} for tensor decoder \mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
G\+Streamer plugin to convert tensors (as a filter for other general neural network filters) to other media types. 

G\+Streamer / N\+N\+Streamer tensor\+\_\+decoder main Copyright (C) 2005 Thomas Vander Stichele \href{mailto:thomas@apestaart.org}{\texttt{ thomas@apestaart.\+org}} Copyright (C) 2005 Ronald S. Bultje \href{mailto:rbultje@ronald.bitfreak.net}{\texttt{ rbultje@ronald.\+bitfreak.\+net}} Copyright (C) 2018 Jijoong Moon \href{mailto:jijoong.moon@samsung.com}{\texttt{ jijoong.\+moon@samsung.\+com}}

This library is free software; you can redistribute it and/or modify it under the terms of the G\+NU Library General Public License as published by the Free Software Foundation; version 2.\+1 of the License.

This library is distributed in the hope that it will be useful, but W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU Library General Public License for more details.

\begin{DoxyDate}{Date}
26 Mar 2018 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{https://github.com/nnstreamer/nnstreamer}{\texttt{ https\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Jijoong Moon \href{mailto:jijoong.moon@samsung.com}{\texttt{ jijoong.\+moon@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000036}{Bug}}]gst\+\_\+tensordec\+\_\+transform\+\_\+size () may be incorrect if direction is S\+I\+NK. 

If configured = T\+R\+UE, it holds T\+R\+UE until exit. What if configuration changes in run-\/time?\end{DoxyRefDesc}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{gsttensor__decoder_8c_aa2d8b0bc5c1225ba8d7f84e235c1cf0d}\label{gsttensor__decoder_8c_aa2d8b0bc5c1225ba8d7f84e235c1cf0d}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!CAPS\_STRING@{CAPS\_STRING}}
\index{CAPS\_STRING@{CAPS\_STRING}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{CAPS\_STRING}{CAPS\_STRING}}
{\footnotesize\ttfamily \#define C\+A\+P\+S\+\_\+\+S\+T\+R\+I\+NG~\mbox{\hyperlink{tensor__typedef_8h_a284951c7aec77ea34d1c0279d5a5b4a0}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+C\+A\+P\+\_\+\+D\+E\+F\+A\+U\+LT}} \char`\"{};\char`\"{} \mbox{\hyperlink{tensor__typedef_8h_a439a25631e5849f93c9f1dcdc7c2baa5}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+S\+\_\+\+C\+A\+P\+\_\+\+D\+E\+F\+A\+U\+LT}} \char`\"{};\char`\"{} \mbox{\hyperlink{tensor__typedef_8h_a71856faf2269f48f212cac74c553ed94}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+S\+\_\+\+F\+L\+E\+X\+\_\+\+C\+A\+P\+\_\+\+D\+E\+F\+A\+U\+LT}}}



Support multi-\/tensor along with single-\/tensor as the input. 



Definition at line 89 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_a49606be7356624568932ec81c0d429f4}\label{gsttensor__decoder_8c_a49606be7356624568932ec81c0d429f4}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!DBG@{DBG}}
\index{DBG@{DBG}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{DBG}{DBG}}
{\footnotesize\ttfamily \#define D\+BG~(!self-\/$>$silent)}



Macro for debug mode. 

S\+E\+C\+T\+I\+ON\+:element-\/tensordec

A filter that converts tensor stream for NN frameworks to media stream. The input is always in the format of other/tensor

$<$refsect2$>$ $<$title$>$Example launch line$<$/title$>$ $\vert$\mbox{[} gst-\/launch -\/v -\/m fakesink ! tensor\+\_\+decoder ! fakesrc silent=T\+R\+UE \mbox{]}$\vert$ $<$/refsect2$>$ 

Definition at line 54 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_a18d799dbbbb0fd0132807aa9bb7d9adf}\label{gsttensor__decoder_8c_a18d799dbbbb0fd0132807aa9bb7d9adf}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!DEFAULT\_SILENT@{DEFAULT\_SILENT}}
\index{DEFAULT\_SILENT@{DEFAULT\_SILENT}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{DEFAULT\_SILENT}{DEFAULT\_SILENT}}
{\footnotesize\ttfamily \#define D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+I\+L\+E\+NT~\mbox{\hyperlink{gsttensor__if_8c_a834713a9a17ec303f21e3dc4ecbe9161}{T\+R\+UE}}}



Flag to print minimized log. 



Definition at line 84 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_adef911caed7c65a1643062817f4a59d7}\label{gsttensor__decoder_8c_adef911caed7c65a1643062817f4a59d7}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!GST\_CAT\_DEFAULT@{GST\_CAT\_DEFAULT}}
\index{GST\_CAT\_DEFAULT@{GST\_CAT\_DEFAULT}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{GST\_CAT\_DEFAULT}{GST\_CAT\_DEFAULT}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+C\+A\+T\+\_\+\+D\+E\+F\+A\+U\+LT~gst\+\_\+tensordec\+\_\+debug}



Definition at line 58 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_a614567ac5a7375d6c31b12142fd88ecc}\label{gsttensor__decoder_8c_a614567ac5a7375d6c31b12142fd88ecc}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensor\_decoder\_clean\_plugin@{gst\_tensor\_decoder\_clean\_plugin}}
\index{gst\_tensor\_decoder\_clean\_plugin@{gst\_tensor\_decoder\_clean\_plugin}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_decoder\_clean\_plugin}{gst\_tensor\_decoder\_clean\_plugin}}
{\footnotesize\ttfamily \#define gst\+\_\+tensor\+\_\+decoder\+\_\+clean\+\_\+plugin(\begin{DoxyParamCaption}\item[{}]{self }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{    \textcolor{keywordflow}{do} \{ \(\backslash\)}
\DoxyCodeLine{    if (self-\/>decoder) \{ \(\backslash\)}
\DoxyCodeLine{      if (self-\/>decoder-\/>exit) \(\backslash\)}
\DoxyCodeLine{        self-\/>decoder-\/>exit (\&self-\/>plugin\_data); \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{\(\backslash\)}}}
\DoxyCodeLine{\mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{      else \(\backslash\)}}}
\DoxyCodeLine{\mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{        g\_free}} (self-\/>plugin\_data); \(\backslash\)}
\DoxyCodeLine{      self-\/>plugin\_data = NULL; \(\backslash\)}
\DoxyCodeLine{    \} \(\backslash\)}
\DoxyCodeLine{  \} \textcolor{keywordflow}{while} (0)}

\end{DoxyCode}


Macro to clean sub-\/plugin data. 



Definition at line 200 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_ac9e7c95c42b15380ff60b4548f53c8b5}\label{gsttensor__decoder_8c_ac9e7c95c42b15380ff60b4548f53c8b5}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_parent\_class@{gst\_tensordec\_parent\_class}}
\index{gst\_tensordec\_parent\_class@{gst\_tensordec\_parent\_class}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_parent\_class}{gst\_tensordec\_parent\_class}}
{\footnotesize\ttfamily \#define gst\+\_\+tensordec\+\_\+parent\+\_\+class~parent\+\_\+class}



Definition at line 107 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_a148dac178c1d6e76f1933f3a460dcfc9}\label{gsttensor__decoder_8c_a148dac178c1d6e76f1933f3a460dcfc9}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION@{PROP\_MODE\_OPTION}}
\index{PROP\_MODE\_OPTION@{PROP\_MODE\_OPTION}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{PROP\_MODE\_OPTION}{PROP\_MODE\_OPTION}}
{\footnotesize\ttfamily \#define P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+ON(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}} }\end{DoxyParamCaption})~case P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+ON}



A macro to process incoming per-\/mode option. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em opnum} & The option number (1 to Tensor\+Dec\+Max\+Op\+Num) \\
\hline
\end{DoxyParams}


Definition at line 457 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_a3cda6af4c0423967eaa897e9eacef28e}\label{gsttensor__decoder_8c_a3cda6af4c0423967eaa897e9eacef28e}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_READ\_OPTION@{PROP\_READ\_OPTION}}
\index{PROP\_READ\_OPTION@{PROP\_READ\_OPTION}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{PROP\_READ\_OPTION}{PROP\_READ\_OPTION}}
{\footnotesize\ttfamily \#define P\+R\+O\+P\+\_\+\+R\+E\+A\+D\+\_\+\+O\+P\+T\+I\+ON(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}{opnum}} }\end{DoxyParamCaption})~case \mbox{\hyperlink{gsttensor__decoder_8c_a148dac178c1d6e76f1933f3a460dcfc9}{P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+ON}}}



A macro to read per-\/mode option. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em opnum} & The option number (1 to Tensor\+Dec\+Max\+Op\+Num) \\
\hline
\end{DoxyParams}


Definition at line 556 of file gsttensor\+\_\+decoder.\+c.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52caba}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52caba}} 
\doxysubsubsection{\texorpdfstring{anonymous enum}{anonymous enum}}
{\footnotesize\ttfamily anonymous enum}



Properties. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_0@{PROP\_0}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_0@{PROP\_0}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaac37dda0da1a44e10c0504afeeb863f3c}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaac37dda0da1a44e10c0504afeeb863f3c}} 
P\+R\+O\+P\+\_\+0&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_SILENT@{PROP\_SILENT}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_SILENT@{PROP\_SILENT}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa707b785966c328fb5a6088b7879c7bb5}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa707b785966c328fb5a6088b7879c7bb5}} 
P\+R\+O\+P\+\_\+\+S\+I\+L\+E\+NT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE@{PROP\_MODE}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE@{PROP\_MODE}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa0b5a29cfd0fc43c914507e65e3aec94f}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa0b5a29cfd0fc43c914507e65e3aec94f}} 
P\+R\+O\+P\+\_\+\+M\+O\+DE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION1@{PROP\_MODE\_OPTION1}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION1@{PROP\_MODE\_OPTION1}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa2eb5a9b0cd9e2d6b7646680cda9e03e0}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa2eb5a9b0cd9e2d6b7646680cda9e03e0}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N1&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION2@{PROP\_MODE\_OPTION2}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION2@{PROP\_MODE\_OPTION2}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa30570a456d54fd68a438856c819fd0b2}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa30570a456d54fd68a438856c819fd0b2}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N2&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION3@{PROP\_MODE\_OPTION3}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION3@{PROP\_MODE\_OPTION3}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa3d28a1b6b20a19bd037b7ee269b9ee62}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa3d28a1b6b20a19bd037b7ee269b9ee62}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N3&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION4@{PROP\_MODE\_OPTION4}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION4@{PROP\_MODE\_OPTION4}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa312a3fb7de014eae6f4010997d9e3247}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa312a3fb7de014eae6f4010997d9e3247}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N4&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION5@{PROP\_MODE\_OPTION5}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION5@{PROP\_MODE\_OPTION5}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa0c5b2114c5dcf63604639977c221f602}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa0c5b2114c5dcf63604639977c221f602}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N5&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION6@{PROP\_MODE\_OPTION6}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION6@{PROP\_MODE\_OPTION6}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa3b1035dff341e50b5857b801d3e28f75}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa3b1035dff341e50b5857b801d3e28f75}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N6&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION7@{PROP\_MODE\_OPTION7}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION7@{PROP\_MODE\_OPTION7}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaaa65bebc24388f90c7e44b9d46834ba85}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaaa65bebc24388f90c7e44b9d46834ba85}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N7&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION8@{PROP\_MODE\_OPTION8}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION8@{PROP\_MODE\_OPTION8}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa6bb3d6cac0a577a72a2e2af628d57299}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaa6bb3d6cac0a577a72a2e2af628d57299}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N8&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_MODE\_OPTION9@{PROP\_MODE\_OPTION9}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_MODE\_OPTION9@{PROP\_MODE\_OPTION9}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaaaa3336df13ba625c738f3b7b298bf439}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaaaa3336df13ba625c738f3b7b298bf439}} 
P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+\_\+\+O\+P\+T\+I\+O\+N9&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_SUBPLUGINS@{PROP\_SUBPLUGINS}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_SUBPLUGINS@{PROP\_SUBPLUGINS}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaac64687b09b2747b0d6079d424b41b8c2}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaac64687b09b2747b0d6079d424b41b8c2}} 
P\+R\+O\+P\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+NS&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_CONFIG@{PROP\_CONFIG}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!PROP\_CONFIG@{PROP\_CONFIG}}}\mbox{\Hypertarget{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaad75ad3cf5603df9e521d77c847dfbbb4}\label{gsttensor__decoder_8c_a80155586fa275b28773c9b203f52cabaad75ad3cf5603df9e521d77c847dfbbb4}} 
P\+R\+O\+P\+\_\+\+C\+O\+N\+F\+IG&\\
\hline

\end{DoxyEnumFields}


Definition at line 63 of file gsttensor\+\_\+decoder.\+c.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{gsttensor__decoder_8c_ad6c4485e7f2c9c287e7f97b201ebfef3}\label{gsttensor__decoder_8c_ad6c4485e7f2c9c287e7f97b201ebfef3}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!failed@{failed}}
\index{failed@{failed}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{failed()}{failed()}}
{\footnotesize\ttfamily Configuring \mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}} for tensor decoder failed (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}} \%}]{d = {\ttfamily \%s} }\end{DoxyParamCaption})}

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_ad6c4485e7f2c9c287e7f97b201ebfef3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a845cff8c84005ed60a5802db9981008e}\label{gsttensor__decoder_8c_a845cff8c84005ed60a5802db9981008e}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!G\_DEFINE\_TYPE@{G\_DEFINE\_TYPE}}
\index{G\_DEFINE\_TYPE@{G\_DEFINE\_TYPE}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{G\_DEFINE\_TYPE()}{G\_DEFINE\_TYPE()}}
{\footnotesize\ttfamily G\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+T\+Y\+PE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}}}]{,  }\item[{gst\+\_\+tensordec}]{,  }\item[{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+A\+S\+E\+\_\+\+T\+R\+A\+N\+S\+F\+O\+RM}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}\label{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!g\_free@{g\_free}}
\index{g\_free@{g\_free}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{g\_free()}{g\_free()}}
{\footnotesize\ttfamily g\+\_\+free (\begin{DoxyParamCaption}\item[{self-\/$>$}]{option\mbox{[}(opnum) -\/ 1\mbox{]} }\end{DoxyParamCaption})}



opnum\+: \textbackslash{} 

\mbox{\Hypertarget{gsttensor__decoder_8c_abc6e2923e073f86b2d39f97dfab76ddd}\label{gsttensor__decoder_8c_abc6e2923e073f86b2d39f97dfab76ddd}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!g\_value\_set\_string@{g\_value\_set\_string}}
\index{g\_value\_set\_string@{g\_value\_set\_string}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{g\_value\_set\_string()}{g\_value\_set\_string()}}
{\footnotesize\ttfamily g\+\_\+value\+\_\+set\+\_\+string (\begin{DoxyParamCaption}\item[{value}]{,  }\item[{self-\/$>$}]{option\mbox{[}opnum -\/ 1\mbox{]} }\end{DoxyParamCaption})}



opnum\+: \textbackslash{} 

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{gsttensor__decoder_8c_abc6e2923e073f86b2d39f97dfab76ddd_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_aa60042fd1d19e4f66a5b0df9c2f6d397}\label{gsttensor__decoder_8c_aa60042fd1d19e4f66a5b0df9c2f6d397}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!GST\_DEBUG\_CATEGORY\_STATIC@{GST\_DEBUG\_CATEGORY\_STATIC}}
\index{GST\_DEBUG\_CATEGORY\_STATIC@{GST\_DEBUG\_CATEGORY\_STATIC}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{GST\_DEBUG\_CATEGORY\_STATIC()}{GST\_DEBUG\_CATEGORY\_STATIC()}}
{\footnotesize\ttfamily G\+S\+T\+\_\+\+D\+E\+B\+U\+G\+\_\+\+C\+A\+T\+E\+G\+O\+R\+Y\+\_\+\+S\+T\+A\+T\+IC (\begin{DoxyParamCaption}\item[{gst\+\_\+tensordec\+\_\+debug}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{gsttensor__decoder_8c_a7f050df5e806fae2b082e088335678b3}\label{gsttensor__decoder_8c_a7f050df5e806fae2b082e088335678b3}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_check\_consistency@{gst\_tensordec\_check\_consistency}}
\index{gst\_tensordec\_check\_consistency@{gst\_tensordec\_check\_consistency}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_check\_consistency()}{gst\_tensordec\_check\_consistency()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensordec\+\_\+check\+\_\+consistency (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$}]{self,  }\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Check tensor config is consistent. 


\begin{DoxyParams}{Parameters}
{\em self} & \char`\"{}this\char`\"{} pointer to check consistency \\
\hline
{\em t\+\_\+info} & newly configured tensor metadata \\
\hline
\end{DoxyParams}
not configured yet

Definition at line 269 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a7f050df5e806fae2b082e088335678b3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a7f050df5e806fae2b082e088335678b3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a716bad021ee7e72b9cb958c5ad4efbab}\label{gsttensor__decoder_8c_a716bad021ee7e72b9cb958c5ad4efbab}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_class\_finalize@{gst\_tensordec\_class\_finalize}}
\index{gst\_tensordec\_class\_finalize@{gst\_tensordec\_class\_finalize}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_class\_finalize()}{gst\_tensordec\_class\_finalize()}}
{\footnotesize\ttfamily static void gst\+\_\+tensordec\+\_\+class\+\_\+finalize (\begin{DoxyParamCaption}\item[{G\+Object $\ast$}]{object }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Finalize instance (G\+Object vmethod) 



Definition at line 618 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=278pt]{gsttensor__decoder_8c_a716bad021ee7e72b9cb958c5ad4efbab_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a716bad021ee7e72b9cb958c5ad4efbab_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a7f2adda95392a9fb3a95a26aefb5d5ef}\label{gsttensor__decoder_8c_a7f2adda95392a9fb3a95a26aefb5d5ef}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_class\_init@{gst\_tensordec\_class\_init}}
\index{gst\_tensordec\_class\_init@{gst\_tensordec\_class\_init}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_class\_init()}{gst\_tensordec\_class\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensordec\+\_\+class\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8h_a6c130f36214f68d169427aae3f57551e}{Gst\+Tensor\+Decoder\+Class}} $\ast$}]{klass }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



initialize the tensordec\textquotesingle{}s class 

Refer\+: \href{https://gstreamer.freedesktop.org/documentation/design/element-transform.html}{\texttt{ https\+://gstreamer.\+freedesktop.\+org/documentation/design/element-\/transform.\+html}}

Processing units

Negotiation units

Allocation units

Definition at line 287 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a7f2adda95392a9fb3a95a26aefb5d5ef_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_af531c5f669d5b81a4f866f25921625a0}\label{gsttensor__decoder_8c_af531c5f669d5b81a4f866f25921625a0}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_configure@{gst\_tensordec\_configure}}
\index{gst\_tensordec\_configure@{gst\_tensordec\_configure}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_configure()}{gst\_tensordec\_configure()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensordec\+\_\+configure (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$}]{self,  }\item[{const Gst\+Caps $\ast$}]{in\+\_\+caps,  }\item[{const Gst\+Caps $\ast$}]{out\+\_\+caps }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Configure tensor metadata from sink caps. 

This caps is coming from tensor

If previous input configuration is set and is not compatible with incoming caps, get possible media caps from sub-\/plugin and change input configuration.

Check if outcaps is compatible with new caps

Definition at line 641 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_af531c5f669d5b81a4f866f25921625a0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_af531c5f669d5b81a4f866f25921625a0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a6fafd219631914e72cdacd24df3ff13c}\label{gsttensor__decoder_8c_a6fafd219631914e72cdacd24df3ff13c}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_fixate\_caps@{gst\_tensordec\_fixate\_caps}}
\index{gst\_tensordec\_fixate\_caps@{gst\_tensordec\_fixate\_caps}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_fixate\_caps()}{gst\_tensordec\_fixate\_caps()}}
{\footnotesize\ttfamily static Gst\+Caps $\ast$ gst\+\_\+tensordec\+\_\+fixate\+\_\+caps (\begin{DoxyParamCaption}\item[{Gst\+Base\+Transform $\ast$}]{trans,  }\item[{Gst\+Pad\+Direction}]{direction,  }\item[{Gst\+Caps $\ast$}]{caps,  }\item[{Gst\+Caps $\ast$}]{othercaps }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



fixate caps. required vmethod of Base\+Transform 

In gst\+\_\+tensordec\+\_\+transform\+\_\+caps, we have refused to specify caps if the direction is G\+S\+T\+\_\+\+P\+A\+D\+\_\+\+S\+RC. Thus, gstreamer shouldn\textquotesingle{}t fixate it with G\+S\+T\+\_\+\+P\+A\+D\+\_\+\+S\+RC. If this happens, it\textquotesingle{}s either internal logic error or G\+ST b\+UG.

Definition at line 852 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a6fafd219631914e72cdacd24df3ff13c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a6fafd219631914e72cdacd24df3ff13c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_ae45566678a3b3377c9a38d5c6f3d34f2}\label{gsttensor__decoder_8c_ae45566678a3b3377c9a38d5c6f3d34f2}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_get\_property@{gst\_tensordec\_get\_property}}
\index{gst\_tensordec\_get\_property@{gst\_tensordec\_get\_property}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_get\_property()}{gst\_tensordec\_get\_property()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{gsttensor__transform_8c_aa6b3f4e1b92d9d129efafd8e0d5407ba}{break}} void gst\+\_\+tensordec\+\_\+get\+\_\+property (\begin{DoxyParamCaption}\item[{G\+Object $\ast$}]{object,  }\item[{guint}]{prop\+\_\+id,  }\item[{G\+Value $\ast$}]{value,  }\item[{G\+Param\+Spec $\ast$}]{pspec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get property (G\+Object vmethod) 



Definition at line 565 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_ae45566678a3b3377c9a38d5c6f3d34f2_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_ae45566678a3b3377c9a38d5c6f3d34f2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_aa4925df701bb0e36bef1a440bed68057}\label{gsttensor__decoder_8c_aa4925df701bb0e36bef1a440bed68057}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_init@{gst\_tensordec\_init}}
\index{gst\_tensordec\_init@{gst\_tensordec\_init}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_init()}{gst\_tensordec\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensordec\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



initialize the new element instantiate pads and add them to element set pad callback functions initialize instance structure 



Definition at line 416 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_aa4925df701bb0e36bef1a440bed68057_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_ad12ecfcb5c82166c6721040346e1fa2d}\label{gsttensor__decoder_8c_ad12ecfcb5c82166c6721040346e1fa2d}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_media\_caps\_from\_structure@{gst\_tensordec\_media\_caps\_from\_structure}}
\index{gst\_tensordec\_media\_caps\_from\_structure@{gst\_tensordec\_media\_caps\_from\_structure}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_media\_caps\_from\_structure()}{gst\_tensordec\_media\_caps\_from\_structure()}}
{\footnotesize\ttfamily static Gst\+Caps$\ast$ gst\+\_\+tensordec\+\_\+media\+\_\+caps\+\_\+from\+\_\+structure (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$}]{self,  }\item[{const Gst\+Structure $\ast$}]{structure }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Parse structure and return media caps. 


\begin{DoxyParams}{Parameters}
{\em self} & \char`\"{}this\char`\"{} pointer \\
\hline
{\em structure} & structure to be interpreted \\
\hline
\end{DoxyParams}


Definition at line 245 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_ad12ecfcb5c82166c6721040346e1fa2d_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_ad12ecfcb5c82166c6721040346e1fa2d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_adfc8281bdd34a4097be4e84cc8236358}\label{gsttensor__decoder_8c_adfc8281bdd34a4097be4e84cc8236358}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_media\_caps\_from\_tensor@{gst\_tensordec\_media\_caps\_from\_tensor}}
\index{gst\_tensordec\_media\_caps\_from\_tensor@{gst\_tensordec\_media\_caps\_from\_tensor}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_media\_caps\_from\_tensor()}{gst\_tensordec\_media\_caps\_from\_tensor()}}
{\footnotesize\ttfamily static Gst\+Caps$\ast$ gst\+\_\+tensordec\+\_\+media\+\_\+caps\+\_\+from\+\_\+tensor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$}]{self,  }\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get media caps from tensor config. 


\begin{DoxyParams}{Parameters}
{\em self} & \char`\"{}this\char`\"{} pointer \\
\hline
{\em config} & tensor config info \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
caps for media type 
\end{DoxyReturn}


Definition at line 217 of file gsttensor\+\_\+decoder.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_adfc8281bdd34a4097be4e84cc8236358_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a8fb821f92b5f05f75ae887bc210d1540}\label{gsttensor__decoder_8c_a8fb821f92b5f05f75ae887bc210d1540}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_process\_plugin\_options@{gst\_tensordec\_process\_plugin\_options}}
\index{gst\_tensordec\_process\_plugin\_options@{gst\_tensordec\_process\_plugin\_options}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_process\_plugin\_options()}{gst\_tensordec\_process\_plugin\_options()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensordec\+\_\+process\+\_\+plugin\+\_\+options (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__decoder_8h_a253f099f613bbf42c02b45c82c66794b}{Gst\+Tensor\+Decoder}} $\ast$}]{self,  }\item[{guint}]{opnum }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Process plugin (self-\/$>$decoder) with given options if available. 


\begin{DoxyRetVals}{Return values}
{\em F\+A\+L\+SE} & if error. T\+R\+UE if OK (or S\+K\+IP) \\
\hline
\end{DoxyRetVals}


Definition at line 440 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=302pt]{gsttensor__decoder_8c_a8fb821f92b5f05f75ae887bc210d1540_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a8fb821f92b5f05f75ae887bc210d1540_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a8e2ac22671b3dcbfa0f273eaa956a433}\label{gsttensor__decoder_8c_a8e2ac22671b3dcbfa0f273eaa956a433}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_set\_caps@{gst\_tensordec\_set\_caps}}
\index{gst\_tensordec\_set\_caps@{gst\_tensordec\_set\_caps}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_set\_caps()}{gst\_tensordec\_set\_caps()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensordec\+\_\+set\+\_\+caps (\begin{DoxyParamCaption}\item[{Gst\+Base\+Transform $\ast$}]{trans,  }\item[{Gst\+Caps $\ast$}]{incaps,  }\item[{Gst\+Caps $\ast$}]{outcaps }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



set caps. required vmethod of Base\+Transform 

Check if outcaps ==equivalent== supposed

Definition at line 913 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a8e2ac22671b3dcbfa0f273eaa956a433_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a8e2ac22671b3dcbfa0f273eaa956a433_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a0c71751dd5cc062b9d5170f5a5f50d4a}\label{gsttensor__decoder_8c_a0c71751dd5cc062b9d5170f5a5f50d4a}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_set\_property@{gst\_tensordec\_set\_property}}
\index{gst\_tensordec\_set\_property@{gst\_tensordec\_set\_property}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_set\_property()}{gst\_tensordec\_set\_property()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{gsttensor__transform_8c_aa6b3f4e1b92d9d129efafd8e0d5407ba}{break}} void gst\+\_\+tensordec\+\_\+set\+\_\+property (\begin{DoxyParamCaption}\item[{G\+Object $\ast$}]{object,  }\item[{guint}]{prop\+\_\+id,  }\item[{const G\+Value $\ast$}]{value,  }\item[{G\+Param\+Spec $\ast$}]{pspec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Set property (G\+Object vmethod) 

G\+Object vmethod implementations 

Definition at line 470 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a0c71751dd5cc062b9d5170f5a5f50d4a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a0c71751dd5cc062b9d5170f5a5f50d4a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a3cc74ac8d81b3520d1afb0eac8d5ab62}\label{gsttensor__decoder_8c_a3cc74ac8d81b3520d1afb0eac8d5ab62}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_transform@{gst\_tensordec\_transform}}
\index{gst\_tensordec\_transform@{gst\_tensordec\_transform}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_transform()}{gst\_tensordec\_transform()}}
{\footnotesize\ttfamily static Gst\+Flow\+Return gst\+\_\+tensordec\+\_\+transform (\begin{DoxyParamCaption}\item[{Gst\+Base\+Transform $\ast$}]{trans,  }\item[{Gst\+Buffer $\ast$}]{inbuf,  }\item[{Gst\+Buffer $\ast$}]{outbuf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



non-\/ip transform. required vmethod for Base\+Transform class. 

Gst\+Base\+Transform vmethod implementations Internal logic error. Negotiation process should prevent this!

Definition at line 696 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a3cc74ac8d81b3520d1afb0eac8d5ab62_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a3cc74ac8d81b3520d1afb0eac8d5ab62_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_ae69054757c4497499fbe3dc0f37e97a6}\label{gsttensor__decoder_8c_ae69054757c4497499fbe3dc0f37e97a6}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_transform\_caps@{gst\_tensordec\_transform\_caps}}
\index{gst\_tensordec\_transform\_caps@{gst\_tensordec\_transform\_caps}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_transform\_caps()}{gst\_tensordec\_transform\_caps()}}
{\footnotesize\ttfamily static Gst\+Caps $\ast$ gst\+\_\+tensordec\+\_\+transform\+\_\+caps (\begin{DoxyParamCaption}\item[{Gst\+Base\+Transform $\ast$}]{trans,  }\item[{Gst\+Pad\+Direction}]{direction,  }\item[{Gst\+Caps $\ast$}]{caps,  }\item[{Gst\+Caps $\ast$}]{filter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



configure tensor-\/srcpad cap from \char`\"{}proposed\char`\"{} cap. 

@trans (\char`\"{}this\char`\"{} pointer) @direction (why do we need this?) @caps sinkpad cap @filter this element\textquotesingle{}s cap (don\textquotesingle{}t know specifically.) caps = sinkpad (other/tensor) return = srcpad (media)

caps = srcpad (media) return = sinkpad (other/tensor)

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000027}{Todo}}]We may do more specific actions here \end{DoxyRefDesc}


Definition at line 786 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_ae69054757c4497499fbe3dc0f37e97a6_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_ae69054757c4497499fbe3dc0f37e97a6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a579482afeac53596d1ef7bd089e1fb2b}\label{gsttensor__decoder_8c_a579482afeac53596d1ef7bd089e1fb2b}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!gst\_tensordec\_transform\_size@{gst\_tensordec\_transform\_size}}
\index{gst\_tensordec\_transform\_size@{gst\_tensordec\_transform\_size}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensordec\_transform\_size()}{gst\_tensordec\_transform\_size()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensordec\+\_\+transform\+\_\+size (\begin{DoxyParamCaption}\item[{Gst\+Base\+Transform $\ast$}]{trans,  }\item[{Gst\+Pad\+Direction}]{direction,  }\item[{Gst\+Caps $\ast$}]{caps,  }\item[{gsize}]{size,  }\item[{Gst\+Caps $\ast$}]{othercaps,  }\item[{gsize $\ast$}]{othersize }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Tell the framework the required size of buffer based on the info of the other side pad. optional vmethod of Base\+Transform. 

This is called when non-\/ip mode is used. \begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000028}{Todo}}]If direction = S\+RC, you may need different interpretation! \end{DoxyRefDesc}


Definition at line 945 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=337pt]{gsttensor__decoder_8c_a579482afeac53596d1ef7bd089e1fb2b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a579482afeac53596d1ef7bd089e1fb2b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a1faac71a902f23008ed39384b9189e29}\label{gsttensor__decoder_8c_a1faac71a902f23008ed39384b9189e29}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!if@{if}}
\index{if@{if}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{if()}{if()}}
{\footnotesize\ttfamily if (\begin{DoxyParamCaption}\item[{!}]{gst\+\_\+tensordec\+\_\+process\+\_\+plugin\+\_\+optionsself,(opnum) -\/ 1 }\end{DoxyParamCaption})}

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{gsttensor__decoder_8c_a1faac71a902f23008ed39384b9189e29_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a443834dff1cea4b10c82c0aecc183dd5}\label{gsttensor__decoder_8c_a443834dff1cea4b10c82c0aecc183dd5}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!nnstreamer\_decoder\_custom\_register@{nnstreamer\_decoder\_custom\_register}}
\index{nnstreamer\_decoder\_custom\_register@{nnstreamer\_decoder\_custom\_register}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_decoder\_custom\_register()}{nnstreamer\_decoder\_custom\_register()}}
{\footnotesize\ttfamily int nnstreamer\+\_\+decoder\+\_\+custom\+\_\+register (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{name,  }\item[{\mbox{\hyperlink{tensor__decoder__custom_8h_ac6be8b41e6341d2a118b65ce2ba04900}{tensor\+\_\+decoder\+\_\+custom}}}]{func,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Registers a callback for tensor\+\_\+decoder custom condition. 

Register the custom callback function.

\begin{DoxyReturn}{Returns}
0 if success. -\/E\+R\+R\+NO if error. 
\end{DoxyReturn}


Definition at line 972 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a443834dff1cea4b10c82c0aecc183dd5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a0630a5d8fb076325a488a1fdd74b2a9d}\label{gsttensor__decoder_8c_a0630a5d8fb076325a488a1fdd74b2a9d}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!nnstreamer\_decoder\_custom\_unregister@{nnstreamer\_decoder\_custom\_unregister}}
\index{nnstreamer\_decoder\_custom\_unregister@{nnstreamer\_decoder\_custom\_unregister}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_decoder\_custom\_unregister()}{nnstreamer\_decoder\_custom\_unregister()}}
{\footnotesize\ttfamily int nnstreamer\+\_\+decoder\+\_\+custom\+\_\+unregister (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{name }\end{DoxyParamCaption})}



Unregisters a callback for tensor\+\_\+decoder custom condition. 

Unregister the custom callback function.

\begin{DoxyReturn}{Returns}
0 if success. -\/E\+R\+R\+NO if error. 
\end{DoxyReturn}


Definition at line 998 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a0630a5d8fb076325a488a1fdd74b2a9d_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_af27929aae26be522524210cf9b2bf5b8}\label{gsttensor__decoder_8c_af27929aae26be522524210cf9b2bf5b8}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!nnstreamer\_decoder\_exit@{nnstreamer\_decoder\_exit}}
\index{nnstreamer\_decoder\_exit@{nnstreamer\_decoder\_exit}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_decoder\_exit()}{nnstreamer\_decoder\_exit()}}
{\footnotesize\ttfamily void nnstreamer\+\_\+decoder\+\_\+exit (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Decoder\textquotesingle{}s sub-\/plugin may call this to unregister itself. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em name} & The name of decoder sub-\/plugin. \\
\hline
\end{DoxyParams}


Definition at line 166 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_af27929aae26be522524210cf9b2bf5b8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a43214510b19bb4a5d3290a039463420e}\label{gsttensor__decoder_8c_a43214510b19bb4a5d3290a039463420e}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!nnstreamer\_decoder\_find@{nnstreamer\_decoder\_find}}
\index{nnstreamer\_decoder\_find@{nnstreamer\_decoder\_find}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_decoder\_find()}{nnstreamer\_decoder\_find()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{nnstreamer__plugin__api__decoder_8h_a758c970446defe0ce5f98507f7a96a4b}{Gst\+Tensor\+Decoder\+Def}}$\ast$ nnstreamer\+\_\+decoder\+\_\+find (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Find decoder sub-\/plugin with the name. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em name} & The name of decoder sub-\/plugin. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
N\+U\+LL if not found or the sub-\/plugin object has an error. 
\end{DoxyReturn}


Definition at line 177 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a43214510b19bb4a5d3290a039463420e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a43214510b19bb4a5d3290a039463420e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a094f5ba2b3cf4125dabe74e6b1b8b962}\label{gsttensor__decoder_8c_a094f5ba2b3cf4125dabe74e6b1b8b962}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!nnstreamer\_decoder\_probe@{nnstreamer\_decoder\_probe}}
\index{nnstreamer\_decoder\_probe@{nnstreamer\_decoder\_probe}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_decoder\_probe()}{nnstreamer\_decoder\_probe()}}
{\footnotesize\ttfamily int nnstreamer\+\_\+decoder\+\_\+probe (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__plugin__api__decoder_8h_a758c970446defe0ce5f98507f7a96a4b}{Gst\+Tensor\+Decoder\+Def}} $\ast$}]{decoder }\end{DoxyParamCaption})}



Decoder\textquotesingle{}s sub-\/plugin should call this function to register itself. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em decoder} & Decoder sub-\/plugin to be registered. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if registered. F\+A\+L\+SE is failed or duplicated. 
\end{DoxyReturn}


Definition at line 155 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a094f5ba2b3cf4125dabe74e6b1b8b962_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_a2a0659a619e041c68abe6d034d1c0131}\label{gsttensor__decoder_8c_a2a0659a619e041c68abe6d034d1c0131}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!nnstreamer\_decoder\_set\_custom\_property\_desc@{nnstreamer\_decoder\_set\_custom\_property\_desc}}
\index{nnstreamer\_decoder\_set\_custom\_property\_desc@{nnstreamer\_decoder\_set\_custom\_property\_desc}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_decoder\_set\_custom\_property\_desc()}{nnstreamer\_decoder\_set\_custom\_property\_desc()}}
{\footnotesize\ttfamily void nnstreamer\+\_\+decoder\+\_\+set\+\_\+custom\+\_\+property\+\_\+desc (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{const char $\ast$}]{prop,  }\item[{}]{... }\end{DoxyParamCaption})}



set custom property description for tensor decoder sub-\/plugin 



Definition at line 186 of file gsttensor\+\_\+decoder.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_a2a0659a619e041c68abe6d034d1c0131_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__decoder_8c_aa0003f94b274e56a7f3a91687fa2510f}\label{gsttensor__decoder_8c_aa0003f94b274e56a7f3a91687fa2510f}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!nnstreamer\_decoder\_validate@{nnstreamer\_decoder\_validate}}
\index{nnstreamer\_decoder\_validate@{nnstreamer\_decoder\_validate}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_decoder\_validate()}{nnstreamer\_decoder\_validate()}}
{\footnotesize\ttfamily static gboolean nnstreamer\+\_\+decoder\+\_\+validate (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__decoder_8h_a758c970446defe0ce5f98507f7a96a4b}{Gst\+Tensor\+Decoder\+Def}} $\ast$}]{decoder }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Validate decoder sub-\/plugin\textquotesingle{}s data. 



Definition at line 134 of file gsttensor\+\_\+decoder.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__decoder_8c_aa0003f94b274e56a7f3a91687fa2510f_icgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}\label{gsttensor__decoder_8c_a326a9c128aca010252cb06acfc3fae1f}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!opnum@{opnum}}
\index{opnum@{opnum}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{opnum}{opnum}}
{\footnotesize\ttfamily Configuring \mbox{\hyperlink{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}{option}} for tensor decoder opnum}



Definition at line 463 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}\label{gsttensor__decoder_8c_a7d6e522c539aac4e7f452b59aac1598e}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!option@{option}}
\index{option@{option}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{option}{option}}
{\footnotesize\ttfamily Configuring option for tensor decoder self option = g\+\_\+value\+\_\+dup\+\_\+string (value)}



Definition at line 460 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_a7c3b88a6174b442587875b361d888720}\label{gsttensor__decoder_8c_a7c3b88a6174b442587875b361d888720}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!sink\_factory@{sink\_factory}}
\index{sink\_factory@{sink\_factory}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{sink\_factory}{sink\_factory}}
{\footnotesize\ttfamily Gst\+Static\+Pad\+Template sink\+\_\+factory\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= GST\_STATIC\_PAD\_TEMPLATE (\textcolor{stringliteral}{"sink"},}
\DoxyCodeLine{    GST\_PAD\_SINK,}
\DoxyCodeLine{    GST\_PAD\_ALWAYS,}
\DoxyCodeLine{    GST\_STATIC\_CAPS (\mbox{\hyperlink{gsttensor__decoder_8c_aa2d8b0bc5c1225ba8d7f84e235c1cf0d}{CAPS\_STRING}}))}

\end{DoxyCode}


The capabilities of the inputs. 



Definition at line 94 of file gsttensor\+\_\+decoder.\+c.

\mbox{\Hypertarget{gsttensor__decoder_8c_a506c90b87594a5e6111c8b5f6ca85473}\label{gsttensor__decoder_8c_a506c90b87594a5e6111c8b5f6ca85473}} 
\index{gsttensor\_decoder.c@{gsttensor\_decoder.c}!src\_factory@{src\_factory}}
\index{src\_factory@{src\_factory}!gsttensor\_decoder.c@{gsttensor\_decoder.c}}
\doxysubsubsection{\texorpdfstring{src\_factory}{src\_factory}}
{\footnotesize\ttfamily Gst\+Static\+Pad\+Template src\+\_\+factory\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= GST\_STATIC\_PAD\_TEMPLATE (\textcolor{stringliteral}{"src"},}
\DoxyCodeLine{    GST\_PAD\_SRC,}
\DoxyCodeLine{    GST\_PAD\_ALWAYS,}
\DoxyCodeLine{    GST\_STATIC\_CAPS (\textcolor{stringliteral}{"ANY"}))}

\end{DoxyCode}


The capabilities of the outputs. 



Definition at line 102 of file gsttensor\+\_\+decoder.\+c.

