\hypertarget{tensor__filter__common_8c}{}\doxysection{nnstreamer/tensor\+\_\+filter/tensor\+\_\+filter\+\_\+common.c File Reference}
\label{tensor__filter__common_8c}\index{nnstreamer/tensor\_filter/tensor\_filter\_common.c@{nnstreamer/tensor\_filter/tensor\_filter\_common.c}}


Common functions for various tensor\+\_\+filters.  


{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$hw\+\_\+accel.\+h$>$}\newline
{\ttfamily \#include $<$ml\+\_\+agent.\+h$>$}\newline
{\ttfamily \#include $<$nnstreamer\+\_\+log.\+h$>$}\newline
{\ttfamily \#include $<$nnstreamer\+\_\+util.\+h$>$}\newline
{\ttfamily \#include \char`\"{}tensor\+\_\+filter\+\_\+common.\+h\char`\"{}}\newline
Include dependency graph for tensor\+\_\+filter\+\_\+common.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_ab76d89f54b5512b2d4c9065335694375}{silent\+\_\+debug\+\_\+info}}(i,  msg)
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_abf942293643aecec5cfa5877263b3066}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+S\+T\+A\+RT}}~\char`\"{}(\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_a48ba235dd66bc5abb5632a415d3e8126}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+P\+R\+E\+F\+IX}}~\char`\"{}(?$<$!!)\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_ad72180d0e434239bc6b473698b410942}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+S\+U\+F\+F\+IX}}~\char`\"{}\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_a7c32bb69f88cc1a987a689919b837f52}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+D\+E\+L\+I\+M\+I\+T\+ER}}~\char`\"{}$\vert$\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_a7ca082de81549df334118b51de3ca095}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+E\+ND}}~\char`\"{})?\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_aa465a1d5c8f9b2d7d26e4fb21664365d}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+S\+T\+A\+RT}}~\char`\"{}($^\wedge$(true)\mbox{[}\+:\mbox{]}?(\mbox{[}(\mbox{]}?(\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_ac6edf8cabeb0fe884bc160228d59c0c9}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+P\+R\+E\+F\+IX}}~\char`\"{}\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_a35c69c2120bb73fe314359842f8dae08}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+S\+U\+F\+F\+IX}}~\char`\"{}\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_ad54f00bab921929d871616ed89c7eada}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+D\+E\+L\+I\+M\+I\+T\+ER}}~\char`\"{}$\vert$\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_ae7872e8f1764ffdcbece9b7ee7c9e848}{R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+ND}}~\char`\"{})$\ast$\mbox{[})\mbox{]}?))\char`\"{}
\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_a66c3be4aba661538dee1614137f172f1}{g\+\_\+free\+\_\+const}}(x)~\mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free}}((void$\ast$)(long)(x))
\begin{DoxyCompactList}\small\item\em Free memory. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{tensor__filter__common_8c_a38958dfbd8fc024d5cb7e6041bf00299}{g\+\_\+strfreev\+\_\+const}}(x)~g\+\_\+strfreev((void$\ast$)(long)(x))
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static G\+Type \mbox{\hyperlink{tensor__filter__common_8c_aeaa778bba1921ffca4f76fac9f741840}{accl\+\_\+hw\+\_\+get\+\_\+type}} (void)
\begin{DoxyCompactList}\small\item\em to get and register hardware accelerator backend enum \end{DoxyCompactList}\item 
static G\+List $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_ae4010578c5a7279e6117221e2e67cd0a}{parse\+\_\+accl\+\_\+hw\+\_\+all}} (const gchar $\ast$accelerators, const gchar $\ast$$\ast$supported\+\_\+accelerators)
\begin{DoxyCompactList}\small\item\em parse user given string to extract list of accelerators based on given regex \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_ae0c24f7dc15883ba83c02476f8afa811}{\+\_\+gtfc\+\_\+setprop\+\_\+\+I\+S\+\_\+\+U\+P\+D\+A\+T\+A\+B\+LE}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+S\+\_\+\+U\+P\+D\+A\+T\+A\+B\+L\+E\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a8903d134ae8bddc1fbdaa18a95a663df}{\+\_\+gtfc\+\_\+setprop\+\_\+\+A\+C\+C\+E\+L\+E\+R\+A\+T\+OR}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+A\+C\+C\+E\+L\+E\+R\+A\+T\+O\+R\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
\mbox{\hyperlink{tensor__filter__common_8c_af2d1b7fec9978e0ee47d6c45ddeee307}{G\+\_\+\+L\+O\+C\+K\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+S\+T\+A\+T\+IC}} (\mbox{\hyperlink{tensor__filter__common_8c_a386c739d4b1cb36a2a082cc654a789de}{shared\+\_\+model\+\_\+table}})
\begin{DoxyCompactList}\small\item\em mutex for shared model table. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_a69c8f7133893478ebf97582d4ffc2386}{gst\+\_\+tensors\+\_\+layout\+\_\+init}} (\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a8ec299bf9d0c0d0598e05e03cc482ea1}{tensors\+\_\+layout}} layout)
\begin{DoxyCompactList}\small\item\em Initialize the tensors layout. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_a4348bbfeefb873e250c0db1192384df0}{gst\+\_\+tensors\+\_\+rank\+\_\+init}} (unsigned int ranks\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Initialize the tensors ranks. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{tensor__typedef_8h_abaf80ca39942c6a0b8ab019fb97c0716}{tensor\+\_\+layout}} \mbox{\hyperlink{tensor__filter__common_8c_a8b96d8c929b612716717f9339029466e}{gst\+\_\+tensor\+\_\+parse\+\_\+layout\+\_\+string}} (const gchar $\ast$layoutstr)
\begin{DoxyCompactList}\small\item\em Get tensor layout from string input. \end{DoxyCompactList}\item 
static guint \mbox{\hyperlink{tensor__filter__common_8c_a45ab9361c21c50bf5565f461a0b60579}{gst\+\_\+tensors\+\_\+parse\+\_\+layouts\+\_\+string}} (\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a8ec299bf9d0c0d0598e05e03cc482ea1}{tensors\+\_\+layout}} layout, const gchar $\ast$layout\+\_\+string)
\begin{DoxyCompactList}\small\item\em Parse the string of tensor layouts. \end{DoxyCompactList}\item 
static gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_ad9b0a857aa23331c934391eccb31c3c7}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+rank\+\_\+string}} (const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, gboolean is\+Input)
\begin{DoxyCompactList}\small\item\em Get the rank string of the tensors. \end{DoxyCompactList}\item 
static gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_ae355e19b1fc4ec2ec7abe7e67cc2c3cb}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+dimension\+\_\+string}} (const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const gboolean is\+Input)
\begin{DoxyCompactList}\small\item\em Get the dimension string of tensors considering rank count. \end{DoxyCompactList}\item 
static gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_aaca78212b55b0aabe782ca646e7fd9a8}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+type\+\_\+string}} (const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const gboolean is\+\_\+input)
\begin{DoxyCompactList}\small\item\em Get the type string of tensors. \end{DoxyCompactList}\item 
static gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_ab46d1b2482d46fa6c675f3572b62f8d0}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+name\+\_\+string}} (const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const gboolean is\+\_\+input)
\begin{DoxyCompactList}\small\item\em Get the name string of tensors. \end{DoxyCompactList}\item 
static const gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a3c960cbd6a40da216e55636153091ff6}{gst\+\_\+tensor\+\_\+get\+\_\+layout\+\_\+string}} (\mbox{\hyperlink{tensor__typedef_8h_abaf80ca39942c6a0b8ab019fb97c0716}{tensor\+\_\+layout}} layout)
\begin{DoxyCompactList}\small\item\em Get layout string of tensor layout. \end{DoxyCompactList}\item 
static gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a7369c2ccaea80fc656dec94b3be64bea}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+layout\+\_\+string}} (const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const gboolean is\+\_\+input)
\begin{DoxyCompactList}\small\item\em Get the string of layout of tensors. \end{DoxyCompactList}\item 
static gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_ab24d1c8e37e17f077baf611d77c179ba}{strcpy2}} (gchar $\ast$dest, const gchar $\ast$src)
\begin{DoxyCompactList}\small\item\em copy the string from src to destination \end{DoxyCompactList}\item 
static gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a124a5090853a094773616295e7e90678}{create\+\_\+regex}} (const gchar $\ast$$\ast$enum\+\_\+list, const gchar $\ast$$\ast$regex\+\_\+utils)
\begin{DoxyCompactList}\small\item\em create regex for the given string list and regex basic elements \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{tensor__filter__common_8c_a09353c9276d2c80637da7a89ba860da1}{verify\+\_\+model\+\_\+path}} (const \mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv)
\begin{DoxyCompactList}\small\item\em Verify validity of path for given model file if verify\+\_\+model\+\_\+path is set. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_a800ca966af013b51c00253e618477e13}{gst\+\_\+tensor\+\_\+filter\+\_\+properties\+\_\+init}} (\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}})
\begin{DoxyCompactList}\small\item\em Initialize the Gst\+Tensor\+Filter\+Properties object. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_aa4ab3af4ed7582c148fad8b9e3c2f17a}{gst\+\_\+tensor\+\_\+filter\+\_\+framework\+\_\+info\+\_\+init}} (\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a19a20fba4bcd858e99568b0a7f20df69}{Gst\+Tensor\+Filter\+Framework\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Initialize the Gst\+Tensor\+Filter\+Framework\+Info object. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_aa8d471df04bce30bc34596eed135b413}{gst\+\_\+tensor\+\_\+filter\+\_\+statistics\+\_\+init}} (\mbox{\hyperlink{tensor__filter__common_8h_af934f2ae222eabba5f7f5ae7448a307d}{Gst\+Tensor\+Filter\+Statistics}} $\ast$stat)
\begin{DoxyCompactList}\small\item\em Initialize the Gst\+Tensor\+Filter\+Framework\+Info object. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{tensor__filter__common_8c_afb209dbeb74388370cdc6da43989a2a6}{nnstreamer\+\_\+filter\+\_\+validate}} (const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a2aed82bb2c62b38fba28759423860e0c}{Gst\+Tensor\+Filter\+Framework}} $\ast$tfsp)
\begin{DoxyCompactList}\small\item\em Validate filter sub-\/plugin\textquotesingle{}s data. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{tensor__filter__common_8c_a5417c816d4c9dd6f526239e66d1d95d5}{nnstreamer\+\_\+filter\+\_\+probe}} (\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a2aed82bb2c62b38fba28759423860e0c}{Gst\+Tensor\+Filter\+Framework}} $\ast$tfsp)
\begin{DoxyCompactList}\small\item\em Filter\textquotesingle{}s sub-\/plugin should call this function to register itself. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a96433e7efd054be7c80c169eebf0d2d1}{nnstreamer\+\_\+filter\+\_\+exit}} (const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Filter\textquotesingle{}s sub-\/plugin may call this to unregister itself. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_ae735c6ecddc18e77ca8d396645a10187}{nnstreamer\+\_\+filter\+\_\+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 filter sub-\/plugin \end{DoxyCompactList}\item 
static const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a2aed82bb2c62b38fba28759423860e0c}{Gst\+Tensor\+Filter\+Framework}} $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a4190475e9103b874ec1499ccedd87781}{nnstreamer\+\_\+filter\+\_\+find\+\_\+best\+\_\+fit}} (const char $\ast$names)
\begin{DoxyCompactList}\small\item\em Find sub-\/plugin filter given the name list. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a2aed82bb2c62b38fba28759423860e0c}{Gst\+Tensor\+Filter\+Framework}} $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a5bff843e6dbca38f7784a5ba1412b69a}{nnstreamer\+\_\+filter\+\_\+find}} (const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Find filter sub-\/plugin with the name. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_aa0f54783cb3003eb5d15d55c325f550f}{gst\+\_\+tensor\+\_\+filter\+\_\+parse\+\_\+modelpaths\+\_\+string}} (\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const gchar $\ast$model\+\_\+files)
\begin{DoxyCompactList}\small\item\em Parse the string of model. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{tensor__filter__common_8c_ae463edde2d8de2557bc4dd93a00e46b9}{gst\+\_\+tensor\+\_\+filter\+\_\+allocate\+\_\+in\+\_\+invoke}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv)
\begin{DoxyCompactList}\small\item\em check if the allocate\+\_\+in\+\_\+invoke is valid for the framework \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a5963018d1cc95ce8d39bd010a3230bee}{gst\+\_\+tensor\+\_\+filter\+\_\+destroy\+\_\+notify\+\_\+util}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, void $\ast$\mbox{\hyperlink{gsttensor__if_8c_a3c9cc8d6e8da85fef51da4c7115b97f6}{data}})
\begin{DoxyCompactList}\small\item\em Free the data allocated for tensor filter output. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a7546c0626c915447c2a28b389b4f4c8b}{gst\+\_\+tensorsinfo\+\_\+compare\+\_\+to\+\_\+string}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info1, const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info2)
\begin{DoxyCompactList}\small\item\em Printout the comparison results of two tensors as a string. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a9cb7fec0b5cde35464bdb2e5b1671213}{gst\+\_\+tensorsinfo\+\_\+compare\+\_\+print}} (const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info1, const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$info2)
\begin{DoxyCompactList}\small\item\em Printout the comparison results of two tensors. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a380a8ecb48d3a59e59b4528a0db15e3c}{gst\+\_\+tensor\+\_\+filter\+\_\+install\+\_\+properties}} (G\+Object\+Class $\ast$gobject\+\_\+class)
\begin{DoxyCompactList}\small\item\em Installs all the properties for tensor\+\_\+filter. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a91b037c10bd1a2b9a47318080821ebf1}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+init\+\_\+property}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv)
\begin{DoxyCompactList}\small\item\em Initialize the properties for tensor-\/filter. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_ac81c9ffa69f462210b8aeba5cedeafa5}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+free\+\_\+property}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv)
\begin{DoxyCompactList}\small\item\em Free the properties for tensor-\/filter. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_a3e3098ffc7d3eec79b7b12249e25b833}{gst\+\_\+tensor\+\_\+filter\+\_\+parse\+\_\+accelerator}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const char $\ast$accelerators)
\begin{DoxyCompactList}\small\item\em Parse the hardware accelerators to be used for this framework. \end{DoxyCompactList}\item 
static gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a947053d75e7abb60bd9447451f546779}{\+\_\+detect\+\_\+framework\+\_\+from\+\_\+config}} (const gchar $\ast$extension)
\begin{DoxyCompactList}\small\item\em Get available framework from config. \end{DoxyCompactList}\item 
gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a52ed536a0097da1ad36e7ba269c1c0f4}{gst\+\_\+tensor\+\_\+filter\+\_\+detect\+\_\+framework}} (const gchar $\ast$const $\ast$model\+\_\+files, const guint num\+\_\+models, const gboolean load\+\_\+conf)
\begin{DoxyCompactList}\small\item\em Get neural network framework name from given model file. This does not guarantee the framework is available on the target device. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_a7febf1ebdad7e3d658fc495bc98c2348}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+available\+\_\+framework}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const char $\ast$fw\+\_\+name)
\begin{DoxyCompactList}\small\item\em automatically selecting framework for tensor filter \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a72aeaefedab718013811c2392c84b82c}{\+\_\+gtfc\+\_\+setprop\+\_\+\+F\+R\+A\+M\+E\+W\+O\+RK}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+F\+R\+A\+M\+E\+W\+O\+R\+K\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_ab37ef7b45755e7092e6216c7b4ade92f}{\+\_\+gtfc\+\_\+setprop\+\_\+\+M\+O\+D\+EL}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+L\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_aacfe67be177f975b5caef8aa3c04e431}{\+\_\+gtfc\+\_\+setprop\+\_\+\+D\+I\+M\+E\+N\+S\+I\+ON}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const G\+Value $\ast$value, const gboolean is\+\_\+input)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\char`\"{} and \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a5e37c9cefa344b4bdd50db1ebb924c0e}{\+\_\+gtfc\+\_\+setprop\+\_\+\+T\+Y\+PE}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const G\+Value $\ast$value, const gboolean is\+\_\+input)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\+T\+Y\+P\+E\char`\"{} and \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\+T\+Y\+P\+E\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_af19b7a0f01bdce97eb715b00c5f5c212}{\+\_\+gtfc\+\_\+setprop\+\_\+\+N\+A\+ME}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const G\+Value $\ast$value, const gboolean is\+\_\+input)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\+N\+A\+M\+E\char`\"{} and \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\+N\+A\+M\+E\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_abe5123fe704af43c09fc9e911f348470}{\+\_\+gtfc\+\_\+setprop\+\_\+\+C\+U\+S\+T\+OM}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+C\+U\+S\+T\+O\+M\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_afa8826dc1a8b4f8441f3007bc3321053}{\+\_\+gtfc\+\_\+setprop\+\_\+\+L\+A\+Y\+O\+UT}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const G\+Value $\ast$value, const gboolean is\+\_\+input)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\+L\+A\+Y\+O\+U\+T\char`\"{} and \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\+L\+A\+Y\+O\+U\+T\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a1b10032698b1efd7a63eab7cafdf1627}{\+\_\+gtfc\+\_\+setprop\+\_\+\+L\+A\+T\+E\+N\+CY}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+L\+A\+T\+E\+N\+C\+Y\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_ab7f1b60884c627259ce536eafebdcb47}{\+\_\+gtfc\+\_\+setprop\+\_\+\+T\+H\+R\+O\+U\+G\+H\+P\+UT}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+T\+H\+R\+O\+U\+G\+H\+P\+U\+T\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a6200e96776c4a1e0ecc1d60eab894282}{\+\_\+gtfc\+\_\+setprop\+\_\+\+I\+N\+P\+U\+T\+C\+O\+M\+B\+I\+N\+A\+T\+I\+ON}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, G\+List $\ast$$\ast$prop\+\_\+list, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\+C\+O\+M\+B\+I\+N\+A\+T\+I\+O\+N\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a00914422b097ed3f060e0133a8fd9ddd}{\+\_\+gtfc\+\_\+setprop\+\_\+\+O\+U\+T\+P\+U\+T\+C\+O\+M\+B\+I\+N\+A\+T\+I\+ON}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, G\+List $\ast$$\ast$prop\+\_\+list1, G\+List $\ast$$\ast$prop\+\_\+list2, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\+C\+O\+M\+B\+I\+N\+A\+T\+I\+O\+N\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a479a715dee62f323535e727688ef82a8}{\+\_\+gtfc\+\_\+setprop\+\_\+\+S\+H\+A\+R\+E\+D\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+K\+EY}} (\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+S\+H\+A\+R\+E\+D\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+K\+E\+Y\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a6f6064097ebec74a4bc7fbadfcccd1eb}{\+\_\+gtfc\+\_\+setprop\+\_\+\+P\+R\+O\+P\+\_\+\+I\+N\+V\+O\+K\+E\+\_\+\+D\+Y\+N\+A\+M\+IC}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+V\+O\+K\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a0051302515721faaae3fdab4c1f8d7b7}{\+\_\+gtfc\+\_\+setprop\+\_\+\+S\+U\+S\+P\+E\+ND}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const G\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+S\+U\+S\+P\+E\+N\+D\char`\"{} for set-\/property. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{tensor__filter__common_8c_a091ca5470935b46e3d6b15462b640745}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+set\+\_\+property}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, guint prop\+\_\+id, const G\+Value $\ast$value, G\+Param\+Spec $\ast$pspec)
\begin{DoxyCompactList}\small\item\em Set the properties for tensor\+\_\+filter. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{tensor__filter__common_8c_a785c53e0cffc9df5bd144466fecc5512}{gst\+\_\+tensor\+\_\+filter\+\_\+property\+\_\+to\+\_\+string}} (G\+Value $\ast$value, \mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, guint prop\+\_\+id)
\begin{DoxyCompactList}\small\item\em Convert G\+List to G\+Value. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{tensor__filter__common_8c_ada99bb68a4bd60d8831f7f92dd04bb15}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+get\+\_\+property}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, guint prop\+\_\+id, G\+Value $\ast$value, G\+Param\+Spec $\ast$pspec)
\begin{DoxyCompactList}\small\item\em Get the properties for tensor\+\_\+filter. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{tensor__filter__common_8c_aad28ca0ccdd6f33acba5b288676f4890}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+get\+\_\+combined\+\_\+in\+\_\+info}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$in, \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$combined)
\begin{DoxyCompactList}\small\item\em Configure input tensor info with combi option. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{tensor__filter__common_8c_af4d383ef16abafbd4a1a421fc7094526}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+get\+\_\+combined\+\_\+out\+\_\+info}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$in, const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$out, \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$combined)
\begin{DoxyCompactList}\small\item\em Configure output tensor info with combi option. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{tensor__filter__common_8c_a006b8093131f3405e2cccd1f55974ae5}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+get\+\_\+out\+\_\+info}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv, \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$in, \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$out)
\begin{DoxyCompactList}\small\item\em Get output tensor info from NN model with given input info. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_ad0614c7b4e0cb0f49f08b026a9aa99fb}{gst\+\_\+tensor\+\_\+filter\+\_\+load\+\_\+tensor\+\_\+info}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv)
\begin{DoxyCompactList}\small\item\em Load tensor info from NN model. (both input and output tensor) \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a7ca8a0c3f17293e7ef4ee8d40565c6bb}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+open\+\_\+fw}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv)
\begin{DoxyCompactList}\small\item\em Open NN framework. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a77f1f3f728915245856c3cf22f820737}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+unload\+\_\+fw}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv)
\begin{DoxyCompactList}\small\item\em Unload NN framework. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a775c6db417d8af58ac0ca08f6352eaa7}{gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+close\+\_\+fw}} (\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$priv)
\begin{DoxyCompactList}\small\item\em Close NN framework. \end{DoxyCompactList}\item 
\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}} \mbox{\hyperlink{tensor__filter__common_8c_a2b048b904d4154db3740e85f6229de73}{get\+\_\+accl\+\_\+hw\+\_\+type}} (const gchar $\ast$key)
\begin{DoxyCompactList}\small\item\em return accl\+\_\+hw type from string \end{DoxyCompactList}\item 
const gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a24c52610d5caff3e9703d7e1a5c71e6d}{get\+\_\+accl\+\_\+hw\+\_\+str}} (const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}} key)
\begin{DoxyCompactList}\small\item\em return string based on accl\+\_\+hw type \end{DoxyCompactList}\item 
static const gchar $\ast$$\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a7acd7ef493d5d5a54a2e157ebbf983e6}{add\+\_\+basic\+\_\+supported\+\_\+accelerators}} (const gchar $\ast$$\ast$supported\+\_\+accelerators)
\begin{DoxyCompactList}\small\item\em Added basic accelerators (auto, default) to supported accelerators. \end{DoxyCompactList}\item 
static const gchar $\ast$$\ast$ \mbox{\hyperlink{tensor__filter__common_8c_aab87bc1f29f619b04f7e1342e8e1c675}{filter\+\_\+supported\+\_\+accelerators}} (const gchar $\ast$$\ast$supported\+\_\+accelerators)
\begin{DoxyCompactList}\small\item\em Filter accelerators based on the runtime system. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}} \mbox{\hyperlink{tensor__filter__common_8c_a93cc7b227556e576ec3244ec250dbb82}{parse\+\_\+accl\+\_\+hw\+\_\+util}} (const gchar $\ast$accelerators, const gchar $\ast$$\ast$supported\+\_\+accelerators, const gchar $\ast$auto\+\_\+accelerator, const gchar $\ast$default\+\_\+accelerator)
\begin{DoxyCompactList}\small\item\em parse user given string to extract accelerator based on given regex \end{DoxyCompactList}\item 
static gint \mbox{\hyperlink{tensor__filter__common_8c_a9c3d0133a46d9ab86e9e2f60d9ed70c8}{runtime\+\_\+check\+\_\+supported\+\_\+accelerator}} (const gchar $\ast$accl)
\begin{DoxyCompactList}\small\item\em Check if this accelerator can be used based on the runtime system. \end{DoxyCompactList}\item 
\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}} \mbox{\hyperlink{tensor__filter__common_8c_a7b23c24f2974bb92ccb346b9ca38ac18}{parse\+\_\+accl\+\_\+hw\+\_\+fill}} (\mbox{\hyperlink{structparse__accl__args}{parse\+\_\+accl\+\_\+args}} accl\+\_\+args)
\begin{DoxyCompactList}\small\item\em parse user given string to extract accelerator based on given regex filling in optional arguments \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{tensor__filter__common_8c_abd17b98aee63a6d95af4078e94db4054}{gst\+\_\+tensor\+\_\+filter\+\_\+check\+\_\+hw\+\_\+availability}} (const gchar $\ast$name, const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}} hw, const char $\ast$custom)
\begin{DoxyCompactList}\small\item\em Check if the given hw is supported by the framework. \end{DoxyCompactList}\item 
void $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a4356a7d26206ff838386bf24c0b3f79d}{nnstreamer\+\_\+filter\+\_\+shared\+\_\+model\+\_\+get}} (void $\ast$instance, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Get the shared model representation that is already shared and has the same key. \end{DoxyCompactList}\item 
void $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a017e6c75d5b4192d07f39055e95ea877}{nnstreamer\+\_\+filter\+\_\+shared\+\_\+model\+\_\+insert\+\_\+and\+\_\+get}} (void $\ast$instance, char $\ast$key, void $\ast$interpreter)
\begin{DoxyCompactList}\small\item\em Insert the new shared model representation and get the value. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{tensor__filter__common_8c_a5c43a0760c03a62a61998908cae04a98}{nnstreamer\+\_\+filter\+\_\+shared\+\_\+model\+\_\+remove}} (void $\ast$instance, const char $\ast$key, void($\ast$free\+\_\+callback)(void $\ast$))
\begin{DoxyCompactList}\small\item\em Remove the instance registered at the referred list of shared model table. If referred list is empty, {\ttfamily free\+\_\+callback} is executed. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{tensor__filter__common_8c_a9ffddc0580bc6813e5a714ad90b57b0b}{nnstreamer\+\_\+filter\+\_\+shared\+\_\+model\+\_\+replace}} (void $\ast$instance, const char $\ast$key, void $\ast$new\+\_\+interpreter, void($\ast$replace\+\_\+callback)(void $\ast$, void $\ast$), void($\ast$free\+\_\+callback)(void $\ast$))
\begin{DoxyCompactList}\small\item\em Helper to reload interpreter for instances that has shared key. {\ttfamily replace\+\_\+callback} is called iterating instances in referred list. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_ab23e2064ab4656fdd69ec9f34b229cde}{regex\+\_\+accl\+\_\+utils}} \mbox{[}$\,$\mbox{]}
\item 
static const gchar $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a234091c111c3053b594b2823ca9faf1e}{regex\+\_\+accl\+\_\+elem\+\_\+utils}} \mbox{[}$\,$\mbox{]}
\item 
static G\+Hash\+Table $\ast$ \mbox{\hyperlink{tensor__filter__common_8c_a386c739d4b1cb36a2a082cc654a789de}{shared\+\_\+model\+\_\+table}} = N\+U\+LL
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Common functions for various tensor\+\_\+filters. 

Copyright (C) 2019 Parichay Kapoor \href{mailto:pk.kapoor@samsung.com}{\texttt{ pk.\+kapoor@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}
28 Aug 2019 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{http://github.com/nnstreamer/nnstreamer}{\texttt{ http\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Parichay Kapoor \href{mailto:pk.kapoor@samsung.com}{\texttt{ pk.\+kapoor@samsung.\+com}} 

Myung\+Joo Ham \href{mailto:myungjoo.ham@samsung.com}{\texttt{ myungjoo.\+ham@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000105}{Bug}}]No known bugs except for N\+YI items\end{DoxyRefDesc}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{tensor__filter__common_8c_a66c3be4aba661538dee1614137f172f1}\label{tensor__filter__common_8c_a66c3be4aba661538dee1614137f172f1}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!g\_free\_const@{g\_free\_const}}
\index{g\_free\_const@{g\_free\_const}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{g\_free\_const}{g\_free\_const}}
{\footnotesize\ttfamily \#define g\+\_\+free\+\_\+const(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~\mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free}}((void$\ast$)(long)(x))}



Free memory. 



Definition at line 87 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a38958dfbd8fc024d5cb7e6041bf00299}\label{tensor__filter__common_8c_a38958dfbd8fc024d5cb7e6041bf00299}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!g\_strfreev\_const@{g\_strfreev\_const}}
\index{g\_strfreev\_const@{g\_strfreev\_const}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{g\_strfreev\_const}{g\_strfreev\_const}}
{\footnotesize\ttfamily \#define g\+\_\+strfreev\+\_\+const(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~g\+\_\+strfreev((void$\ast$)(long)(x))}



Definition at line 88 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_ad54f00bab921929d871616ed89c7eada}\label{tensor__filter__common_8c_ad54f00bab921929d871616ed89c7eada}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_DELIMITER@{REGEX\_ACCL\_DELIMITER}}
\index{REGEX\_ACCL\_DELIMITER@{REGEX\_ACCL\_DELIMITER}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_DELIMITER}{REGEX\_ACCL\_DELIMITER}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+D\+E\+L\+I\+M\+I\+T\+ER~\char`\"{}$\vert$\char`\"{}}



Definition at line 63 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a7c32bb69f88cc1a987a689919b837f52}\label{tensor__filter__common_8c_a7c32bb69f88cc1a987a689919b837f52}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_ELEM\_DELIMITER@{REGEX\_ACCL\_ELEM\_DELIMITER}}
\index{REGEX\_ACCL\_ELEM\_DELIMITER@{REGEX\_ACCL\_ELEM\_DELIMITER}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_ELEM\_DELIMITER}{REGEX\_ACCL\_ELEM\_DELIMITER}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+D\+E\+L\+I\+M\+I\+T\+ER~\char`\"{}$\vert$\char`\"{}}



Definition at line 57 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a7ca082de81549df334118b51de3ca095}\label{tensor__filter__common_8c_a7ca082de81549df334118b51de3ca095}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_ELEM\_END@{REGEX\_ACCL\_ELEM\_END}}
\index{REGEX\_ACCL\_ELEM\_END@{REGEX\_ACCL\_ELEM\_END}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_ELEM\_END}{REGEX\_ACCL\_ELEM\_END}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+E\+ND~\char`\"{})?\char`\"{}}



Definition at line 58 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a48ba235dd66bc5abb5632a415d3e8126}\label{tensor__filter__common_8c_a48ba235dd66bc5abb5632a415d3e8126}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_ELEM\_PREFIX@{REGEX\_ACCL\_ELEM\_PREFIX}}
\index{REGEX\_ACCL\_ELEM\_PREFIX@{REGEX\_ACCL\_ELEM\_PREFIX}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_ELEM\_PREFIX}{REGEX\_ACCL\_ELEM\_PREFIX}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+P\+R\+E\+F\+IX~\char`\"{}(?$<$!!)\char`\"{}}



Definition at line 55 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_abf942293643aecec5cfa5877263b3066}\label{tensor__filter__common_8c_abf942293643aecec5cfa5877263b3066}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_ELEM\_START@{REGEX\_ACCL\_ELEM\_START}}
\index{REGEX\_ACCL\_ELEM\_START@{REGEX\_ACCL\_ELEM\_START}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_ELEM\_START}{REGEX\_ACCL\_ELEM\_START}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+S\+T\+A\+RT~\char`\"{}(\char`\"{}}

Basic elements to form accelerator regex forming 

Definition at line 54 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_ad72180d0e434239bc6b473698b410942}\label{tensor__filter__common_8c_ad72180d0e434239bc6b473698b410942}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_ELEM\_SUFFIX@{REGEX\_ACCL\_ELEM\_SUFFIX}}
\index{REGEX\_ACCL\_ELEM\_SUFFIX@{REGEX\_ACCL\_ELEM\_SUFFIX}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_ELEM\_SUFFIX}{REGEX\_ACCL\_ELEM\_SUFFIX}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+L\+E\+M\+\_\+\+S\+U\+F\+F\+IX~\char`\"{}\char`\"{}}



Definition at line 56 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_ae7872e8f1764ffdcbece9b7ee7c9e848}\label{tensor__filter__common_8c_ae7872e8f1764ffdcbece9b7ee7c9e848}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_END@{REGEX\_ACCL\_END}}
\index{REGEX\_ACCL\_END@{REGEX\_ACCL\_END}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_END}{REGEX\_ACCL\_END}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+E\+ND~\char`\"{})$\ast$\mbox{[})\mbox{]}?))\char`\"{}}



Definition at line 64 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_ac6edf8cabeb0fe884bc160228d59c0c9}\label{tensor__filter__common_8c_ac6edf8cabeb0fe884bc160228d59c0c9}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_PREFIX@{REGEX\_ACCL\_PREFIX}}
\index{REGEX\_ACCL\_PREFIX@{REGEX\_ACCL\_PREFIX}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_PREFIX}{REGEX\_ACCL\_PREFIX}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+P\+R\+E\+F\+IX~\char`\"{}\char`\"{}}



Definition at line 61 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_aa465a1d5c8f9b2d7d26e4fb21664365d}\label{tensor__filter__common_8c_aa465a1d5c8f9b2d7d26e4fb21664365d}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_START@{REGEX\_ACCL\_START}}
\index{REGEX\_ACCL\_START@{REGEX\_ACCL\_START}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_START}{REGEX\_ACCL\_START}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+S\+T\+A\+RT~\char`\"{}($^\wedge$(true)\mbox{[}\+:\mbox{]}?(\mbox{[}(\mbox{]}?(\char`\"{}}



Definition at line 60 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a35c69c2120bb73fe314359842f8dae08}\label{tensor__filter__common_8c_a35c69c2120bb73fe314359842f8dae08}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!REGEX\_ACCL\_SUFFIX@{REGEX\_ACCL\_SUFFIX}}
\index{REGEX\_ACCL\_SUFFIX@{REGEX\_ACCL\_SUFFIX}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{REGEX\_ACCL\_SUFFIX}{REGEX\_ACCL\_SUFFIX}}
{\footnotesize\ttfamily \#define R\+E\+G\+E\+X\+\_\+\+A\+C\+C\+L\+\_\+\+S\+U\+F\+F\+IX~\char`\"{}\char`\"{}}



Definition at line 62 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_ab76d89f54b5512b2d4c9065335694375}\label{tensor__filter__common_8c_ab76d89f54b5512b2d4c9065335694375}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!silent\_debug\_info@{silent\_debug\_info}}
\index{silent\_debug\_info@{silent\_debug\_info}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{silent\_debug\_info}{silent\_debug\_info}}
{\footnotesize\ttfamily \#define silent\+\_\+debug\+\_\+info(\begin{DoxyParamCaption}\item[{}]{i,  }\item[{}]{msg }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  \textcolor{keywordflow}{do} \{ \(\backslash\)}
\DoxyCodeLine{  if (\mbox{\hyperlink{gsttensor__aggregator_8c_a49606be7356624568932ec81c0d429f4}{DBG}}) \{ \(\backslash\)}
\DoxyCodeLine{    guint info\_idx; \(\backslash\)}
\DoxyCodeLine{    gchar *dim\_str; \(\backslash\)}
\DoxyCodeLine{    ml\_logd (msg \textcolor{stringliteral}{" total \%d"}, (i)-\/>num\_tensors); \(\backslash\)}
\DoxyCodeLine{    for (info\_idx = 0; info\_idx < (i)-\/>num\_tensors; info\_idx++) \{ \(\backslash\)}
\DoxyCodeLine{      GstTensorInfo *nth = \mbox{\hyperlink{nnstreamer__plugin__api__util_8h_a52a1eaa0e9d345a6af1d46b8d0787ef0}{gst\_tensors\_info\_get\_nth\_info}} (i, info\_idx); \(\backslash\)}
\DoxyCodeLine{      if (nth) \{ \(\backslash\)}
\DoxyCodeLine{        dim\_str = \mbox{\hyperlink{nnstreamer__plugin__api__util_8h_a644009058b44fe850c2645f51167d701}{gst\_tensor\_get\_dimension\_string}} (nth-\/>dimension); \(\backslash\)}
\DoxyCodeLine{        ml\_logd (\textcolor{stringliteral}{"[\%d] type=\%d dim=\%s"}, info\_idx, nth-\/>type, dim\_str); \(\backslash\)}
\DoxyCodeLine{        g\_free (dim\_str); \(\backslash\)}
\DoxyCodeLine{      \} \(\backslash\)}
\DoxyCodeLine{    \} \(\backslash\)}
\DoxyCodeLine{  \} \(\backslash\)}
\DoxyCodeLine{\} \textcolor{keywordflow}{while} (0)}

\end{DoxyCode}


Definition at line 35 of file tensor\+\_\+filter\+\_\+common.\+c.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{tensor__filter__common_8c_a947053d75e7abb60bd9447451f546779}\label{tensor__filter__common_8c_a947053d75e7abb60bd9447451f546779}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_detect\_framework\_from\_config@{\_detect\_framework\_from\_config}}
\index{\_detect\_framework\_from\_config@{\_detect\_framework\_from\_config}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_detect\_framework\_from\_config()}{\_detect\_framework\_from\_config()}}
{\footnotesize\ttfamily static gchar$\ast$ \+\_\+detect\+\_\+framework\+\_\+from\+\_\+config (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{extension }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get available framework from config. 

key str\+: framework\+\_\+priority\+\_\+$<$file ext$>$ (e.\+g., for tensorflow-\/lite model, model\+\_\+file.\+tflite, key str is \textquotesingle{}framework\+\_\+priority\+\_\+tflite\textquotesingle{}.

Definition at line 1185 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a947053d75e7abb60bd9447451f546779_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a947053d75e7abb60bd9447451f546779_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a8903d134ae8bddc1fbdaa18a95a663df}\label{tensor__filter__common_8c_a8903d134ae8bddc1fbdaa18a95a663df}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_ACCELERATOR@{\_gtfc\_setprop\_ACCELERATOR}}
\index{\_gtfc\_setprop\_ACCELERATOR@{\_gtfc\_setprop\_ACCELERATOR}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_ACCELERATOR()}{\_gtfc\_setprop\_ACCELERATOR()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+A\+C\+C\+E\+L\+E\+R\+A\+T\+OR (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+A\+C\+C\+E\+L\+E\+R\+A\+T\+O\+R\char`\"{} for set-\/property. 



Definition at line 1658 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a8903d134ae8bddc1fbdaa18a95a663df_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a8903d134ae8bddc1fbdaa18a95a663df_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_abe5123fe704af43c09fc9e911f348470}\label{tensor__filter__common_8c_abe5123fe704af43c09fc9e911f348470}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_CUSTOM@{\_gtfc\_setprop\_CUSTOM}}
\index{\_gtfc\_setprop\_CUSTOM@{\_gtfc\_setprop\_CUSTOM}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_CUSTOM()}{\_gtfc\_setprop\_CUSTOM()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+C\+U\+S\+T\+OM (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+C\+U\+S\+T\+O\+M\char`\"{} for set-\/property. 



Definition at line 1627 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_abe5123fe704af43c09fc9e911f348470_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_aacfe67be177f975b5caef8aa3c04e431}\label{tensor__filter__common_8c_aacfe67be177f975b5caef8aa3c04e431}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_DIMENSION@{\_gtfc\_setprop\_DIMENSION}}
\index{\_gtfc\_setprop\_DIMENSION@{\_gtfc\_setprop\_DIMENSION}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_DIMENSION()}{\_gtfc\_setprop\_DIMENSION()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+D\+I\+M\+E\+N\+S\+I\+ON (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const G\+Value $\ast$}]{value,  }\item[{const gboolean}]{is\+\_\+input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\char`\"{} and \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\char`\"{} for set-\/property. 

Once configured, it cannot be changed in runtime for now

Definition at line 1490 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aacfe67be177f975b5caef8aa3c04e431_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aacfe67be177f975b5caef8aa3c04e431_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a72aeaefedab718013811c2392c84b82c}\label{tensor__filter__common_8c_a72aeaefedab718013811c2392c84b82c}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_FRAMEWORK@{\_gtfc\_setprop\_FRAMEWORK}}
\index{\_gtfc\_setprop\_FRAMEWORK@{\_gtfc\_setprop\_FRAMEWORK}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_FRAMEWORK()}{\_gtfc\_setprop\_FRAMEWORK()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+F\+R\+A\+M\+E\+W\+O\+RK (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+F\+R\+A\+M\+E\+W\+O\+R\+K\char`\"{} for set-\/property. 

set P\+R\+O\+P\+\_\+\+I\+S\+\_\+\+U\+P\+D\+A\+T\+A\+B\+LE in case it was set before framework

set P\+R\+O\+P\+\_\+\+A\+C\+C\+E\+L\+E\+R\+A\+T\+OR in case it was set before framework

Definition at line 1381 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a72aeaefedab718013811c2392c84b82c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a72aeaefedab718013811c2392c84b82c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a6200e96776c4a1e0ecc1d60eab894282}\label{tensor__filter__common_8c_a6200e96776c4a1e0ecc1d60eab894282}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_INPUTCOMBINATION@{\_gtfc\_setprop\_INPUTCOMBINATION}}
\index{\_gtfc\_setprop\_INPUTCOMBINATION@{\_gtfc\_setprop\_INPUTCOMBINATION}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_INPUTCOMBINATION()}{\_gtfc\_setprop\_INPUTCOMBINATION()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+I\+N\+P\+U\+T\+C\+O\+M\+B\+I\+N\+A\+T\+I\+ON (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{G\+List $\ast$$\ast$}]{prop\+\_\+list,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\+C\+O\+M\+B\+I\+N\+A\+T\+I\+O\+N\char`\"{} for set-\/property. 



Definition at line 1843 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a6200e96776c4a1e0ecc1d60eab894282_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ae0c24f7dc15883ba83c02476f8afa811}\label{tensor__filter__common_8c_ae0c24f7dc15883ba83c02476f8afa811}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_IS\_UPDATABLE@{\_gtfc\_setprop\_IS\_UPDATABLE}}
\index{\_gtfc\_setprop\_IS\_UPDATABLE@{\_gtfc\_setprop\_IS\_UPDATABLE}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_IS\_UPDATABLE()}{\_gtfc\_setprop\_IS\_UPDATABLE()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+I\+S\+\_\+\+U\+P\+D\+A\+T\+A\+B\+LE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+S\+\_\+\+U\+P\+D\+A\+T\+A\+B\+L\+E\char`\"{} for set-\/property. 



Definition at line 1710 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ae0c24f7dc15883ba83c02476f8afa811_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a1b10032698b1efd7a63eab7cafdf1627}\label{tensor__filter__common_8c_a1b10032698b1efd7a63eab7cafdf1627}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_LATENCY@{\_gtfc\_setprop\_LATENCY}}
\index{\_gtfc\_setprop\_LATENCY@{\_gtfc\_setprop\_LATENCY}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_LATENCY()}{\_gtfc\_setprop\_LATENCY()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+L\+A\+T\+E\+N\+CY (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+L\+A\+T\+E\+N\+C\+Y\char`\"{} for set-\/property. 



Definition at line 1799 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a1b10032698b1efd7a63eab7cafdf1627_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_afa8826dc1a8b4f8441f3007bc3321053}\label{tensor__filter__common_8c_afa8826dc1a8b4f8441f3007bc3321053}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_LAYOUT@{\_gtfc\_setprop\_LAYOUT}}
\index{\_gtfc\_setprop\_LAYOUT@{\_gtfc\_setprop\_LAYOUT}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_LAYOUT()}{\_gtfc\_setprop\_LAYOUT()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+L\+A\+Y\+O\+UT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const G\+Value $\ast$}]{value,  }\item[{const gboolean}]{is\+\_\+input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\+L\+A\+Y\+O\+U\+T\char`\"{} and \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\+L\+A\+Y\+O\+U\+T\char`\"{} for set-\/property. 

Update the properties

Definition at line 1732 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_afa8826dc1a8b4f8441f3007bc3321053_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_afa8826dc1a8b4f8441f3007bc3321053_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ab37ef7b45755e7092e6216c7b4ade92f}\label{tensor__filter__common_8c_ab37ef7b45755e7092e6216c7b4ade92f}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_MODEL@{\_gtfc\_setprop\_MODEL}}
\index{\_gtfc\_setprop\_MODEL@{\_gtfc\_setprop\_MODEL}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_MODEL()}{\_gtfc\_setprop\_MODEL()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+M\+O\+D\+EL (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+M\+O\+D\+E\+L\char`\"{} for set-\/property. 

Store a copy of the original prop in case the reload fails

Reload model if FW has been already opened; In the case of reloading model files, each priv-\/$>$fw (tensor filter for each nnfw) has responsibility for the verification of the path regardless of priv-\/$>$fw-\/$>$verify\+\_\+model\+\_\+path.

original prop is sent and not the updated prop

Definition at line 1428 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ab37ef7b45755e7092e6216c7b4ade92f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ab37ef7b45755e7092e6216c7b4ade92f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_af19b7a0f01bdce97eb715b00c5f5c212}\label{tensor__filter__common_8c_af19b7a0f01bdce97eb715b00c5f5c212}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_NAME@{\_gtfc\_setprop\_NAME}}
\index{\_gtfc\_setprop\_NAME@{\_gtfc\_setprop\_NAME}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_NAME()}{\_gtfc\_setprop\_NAME()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+N\+A\+ME (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const G\+Value $\ast$}]{value,  }\item[{const gboolean}]{is\+\_\+input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\+N\+A\+M\+E\char`\"{} and \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\+N\+A\+M\+E\char`\"{} for set-\/property. 

Once configured, it cannot be changed in runtime for now

Definition at line 1588 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_af19b7a0f01bdce97eb715b00c5f5c212_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_af19b7a0f01bdce97eb715b00c5f5c212_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a00914422b097ed3f060e0133a8fd9ddd}\label{tensor__filter__common_8c_a00914422b097ed3f060e0133a8fd9ddd}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_OUTPUTCOMBINATION@{\_gtfc\_setprop\_OUTPUTCOMBINATION}}
\index{\_gtfc\_setprop\_OUTPUTCOMBINATION@{\_gtfc\_setprop\_OUTPUTCOMBINATION}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_OUTPUTCOMBINATION()}{\_gtfc\_setprop\_OUTPUTCOMBINATION()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+O\+U\+T\+P\+U\+T\+C\+O\+M\+B\+I\+N\+A\+T\+I\+ON (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{G\+List $\ast$$\ast$}]{prop\+\_\+list1,  }\item[{G\+List $\ast$$\ast$}]{prop\+\_\+list2,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\+C\+O\+M\+B\+I\+N\+A\+T\+I\+O\+N\char`\"{} for set-\/property. 



Definition at line 1874 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a00914422b097ed3f060e0133a8fd9ddd_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a6f6064097ebec74a4bc7fbadfcccd1eb}\label{tensor__filter__common_8c_a6f6064097ebec74a4bc7fbadfcccd1eb}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_PROP\_INVOKE\_DYNAMIC@{\_gtfc\_setprop\_PROP\_INVOKE\_DYNAMIC}}
\index{\_gtfc\_setprop\_PROP\_INVOKE\_DYNAMIC@{\_gtfc\_setprop\_PROP\_INVOKE\_DYNAMIC}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_PROP\_INVOKE\_DYNAMIC()}{\_gtfc\_setprop\_PROP\_INVOKE\_DYNAMIC()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+P\+R\+O\+P\+\_\+\+I\+N\+V\+O\+K\+E\+\_\+\+D\+Y\+N\+A\+M\+IC (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+V\+O\+K\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C\char`\"{} for set-\/property. 



Definition at line 1937 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a6f6064097ebec74a4bc7fbadfcccd1eb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a479a715dee62f323535e727688ef82a8}\label{tensor__filter__common_8c_a479a715dee62f323535e727688ef82a8}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_SHARED\_TENSOR\_FILTER\_KEY@{\_gtfc\_setprop\_SHARED\_TENSOR\_FILTER\_KEY}}
\index{\_gtfc\_setprop\_SHARED\_TENSOR\_FILTER\_KEY@{\_gtfc\_setprop\_SHARED\_TENSOR\_FILTER\_KEY}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_SHARED\_TENSOR\_FILTER\_KEY()}{\_gtfc\_setprop\_SHARED\_TENSOR\_FILTER\_KEY()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+S\+H\+A\+R\+E\+D\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+K\+EY (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+S\+H\+A\+R\+E\+D\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+K\+E\+Y\char`\"{} for set-\/property. 



Definition at line 1917 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=291pt]{tensor__filter__common_8c_a479a715dee62f323535e727688ef82a8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a479a715dee62f323535e727688ef82a8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a0051302515721faaae3fdab4c1f8d7b7}\label{tensor__filter__common_8c_a0051302515721faaae3fdab4c1f8d7b7}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_SUSPEND@{\_gtfc\_setprop\_SUSPEND}}
\index{\_gtfc\_setprop\_SUSPEND@{\_gtfc\_setprop\_SUSPEND}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_SUSPEND()}{\_gtfc\_setprop\_SUSPEND()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+S\+U\+S\+P\+E\+ND (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+S\+U\+S\+P\+E\+N\+D\char`\"{} for set-\/property. 



Definition at line 1950 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a0051302515721faaae3fdab4c1f8d7b7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ab7f1b60884c627259ce536eafebdcb47}\label{tensor__filter__common_8c_ab7f1b60884c627259ce536eafebdcb47}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_THROUGHPUT@{\_gtfc\_setprop\_THROUGHPUT}}
\index{\_gtfc\_setprop\_THROUGHPUT@{\_gtfc\_setprop\_THROUGHPUT}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_THROUGHPUT()}{\_gtfc\_setprop\_THROUGHPUT()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+T\+H\+R\+O\+U\+G\+H\+P\+UT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const G\+Value $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+T\+H\+R\+O\+U\+G\+H\+P\+U\+T\char`\"{} for set-\/property. 



Definition at line 1821 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ab7f1b60884c627259ce536eafebdcb47_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a5e37c9cefa344b4bdd50db1ebb924c0e}\label{tensor__filter__common_8c_a5e37c9cefa344b4bdd50db1ebb924c0e}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!\_gtfc\_setprop\_TYPE@{\_gtfc\_setprop\_TYPE}}
\index{\_gtfc\_setprop\_TYPE@{\_gtfc\_setprop\_TYPE}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{\_gtfc\_setprop\_TYPE()}{\_gtfc\_setprop\_TYPE()}}
{\footnotesize\ttfamily static gint \+\_\+gtfc\+\_\+setprop\+\_\+\+T\+Y\+PE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const G\+Value $\ast$}]{value,  }\item[{const gboolean}]{is\+\_\+input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle \char`\"{}\+P\+R\+O\+P\+\_\+\+I\+N\+P\+U\+T\+T\+Y\+P\+E\char`\"{} and \char`\"{}\+P\+R\+O\+P\+\_\+\+O\+U\+T\+P\+U\+T\+T\+Y\+P\+E\char`\"{} for set-\/property. 

Once configured, it cannot be changed in runtime for now

Definition at line 1549 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a5e37c9cefa344b4bdd50db1ebb924c0e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a5e37c9cefa344b4bdd50db1ebb924c0e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_aeaa778bba1921ffca4f76fac9f741840}\label{tensor__filter__common_8c_aeaa778bba1921ffca4f76fac9f741840}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!accl\_hw\_get\_type@{accl\_hw\_get\_type}}
\index{accl\_hw\_get\_type@{accl\_hw\_get\_type}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{accl\_hw\_get\_type()}{accl\_hw\_get\_type()}}
{\footnotesize\ttfamily static G\+Type accl\+\_\+hw\+\_\+get\+\_\+type (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



to get and register hardware accelerator backend enum 



Definition at line 2883 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aeaa778bba1921ffca4f76fac9f741840_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a7acd7ef493d5d5a54a2e157ebbf983e6}\label{tensor__filter__common_8c_a7acd7ef493d5d5a54a2e157ebbf983e6}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!add\_basic\_supported\_accelerators@{add\_basic\_supported\_accelerators}}
\index{add\_basic\_supported\_accelerators@{add\_basic\_supported\_accelerators}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{add\_basic\_supported\_accelerators()}{add\_basic\_supported\_accelerators()}}
{\footnotesize\ttfamily static const gchar$\ast$$\ast$ add\+\_\+basic\+\_\+supported\+\_\+accelerators (\begin{DoxyParamCaption}\item[{const gchar $\ast$$\ast$}]{supported\+\_\+accelerators }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Added basic accelerators (auto, default) to supported accelerators. 

\begin{DoxyNote}{Note}
returned array must be freed by the caller 
\end{DoxyNote}
Count number of elements for the array

Allocate the array

Fill the array

Definition at line 2686 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a7acd7ef493d5d5a54a2e157ebbf983e6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a124a5090853a094773616295e7e90678}\label{tensor__filter__common_8c_a124a5090853a094773616295e7e90678}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!create\_regex@{create\_regex}}
\index{create\_regex@{create\_regex}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{create\_regex()}{create\_regex()}}
{\footnotesize\ttfamily static gchar$\ast$ create\+\_\+regex (\begin{DoxyParamCaption}\item[{const gchar $\ast$$\ast$}]{enum\+\_\+list,  }\item[{const gchar $\ast$$\ast$}]{regex\+\_\+utils }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



create regex for the given string list and regex basic elements 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em enum\+\_\+list} & list of strings to form regex for \\
\hline
\mbox{\texttt{ in}}  & {\em regex\+\_\+utils} & list of basic elements to form regex \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the formed regex (to be freed by the caller), N\+U\+LL on error 
\end{DoxyReturn}
create the regex string

escape the special characters

Definition at line 431 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=249pt]{tensor__filter__common_8c_a124a5090853a094773616295e7e90678_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a124a5090853a094773616295e7e90678_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_aab87bc1f29f619b04f7e1342e8e1c675}\label{tensor__filter__common_8c_aab87bc1f29f619b04f7e1342e8e1c675}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!filter\_supported\_accelerators@{filter\_supported\_accelerators}}
\index{filter\_supported\_accelerators@{filter\_supported\_accelerators}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{filter\_supported\_accelerators()}{filter\_supported\_accelerators()}}
{\footnotesize\ttfamily static const gchar$\ast$$\ast$ filter\+\_\+supported\+\_\+accelerators (\begin{DoxyParamCaption}\item[{const gchar $\ast$$\ast$}]{supported\+\_\+accelerators }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Filter accelerators based on the runtime system. 

\begin{DoxyNote}{Note}
returned array must be freed by the caller
\end{DoxyNote}
This filters out N\+E\+ON accelerator if the system running the tensor\+\_\+filter does not support N\+E\+ON instructions Count number of elements for the array

Allocate the array

Fill the array

Definition at line 2722 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aab87bc1f29f619b04f7e1342e8e1c675_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aab87bc1f29f619b04f7e1342e8e1c675_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_af2d1b7fec9978e0ee47d6c45ddeee307}\label{tensor__filter__common_8c_af2d1b7fec9978e0ee47d6c45ddeee307}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!G\_LOCK\_DEFINE\_STATIC@{G\_LOCK\_DEFINE\_STATIC}}
\index{G\_LOCK\_DEFINE\_STATIC@{G\_LOCK\_DEFINE\_STATIC}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{G\_LOCK\_DEFINE\_STATIC()}{G\_LOCK\_DEFINE\_STATIC()}}
{\footnotesize\ttfamily G\+\_\+\+L\+O\+C\+K\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+S\+T\+A\+T\+IC (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8c_a386c739d4b1cb36a2a082cc654a789de}{shared\+\_\+model\+\_\+table}}}]{ }\end{DoxyParamCaption})}



mutex for shared model table. 

\mbox{\Hypertarget{tensor__filter__common_8c_a24c52610d5caff3e9703d7e1a5c71e6d}\label{tensor__filter__common_8c_a24c52610d5caff3e9703d7e1a5c71e6d}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!get\_accl\_hw\_str@{get\_accl\_hw\_str}}
\index{get\_accl\_hw\_str@{get\_accl\_hw\_str}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{get\_accl\_hw\_str()}{get\_accl\_hw\_str()}}
{\footnotesize\ttfamily const gchar$\ast$ get\+\_\+accl\+\_\+hw\+\_\+str (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}}}]{key }\end{DoxyParamCaption})}



return string based on accl\+\_\+hw type 


\begin{DoxyParams}{Parameters}
{\em key} & The key enum value \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Corresponding string. Returns A\+C\+C\+L\+\_\+\+N\+O\+N\+E\+\_\+\+S\+TR if not found. 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Do not free the returned char $\ast$ 
\end{DoxyNote}


Definition at line 2598 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=315pt]{tensor__filter__common_8c_a24c52610d5caff3e9703d7e1a5c71e6d_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a24c52610d5caff3e9703d7e1a5c71e6d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a2b048b904d4154db3740e85f6229de73}\label{tensor__filter__common_8c_a2b048b904d4154db3740e85f6229de73}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!get\_accl\_hw\_type@{get\_accl\_hw\_type}}
\index{get\_accl\_hw\_type@{get\_accl\_hw\_type}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{get\_accl\_hw\_type()}{get\_accl\_hw\_type()}}
{\footnotesize\ttfamily \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}} get\+\_\+accl\+\_\+hw\+\_\+type (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{key }\end{DoxyParamCaption})}



return accl\+\_\+hw type from string 


\begin{DoxyParams}{Parameters}
{\em key} & The key string value \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Corresponding index. Returns A\+C\+C\+L\+\_\+\+N\+O\+NE if not found. 
\end{DoxyReturn}


Definition at line 2577 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=324pt]{tensor__filter__common_8c_a2b048b904d4154db3740e85f6229de73_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a2b048b904d4154db3740e85f6229de73_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ae463edde2d8de2557bc4dd93a00e46b9}\label{tensor__filter__common_8c_ae463edde2d8de2557bc4dd93a00e46b9}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_allocate\_in\_invoke@{gst\_tensor\_filter\_allocate\_in\_invoke}}
\index{gst\_tensor\_filter\_allocate\_in\_invoke@{gst\_tensor\_filter\_allocate\_in\_invoke}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_allocate\_in\_invoke()}{gst\_tensor\_filter\_allocate\_in\_invoke()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+filter\+\_\+allocate\+\_\+in\+\_\+invoke (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv }\end{DoxyParamCaption})}



check if the allocate\+\_\+in\+\_\+invoke is valid for the framework 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em priv} & Struct containing the properties of the object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if valid, F\+A\+L\+SE on error 
\end{DoxyReturn}


Definition at line 757 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ae463edde2d8de2557bc4dd93a00e46b9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_abd17b98aee63a6d95af4078e94db4054}\label{tensor__filter__common_8c_abd17b98aee63a6d95af4078e94db4054}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_check\_hw\_availability@{gst\_tensor\_filter\_check\_hw\_availability}}
\index{gst\_tensor\_filter\_check\_hw\_availability@{gst\_tensor\_filter\_check\_hw\_availability}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_check\_hw\_availability()}{gst\_tensor\_filter\_check\_hw\_availability()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+filter\+\_\+check\+\_\+hw\+\_\+availability (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{name,  }\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}}}]{hw,  }\item[{const char $\ast$}]{custom }\end{DoxyParamCaption})}



Check if the given hw is supported by the framework. 

\begin{DoxyNote}{Note}
This function is included in nnstreamer internal header for native A\+P\+Is. When changing the declaration, you should update the internal header (\mbox{\hyperlink{nnstreamer__internal_8h}{nnstreamer\+\_\+internal.\+h}}). 
\end{DoxyNote}
Only check for specific HW, D\+E\+F\+A\+U\+L\+T/\+A\+U\+TO are always supported

Definition at line 2923 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_abd17b98aee63a6d95af4078e94db4054_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a775c6db417d8af58ac0ca08f6352eaa7}\label{tensor__filter__common_8c_a775c6db417d8af58ac0ca08f6352eaa7}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_close\_fw@{gst\_tensor\_filter\_common\_close\_fw}}
\index{gst\_tensor\_filter\_common\_close\_fw@{gst\_tensor\_filter\_common\_close\_fw}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_close\_fw()}{gst\_tensor\_filter\_common\_close\_fw()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+close\+\_\+fw (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv }\end{DoxyParamCaption})}



Close NN framework. 



Definition at line 2560 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a775c6db417d8af58ac0ca08f6352eaa7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a775c6db417d8af58ac0ca08f6352eaa7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ac81c9ffa69f462210b8aeba5cedeafa5}\label{tensor__filter__common_8c_ac81c9ffa69f462210b8aeba5cedeafa5}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_free\_property@{gst\_tensor\_filter\_common\_free\_property}}
\index{gst\_tensor\_filter\_common\_free\_property@{gst\_tensor\_filter\_common\_free\_property}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_free\_property()}{gst\_tensor\_filter\_common\_free\_property()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+free\+\_\+property (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv }\end{DoxyParamCaption})}



Free the properties for tensor-\/filter. 



Definition at line 1065 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ac81c9ffa69f462210b8aeba5cedeafa5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ac81c9ffa69f462210b8aeba5cedeafa5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_aad28ca0ccdd6f33acba5b288676f4890}\label{tensor__filter__common_8c_aad28ca0ccdd6f33acba5b288676f4890}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_get\_combined\_in\_info@{gst\_tensor\_filter\_common\_get\_combined\_in\_info}}
\index{gst\_tensor\_filter\_common\_get\_combined\_in\_info@{gst\_tensor\_filter\_common\_get\_combined\_in\_info}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_get\_combined\_in\_info()}{gst\_tensor\_filter\_common\_get\_combined\_in\_info()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+get\+\_\+combined\+\_\+in\+\_\+info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{in,  }\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{combined }\end{DoxyParamCaption})}



Configure input tensor info with combi option. 



Definition at line 2270 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aad28ca0ccdd6f33acba5b288676f4890_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aad28ca0ccdd6f33acba5b288676f4890_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_af4d383ef16abafbd4a1a421fc7094526}\label{tensor__filter__common_8c_af4d383ef16abafbd4a1a421fc7094526}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_get\_combined\_out\_info@{gst\_tensor\_filter\_common\_get\_combined\_out\_info}}
\index{gst\_tensor\_filter\_common\_get\_combined\_out\_info@{gst\_tensor\_filter\_common\_get\_combined\_out\_info}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_get\_combined\_out\_info()}{gst\_tensor\_filter\_common\_get\_combined\_out\_info()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+get\+\_\+combined\+\_\+out\+\_\+info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{in,  }\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{out,  }\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{combined }\end{DoxyParamCaption})}



Configure output tensor info with combi option. 



Definition at line 2315 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_af4d383ef16abafbd4a1a421fc7094526_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_af4d383ef16abafbd4a1a421fc7094526_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a006b8093131f3405e2cccd1f55974ae5}\label{tensor__filter__common_8c_a006b8093131f3405e2cccd1f55974ae5}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_get\_out\_info@{gst\_tensor\_filter\_common\_get\_out\_info}}
\index{gst\_tensor\_filter\_common\_get\_out\_info@{gst\_tensor\_filter\_common\_get\_out\_info}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_get\_out\_info()}{gst\_tensor\_filter\_common\_get\_out\_info()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+get\+\_\+out\+\_\+info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{in,  }\item[{\mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{out }\end{DoxyParamCaption})}



Get output tensor info from NN model with given input info. 



Definition at line 2374 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a006b8093131f3405e2cccd1f55974ae5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a006b8093131f3405e2cccd1f55974ae5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ada99bb68a4bd60d8831f7f92dd04bb15}\label{tensor__filter__common_8c_ada99bb68a4bd60d8831f7f92dd04bb15}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_get\_property@{gst\_tensor\_filter\_common\_get\_property}}
\index{gst\_tensor\_filter\_common\_get\_property@{gst\_tensor\_filter\_common\_get\_property}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_get\_property()}{gst\_tensor\_filter\_common\_get\_property()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+get\+\_\+property (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{guint}]{prop\+\_\+id,  }\item[{G\+Value $\ast$}]{value,  }\item[{G\+Param\+Spec $\ast$}]{pspec }\end{DoxyParamCaption})}



Get the properties for tensor\+\_\+filter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em priv} & Struct containing the properties of the object \\
\hline
\mbox{\texttt{ in}}  & {\em prop\+\_\+id} & Id for the property \\
\hline
\mbox{\texttt{ in}}  & {\em value} & Container to return the asked property \\
\hline
\mbox{\texttt{ in}}  & {\em pspec} & Metadata to specify the parameter \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if prop\+\_\+id is value, else F\+A\+L\+SE 
\end{DoxyReturn}


Definition at line 2102 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ada99bb68a4bd60d8831f7f92dd04bb15_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ada99bb68a4bd60d8831f7f92dd04bb15_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a91b037c10bd1a2b9a47318080821ebf1}\label{tensor__filter__common_8c_a91b037c10bd1a2b9a47318080821ebf1}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_init\_property@{gst\_tensor\_filter\_common\_init\_property}}
\index{gst\_tensor\_filter\_common\_init\_property@{gst\_tensor\_filter\_common\_init\_property}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_init\_property()}{gst\_tensor\_filter\_common\_init\_property()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+init\+\_\+property (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv }\end{DoxyParamCaption})}



Initialize the properties for tensor-\/filter. 



Definition at line 1041 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a91b037c10bd1a2b9a47318080821ebf1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a91b037c10bd1a2b9a47318080821ebf1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a7ca8a0c3f17293e7ef4ee8d40565c6bb}\label{tensor__filter__common_8c_a7ca8a0c3f17293e7ef4ee8d40565c6bb}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_open\_fw@{gst\_tensor\_filter\_common\_open\_fw}}
\index{gst\_tensor\_filter\_common\_open\_fw@{gst\_tensor\_filter\_common\_open\_fw}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_open\_fw()}{gst\_tensor\_filter\_common\_open\_fw()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+open\+\_\+fw (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv }\end{DoxyParamCaption})}



Open NN framework. 



Definition at line 2491 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a7ca8a0c3f17293e7ef4ee8d40565c6bb_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a7ca8a0c3f17293e7ef4ee8d40565c6bb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a091ca5470935b46e3d6b15462b640745}\label{tensor__filter__common_8c_a091ca5470935b46e3d6b15462b640745}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_set\_property@{gst\_tensor\_filter\_common\_set\_property}}
\index{gst\_tensor\_filter\_common\_set\_property@{gst\_tensor\_filter\_common\_set\_property}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_set\_property()}{gst\_tensor\_filter\_common\_set\_property()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+set\+\_\+property (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{guint}]{prop\+\_\+id,  }\item[{const G\+Value $\ast$}]{value,  }\item[{G\+Param\+Spec $\ast$}]{pspec }\end{DoxyParamCaption})}



Set the properties for tensor\+\_\+filter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em priv} & Struct containing the properties of the object \\
\hline
\mbox{\texttt{ in}}  & {\em prop\+\_\+id} & Id for the property \\
\hline
\mbox{\texttt{ in}}  & {\em value} & Container to return the asked property \\
\hline
\mbox{\texttt{ in}}  & {\em pspec} & Metadata to specify the parameter \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if prop\+\_\+id is value, else F\+A\+L\+SE 
\end{DoxyReturn}
Although no one return !0 at this point, let\textquotesingle{}s enable error handling.

Definition at line 1967 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a091ca5470935b46e3d6b15462b640745_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a091ca5470935b46e3d6b15462b640745_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a77f1f3f728915245856c3cf22f820737}\label{tensor__filter__common_8c_a77f1f3f728915245856c3cf22f820737}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_common\_unload\_fw@{gst\_tensor\_filter\_common\_unload\_fw}}
\index{gst\_tensor\_filter\_common\_unload\_fw@{gst\_tensor\_filter\_common\_unload\_fw}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_common\_unload\_fw()}{gst\_tensor\_filter\_common\_unload\_fw()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+filter\+\_\+common\+\_\+unload\+\_\+fw (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv }\end{DoxyParamCaption})}



Unload NN framework. 



Definition at line 2545 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a77f1f3f728915245856c3cf22f820737_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a5963018d1cc95ce8d39bd010a3230bee}\label{tensor__filter__common_8c_a5963018d1cc95ce8d39bd010a3230bee}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_destroy\_notify\_util@{gst\_tensor\_filter\_destroy\_notify\_util}}
\index{gst\_tensor\_filter\_destroy\_notify\_util@{gst\_tensor\_filter\_destroy\_notify\_util}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_destroy\_notify\_util()}{gst\_tensor\_filter\_destroy\_notify\_util()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+filter\+\_\+destroy\+\_\+notify\+\_\+util (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Free the data allocated for tensor filter output. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em priv} & Struct containing the properties of the object \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Data to be freed \\
\hline
\end{DoxyParams}


Definition at line 786 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=300pt]{tensor__filter__common_8c_a5963018d1cc95ce8d39bd010a3230bee_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a5963018d1cc95ce8d39bd010a3230bee_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a52ed536a0097da1ad36e7ba269c1c0f4}\label{tensor__filter__common_8c_a52ed536a0097da1ad36e7ba269c1c0f4}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_detect\_framework@{gst\_tensor\_filter\_detect\_framework}}
\index{gst\_tensor\_filter\_detect\_framework@{gst\_tensor\_filter\_detect\_framework}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_detect\_framework()}{gst\_tensor\_filter\_detect\_framework()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensor\+\_\+filter\+\_\+detect\+\_\+framework (\begin{DoxyParamCaption}\item[{const gchar $\ast$const $\ast$}]{model\+\_\+files,  }\item[{const guint}]{num\+\_\+models,  }\item[{const gboolean}]{load\+\_\+conf }\end{DoxyParamCaption})}



Get neural network framework name from given model file. This does not guarantee the framework is available on the target device. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em model\+\_\+files} & the prediction model paths \\
\hline
\mbox{\texttt{ in}}  & {\em num\+\_\+models} & the number of model files \\
\hline
\mbox{\texttt{ in}}  & {\em load\+\_\+conf} & flag to load configuration for the priority of framework \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Possible framework name (N\+U\+LL if it fails to detect automatically). Caller should free returned value using \mbox{\hyperlink{gsttensor__decoder_8c_adfb1d2a9811131e9bced03a25b24e71c}{g\+\_\+free()}}. 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function is included in nnstreamer internal header for native A\+P\+Is. When changing the declaration, you should update the internal header (\mbox{\hyperlink{nnstreamer__internal_8h}{nnstreamer\+\_\+internal.\+h}}). 
\end{DoxyNote}
\begin{DoxyNote}{Note}
When adding new file extension for auto fw detection, you should check the condition to validate model file -\/ ml\+\_\+validate\+\_\+model\+\_\+file() in M\+L-\/\+A\+PI.
\end{DoxyNote}


Definition at line 1232 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a52ed536a0097da1ad36e7ba269c1c0f4_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a52ed536a0097da1ad36e7ba269c1c0f4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_aa4ab3af4ed7582c148fad8b9e3c2f17a}\label{tensor__filter__common_8c_aa4ab3af4ed7582c148fad8b9e3c2f17a}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_framework\_info\_init@{gst\_tensor\_filter\_framework\_info\_init}}
\index{gst\_tensor\_filter\_framework\_info\_init@{gst\_tensor\_filter\_framework\_info\_init}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_framework\_info\_init()}{gst\_tensor\_filter\_framework\_info\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+filter\+\_\+framework\+\_\+info\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a19a20fba4bcd858e99568b0a7f20df69}{Gst\+Tensor\+Filter\+Framework\+Info}} $\ast$}]{info }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialize the Gst\+Tensor\+Filter\+Framework\+Info object. 



Definition at line 528 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aa4ab3af4ed7582c148fad8b9e3c2f17a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a7febf1ebdad7e3d658fc495bc98c2348}\label{tensor__filter__common_8c_a7febf1ebdad7e3d658fc495bc98c2348}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_get\_available\_framework@{gst\_tensor\_filter\_get\_available\_framework}}
\index{gst\_tensor\_filter\_get\_available\_framework@{gst\_tensor\_filter\_get\_available\_framework}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_get\_available\_framework()}{gst\_tensor\_filter\_get\_available\_framework()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+available\+\_\+framework (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{const char $\ast$}]{fw\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



automatically selecting framework for tensor filter 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em priv} & Struct containing the properties of the object \\
\hline
\mbox{\texttt{ in}}  & {\em fw\+\_\+name} & Framework name \\
\hline
\end{DoxyParams}
Get framework info for v1

update the accelerator if already set based on v0 or v1

Definition at line 1317 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a7febf1ebdad7e3d658fc495bc98c2348_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a7febf1ebdad7e3d658fc495bc98c2348_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ae355e19b1fc4ec2ec7abe7e67cc2c3cb}\label{tensor__filter__common_8c_ae355e19b1fc4ec2ec7abe7e67cc2c3cb}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_get\_dimension\_string@{gst\_tensor\_filter\_get\_dimension\_string}}
\index{gst\_tensor\_filter\_get\_dimension\_string@{gst\_tensor\_filter\_get\_dimension\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_get\_dimension\_string()}{gst\_tensor\_filter\_get\_dimension\_string()}}
{\footnotesize\ttfamily static gchar$\ast$ gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+dimension\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const gboolean}]{is\+Input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the dimension string of tensors considering rank count. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em prop} & Gst\+Tensor\+Filter\+Properties object \\
\hline
 & {\em is\+Input} & T\+R\+UE if target is input tensors \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
dimension string of tensors 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If rank count is 3, then returned string is \textquotesingle{}d1\+:d2\+:d3\`{}. 
\end{DoxyNote}


Definition at line 259 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ae355e19b1fc4ec2ec7abe7e67cc2c3cb_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ae355e19b1fc4ec2ec7abe7e67cc2c3cb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a7369c2ccaea80fc656dec94b3be64bea}\label{tensor__filter__common_8c_a7369c2ccaea80fc656dec94b3be64bea}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_get\_layout\_string@{gst\_tensor\_filter\_get\_layout\_string}}
\index{gst\_tensor\_filter\_get\_layout\_string@{gst\_tensor\_filter\_get\_layout\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_get\_layout\_string()}{gst\_tensor\_filter\_get\_layout\_string()}}
{\footnotesize\ttfamily static gchar$\ast$ gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+layout\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const gboolean}]{is\+\_\+input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the string of layout of tensors. 


\begin{DoxyParams}{Parameters}
{\em layout} & layout of the tensors \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
string of layouts in tensors 
\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 372 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a7369c2ccaea80fc656dec94b3be64bea_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a7369c2ccaea80fc656dec94b3be64bea_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ab46d1b2482d46fa6c675f3572b62f8d0}\label{tensor__filter__common_8c_ab46d1b2482d46fa6c675f3572b62f8d0}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_get\_name\_string@{gst\_tensor\_filter\_get\_name\_string}}
\index{gst\_tensor\_filter\_get\_name\_string@{gst\_tensor\_filter\_get\_name\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_get\_name\_string()}{gst\_tensor\_filter\_get\_name\_string()}}
{\footnotesize\ttfamily static gchar$\ast$ gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+name\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const gboolean}]{is\+\_\+input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the name string of tensors. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em prop} & Gst\+Tensor\+Filter\+Properties object \\
\hline
 & {\em is\+\_\+input} & T\+R\+UE if target is input tensors \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
name string of tensors 
\end{DoxyReturn}


Definition at line 327 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ab46d1b2482d46fa6c675f3572b62f8d0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ab46d1b2482d46fa6c675f3572b62f8d0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ad9b0a857aa23331c934391eccb31c3c7}\label{tensor__filter__common_8c_ad9b0a857aa23331c934391eccb31c3c7}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_get\_rank\_string@{gst\_tensor\_filter\_get\_rank\_string}}
\index{gst\_tensor\_filter\_get\_rank\_string@{gst\_tensor\_filter\_get\_rank\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_get\_rank\_string()}{gst\_tensor\_filter\_get\_rank\_string()}}
{\footnotesize\ttfamily static gchar$\ast$ gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+rank\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{gboolean}]{is\+Input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the rank string of the tensors. 


\begin{DoxyParams}{Parameters}
{\em prop} & Gst\+Tensor\+Filter\+Properties object \\
\hline
{\em is\+Input} & T\+R\+UE if target is input tensors \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
rank string of the tensors 
\end{DoxyReturn}


Definition at line 211 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ad9b0a857aa23331c934391eccb31c3c7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ad9b0a857aa23331c934391eccb31c3c7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_aaca78212b55b0aabe782ca646e7fd9a8}\label{tensor__filter__common_8c_aaca78212b55b0aabe782ca646e7fd9a8}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_get\_type\_string@{gst\_tensor\_filter\_get\_type\_string}}
\index{gst\_tensor\_filter\_get\_type\_string@{gst\_tensor\_filter\_get\_type\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_get\_type\_string()}{gst\_tensor\_filter\_get\_type\_string()}}
{\footnotesize\ttfamily static gchar$\ast$ gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+type\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const gboolean}]{is\+\_\+input }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the type string of tensors. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em prop} & Gst\+Tensor\+Filter\+Properties object \\
\hline
 & {\em is\+\_\+input} & T\+R\+UE if target is input tensors \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
type string of tensors 
\end{DoxyReturn}


Definition at line 304 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aaca78212b55b0aabe782ca646e7fd9a8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aaca78212b55b0aabe782ca646e7fd9a8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a380a8ecb48d3a59e59b4528a0db15e3c}\label{tensor__filter__common_8c_a380a8ecb48d3a59e59b4528a0db15e3c}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_install\_properties@{gst\_tensor\_filter\_install\_properties}}
\index{gst\_tensor\_filter\_install\_properties@{gst\_tensor\_filter\_install\_properties}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_install\_properties()}{gst\_tensor\_filter\_install\_properties()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+filter\+\_\+install\+\_\+properties (\begin{DoxyParamCaption}\item[{G\+Object\+Class $\ast$}]{gobject\+\_\+class }\end{DoxyParamCaption})}



Installs all the properties for tensor\+\_\+filter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em gobject\+\_\+class} & Glib object class whose properties will be set \\
\hline
\end{DoxyParams}
min

max

default\+: off

min

max

default\+: off

Definition at line 888 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a380a8ecb48d3a59e59b4528a0db15e3c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a380a8ecb48d3a59e59b4528a0db15e3c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ad0614c7b4e0cb0f49f08b026a9aa99fb}\label{tensor__filter__common_8c_ad0614c7b4e0cb0f49f08b026a9aa99fb}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_load\_tensor\_info@{gst\_tensor\_filter\_load\_tensor\_info}}
\index{gst\_tensor\_filter\_load\_tensor\_info@{gst\_tensor\_filter\_load\_tensor\_info}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_load\_tensor\_info()}{gst\_tensor\_filter\_load\_tensor\_info()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+filter\+\_\+load\+\_\+tensor\+\_\+info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv }\end{DoxyParamCaption})}



Load tensor info from NN model. (both input and output tensor) 

if set-\/property called and already has info, verify it!

In case of dynamic invoke, output tensors info is determined after invoke.

if set-\/property called and already has info, verify it!

Definition at line 2409 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ad0614c7b4e0cb0f49f08b026a9aa99fb_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ad0614c7b4e0cb0f49f08b026a9aa99fb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a3e3098ffc7d3eec79b7b12249e25b833}\label{tensor__filter__common_8c_a3e3098ffc7d3eec79b7b12249e25b833}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_parse\_accelerator@{gst\_tensor\_filter\_parse\_accelerator}}
\index{gst\_tensor\_filter\_parse\_accelerator@{gst\_tensor\_filter\_parse\_accelerator}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_parse\_accelerator()}{gst\_tensor\_filter\_parse\_accelerator()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+filter\+\_\+parse\+\_\+accelerator (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const char $\ast$}]{accelerators }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Parse the hardware accelerators to be used for this framework. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em priv} & Struct containing the properties of the object \\
\hline
\mbox{\texttt{ in}}  & {\em prop} & Struct containing the properties of the framework \\
\hline
\mbox{\texttt{ in}}  & {\em accelerators} & user given input for hardware accelerators \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
The order of preference set by the user is maintained 
\end{DoxyNote}
Get h/w accelerators supported by framework (V1 only)

Convert the list to string format Extra 2 entries for basic accelerators \+: auto and default

Parse the user given h/w accelerators intersected with supported h/w

Convert the G\+List to regular array

Definition at line 1123 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a3e3098ffc7d3eec79b7b12249e25b833_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a3e3098ffc7d3eec79b7b12249e25b833_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_aa0f54783cb3003eb5d15d55c325f550f}\label{tensor__filter__common_8c_aa0f54783cb3003eb5d15d55c325f550f}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_parse\_modelpaths\_string@{gst\_tensor\_filter\_parse\_modelpaths\_string}}
\index{gst\_tensor\_filter\_parse\_modelpaths\_string@{gst\_tensor\_filter\_parse\_modelpaths\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_parse\_modelpaths\_string()}{gst\_tensor\_filter\_parse\_modelpaths\_string()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+filter\+\_\+parse\+\_\+modelpaths\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop,  }\item[{const gchar $\ast$}]{model\+\_\+files }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Parse the string of model. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em prop} & Struct containing the properties of the object \\
\hline
\mbox{\texttt{ in}}  & {\em model\+\_\+files} & the prediction model paths \\
\hline
\end{DoxyParams}


Definition at line 728 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aa0f54783cb3003eb5d15d55c325f550f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a800ca966af013b51c00253e618477e13}\label{tensor__filter__common_8c_a800ca966af013b51c00253e618477e13}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_properties\_init@{gst\_tensor\_filter\_properties\_init}}
\index{gst\_tensor\_filter\_properties\_init@{gst\_tensor\_filter\_properties\_init}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_properties\_init()}{gst\_tensor\_filter\_properties\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+filter\+\_\+properties\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a7428acc2020e8d15a75cda36d49c1beb}{Gst\+Tensor\+Filter\+Properties}} $\ast$}]{prop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialize the Gst\+Tensor\+Filter\+Properties object. 



Definition at line 510 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a800ca966af013b51c00253e618477e13_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a800ca966af013b51c00253e618477e13_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a785c53e0cffc9df5bd144466fecc5512}\label{tensor__filter__common_8c_a785c53e0cffc9df5bd144466fecc5512}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_property\_to\_string@{gst\_tensor\_filter\_property\_to\_string}}
\index{gst\_tensor\_filter\_property\_to\_string@{gst\_tensor\_filter\_property\_to\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_property\_to\_string()}{gst\_tensor\_filter\_property\_to\_string()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+filter\+\_\+property\+\_\+to\+\_\+string (\begin{DoxyParamCaption}\item[{G\+Value $\ast$}]{value,  }\item[{\mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv,  }\item[{guint}]{prop\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Convert G\+List to G\+Value. 



Definition at line 2063 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a785c53e0cffc9df5bd144466fecc5512_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_aa8d471df04bce30bc34596eed135b413}\label{tensor__filter__common_8c_aa8d471df04bce30bc34596eed135b413}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_filter\_statistics\_init@{gst\_tensor\_filter\_statistics\_init}}
\index{gst\_tensor\_filter\_statistics\_init@{gst\_tensor\_filter\_statistics\_init}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_statistics\_init()}{gst\_tensor\_filter\_statistics\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+filter\+\_\+statistics\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__filter__common_8h_af934f2ae222eabba5f7f5ae7448a307d}{Gst\+Tensor\+Filter\+Statistics}} $\ast$}]{stat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialize the Gst\+Tensor\+Filter\+Framework\+Info object. 



Definition at line 545 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_aa8d471df04bce30bc34596eed135b413_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a3c960cbd6a40da216e55636153091ff6}\label{tensor__filter__common_8c_a3c960cbd6a40da216e55636153091ff6}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_get\_layout\_string@{gst\_tensor\_get\_layout\_string}}
\index{gst\_tensor\_get\_layout\_string@{gst\_tensor\_get\_layout\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_get\_layout\_string()}{gst\_tensor\_get\_layout\_string()}}
{\footnotesize\ttfamily static const gchar$\ast$ gst\+\_\+tensor\+\_\+get\+\_\+layout\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__typedef_8h_abaf80ca39942c6a0b8ab019fb97c0716}{tensor\+\_\+layout}}}]{layout }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get layout string of tensor layout. 


\begin{DoxyParams}{Parameters}
{\em layout} & layout of the tensor \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
string of layout in tensor 
\end{DoxyReturn}


Definition at line 349 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a3c960cbd6a40da216e55636153091ff6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a8b96d8c929b612716717f9339029466e}\label{tensor__filter__common_8c_a8b96d8c929b612716717f9339029466e}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensor\_parse\_layout\_string@{gst\_tensor\_parse\_layout\_string}}
\index{gst\_tensor\_parse\_layout\_string@{gst\_tensor\_parse\_layout\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_parse\_layout\_string()}{gst\_tensor\_parse\_layout\_string()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{tensor__typedef_8h_abaf80ca39942c6a0b8ab019fb97c0716}{tensor\+\_\+layout}} gst\+\_\+tensor\+\_\+parse\+\_\+layout\+\_\+string (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{layoutstr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get tensor layout from string input. 

\begin{DoxyReturn}{Returns}
Corresponding tensor\+\_\+layout. 
\end{DoxyReturn}


Definition at line 134 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=299pt]{tensor__filter__common_8c_a8b96d8c929b612716717f9339029466e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a8b96d8c929b612716717f9339029466e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a69c8f7133893478ebf97582d4ffc2386}\label{tensor__filter__common_8c_a69c8f7133893478ebf97582d4ffc2386}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensors\_layout\_init@{gst\_tensors\_layout\_init}}
\index{gst\_tensors\_layout\_init@{gst\_tensors\_layout\_init}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_layout\_init()}{gst\_tensors\_layout\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensors\+\_\+layout\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a8ec299bf9d0c0d0598e05e03cc482ea1}{tensors\+\_\+layout}}}]{layout }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialize the tensors layout. 



Definition at line 108 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a69c8f7133893478ebf97582d4ffc2386_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a45ab9361c21c50bf5565f461a0b60579}\label{tensor__filter__common_8c_a45ab9361c21c50bf5565f461a0b60579}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensors\_parse\_layouts\_string@{gst\_tensors\_parse\_layouts\_string}}
\index{gst\_tensors\_parse\_layouts\_string@{gst\_tensors\_parse\_layouts\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_parse\_layouts\_string()}{gst\_tensors\_parse\_layouts\_string()}}
{\footnotesize\ttfamily static guint gst\+\_\+tensors\+\_\+parse\+\_\+layouts\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a8ec299bf9d0c0d0598e05e03cc482ea1}{tensors\+\_\+layout}}}]{layout,  }\item[{const gchar $\ast$}]{layout\+\_\+string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Parse the string of tensor layouts. 


\begin{DoxyParams}{Parameters}
{\em layout} & layout of the tensors \\
\hline
{\em layout\+\_\+string} & string of layout \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of parsed layouts 
\end{DoxyReturn}


Definition at line 173 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a45ab9361c21c50bf5565f461a0b60579_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a45ab9361c21c50bf5565f461a0b60579_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a4348bbfeefb873e250c0db1192384df0}\label{tensor__filter__common_8c_a4348bbfeefb873e250c0db1192384df0}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensors\_rank\_init@{gst\_tensors\_rank\_init}}
\index{gst\_tensors\_rank\_init@{gst\_tensors\_rank\_init}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_rank\_init()}{gst\_tensors\_rank\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensors\+\_\+rank\+\_\+init (\begin{DoxyParamCaption}\item[{unsigned int}]{ranks\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialize the tensors ranks. 



Definition at line 121 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a4348bbfeefb873e250c0db1192384df0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a9cb7fec0b5cde35464bdb2e5b1671213}\label{tensor__filter__common_8c_a9cb7fec0b5cde35464bdb2e5b1671213}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensorsinfo\_compare\_print@{gst\_tensorsinfo\_compare\_print}}
\index{gst\_tensorsinfo\_compare\_print@{gst\_tensorsinfo\_compare\_print}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensorsinfo\_compare\_print()}{gst\_tensorsinfo\_compare\_print()}}
{\footnotesize\ttfamily void gst\+\_\+tensorsinfo\+\_\+compare\+\_\+print (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info1,  }\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info2 }\end{DoxyParamCaption})}



Printout the comparison results of two tensors. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em info1} & The tensors to be shown on the left hand side \\
\hline
\mbox{\texttt{ in}}  & {\em info2} & The tensors to be shown on the right hand side \\
\hline
\end{DoxyParams}


Definition at line 874 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a9cb7fec0b5cde35464bdb2e5b1671213_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a7546c0626c915447c2a28b389b4f4c8b}\label{tensor__filter__common_8c_a7546c0626c915447c2a28b389b4f4c8b}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!gst\_tensorsinfo\_compare\_to\_string@{gst\_tensorsinfo\_compare\_to\_string}}
\index{gst\_tensorsinfo\_compare\_to\_string@{gst\_tensorsinfo\_compare\_to\_string}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensorsinfo\_compare\_to\_string()}{gst\_tensorsinfo\_compare\_to\_string()}}
{\footnotesize\ttfamily gchar$\ast$ gst\+\_\+tensorsinfo\+\_\+compare\+\_\+to\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info1,  }\item[{const \mbox{\hyperlink{structGstTensorsInfo}{Gst\+Tensors\+Info}} $\ast$}]{info2 }\end{DoxyParamCaption})}



Printout the comparison results of two tensors as a string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em info1} & The tensors to be shown on the left hand side \\
\hline
\mbox{\texttt{ in}}  & {\em info2} & The tensors to be shown on the right hand side \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The printout string allocated. Caller should free the value. 
\end{DoxyReturn}


Definition at line 811 of file tensor\+\_\+filter\+\_\+common.\+c.

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



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


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


Definition at line 638 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a96433e7efd054be7c80c169eebf0d2d1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a96433e7efd054be7c80c169eebf0d2d1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a5bff843e6dbca38f7784a5ba1412b69a}\label{tensor__filter__common_8c_a5bff843e6dbca38f7784a5ba1412b69a}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_find@{nnstreamer\_filter\_find}}
\index{nnstreamer\_filter\_find@{nnstreamer\_filter\_find}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_find()}{nnstreamer\_filter\_find()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a2aed82bb2c62b38fba28759423860e0c}{Gst\+Tensor\+Filter\+Framework}}$\ast$ nnstreamer\+\_\+filter\+\_\+find (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Find filter sub-\/plugin with the name. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em name} & The name of filter 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 697 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a5bff843e6dbca38f7784a5ba1412b69a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a5bff843e6dbca38f7784a5ba1412b69a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a4190475e9103b874ec1499ccedd87781}\label{tensor__filter__common_8c_a4190475e9103b874ec1499ccedd87781}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_find\_best\_fit@{nnstreamer\_filter\_find\_best\_fit}}
\index{nnstreamer\_filter\_find\_best\_fit@{nnstreamer\_filter\_find\_best\_fit}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_find\_best\_fit()}{nnstreamer\_filter\_find\_best\_fit()}}
{\footnotesize\ttfamily static const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a2aed82bb2c62b38fba28759423860e0c}{Gst\+Tensor\+Filter\+Framework}}$\ast$ nnstreamer\+\_\+filter\+\_\+find\+\_\+best\+\_\+fit (\begin{DoxyParamCaption}\item[{const char $\ast$}]{names }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Find sub-\/plugin filter given the name list. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em names} & comma, whitespace separated list of the sub-\/plugin name \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the best-\/fit sub-\/plugin object or N\+U\+LL if not found. 
\end{DoxyReturn}


Definition at line 664 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a4190475e9103b874ec1499ccedd87781_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a4190475e9103b874ec1499ccedd87781_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a5417c816d4c9dd6f526239e66d1d95d5}\label{tensor__filter__common_8c_a5417c816d4c9dd6f526239e66d1d95d5}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_probe@{nnstreamer\_filter\_probe}}
\index{nnstreamer\_filter\_probe@{nnstreamer\_filter\_probe}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_probe()}{nnstreamer\_filter\_probe()}}
{\footnotesize\ttfamily int nnstreamer\+\_\+filter\+\_\+probe (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a2aed82bb2c62b38fba28759423860e0c}{Gst\+Tensor\+Filter\+Framework}} $\ast$}]{tfsp }\end{DoxyParamCaption})}



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


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em tfsp} & Tensor-\/\+Filter 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 611 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a5417c816d4c9dd6f526239e66d1d95d5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ae735c6ecddc18e77ca8d396645a10187}\label{tensor__filter__common_8c_ae735c6ecddc18e77ca8d396645a10187}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_set\_custom\_property\_desc@{nnstreamer\_filter\_set\_custom\_property\_desc}}
\index{nnstreamer\_filter\_set\_custom\_property\_desc@{nnstreamer\_filter\_set\_custom\_property\_desc}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_set\_custom\_property\_desc()}{nnstreamer\_filter\_set\_custom\_property\_desc()}}
{\footnotesize\ttfamily void nnstreamer\+\_\+filter\+\_\+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 filter sub-\/plugin 



Definition at line 647 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ae735c6ecddc18e77ca8d396645a10187_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a4356a7d26206ff838386bf24c0b3f79d}\label{tensor__filter__common_8c_a4356a7d26206ff838386bf24c0b3f79d}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_shared\_model\_get@{nnstreamer\_filter\_shared\_model\_get}}
\index{nnstreamer\_filter\_shared\_model\_get@{nnstreamer\_filter\_shared\_model\_get}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_shared\_model\_get()}{nnstreamer\_filter\_shared\_model\_get()}}
{\footnotesize\ttfamily void$\ast$ nnstreamer\+\_\+filter\+\_\+shared\+\_\+model\+\_\+get (\begin{DoxyParamCaption}\item[{void $\ast$}]{instance,  }\item[{const char $\ast$}]{key }\end{DoxyParamCaption})}



Get the shared model representation that is already shared and has the same key. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em instance} & The instance that is sharing the model representation. It will be registered at the referred list. \\
\hline
\mbox{\texttt{ in}}  & {\em key} & The key to find the matched shared representation. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The model interpreter. N\+U\+LL if it does not exist. 
\end{DoxyReturn}


Definition at line 2993 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a017e6c75d5b4192d07f39055e95ea877}\label{tensor__filter__common_8c_a017e6c75d5b4192d07f39055e95ea877}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_shared\_model\_insert\_and\_get@{nnstreamer\_filter\_shared\_model\_insert\_and\_get}}
\index{nnstreamer\_filter\_shared\_model\_insert\_and\_get@{nnstreamer\_filter\_shared\_model\_insert\_and\_get}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_shared\_model\_insert\_and\_get()}{nnstreamer\_filter\_shared\_model\_insert\_and\_get()}}
{\footnotesize\ttfamily void$\ast$ nnstreamer\+\_\+filter\+\_\+shared\+\_\+model\+\_\+insert\+\_\+and\+\_\+get (\begin{DoxyParamCaption}\item[{void $\ast$}]{instance,  }\item[{char $\ast$}]{key,  }\item[{void $\ast$}]{interpreter }\end{DoxyParamCaption})}



Insert the new shared model representation and get the value. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em instance} & The instance that is sharing the model representation. It will be registered at the referred list. \\
\hline
\mbox{\texttt{ in}}  & {\em key} & The key for shared model. \\
\hline
\mbox{\texttt{ in}}  & {\em interpreter} & The interpreter to be shared. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The model interpreter inserted. N\+U\+LL if it is already inserted. 
\end{DoxyReturn}
Internal error case. The interpreter already exists in shared table, do not insert and return null.

Definition at line 3026 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a5c43a0760c03a62a61998908cae04a98}\label{tensor__filter__common_8c_a5c43a0760c03a62a61998908cae04a98}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_shared\_model\_remove@{nnstreamer\_filter\_shared\_model\_remove}}
\index{nnstreamer\_filter\_shared\_model\_remove@{nnstreamer\_filter\_shared\_model\_remove}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_shared\_model\_remove()}{nnstreamer\_filter\_shared\_model\_remove()}}
{\footnotesize\ttfamily int nnstreamer\+\_\+filter\+\_\+shared\+\_\+model\+\_\+remove (\begin{DoxyParamCaption}\item[{void $\ast$}]{instance,  }\item[{const char $\ast$}]{key,  }\item[{void($\ast$)(void $\ast$)}]{free\+\_\+callback }\end{DoxyParamCaption})}



Remove the instance registered at the referred list of shared model table. If referred list is empty, {\ttfamily free\+\_\+callback} is executed. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em instance} & The instance that should be removed from the referred list. \\
\hline
\mbox{\texttt{ in}}  & {\em key} & The key to find the shared model. \\
\hline
\mbox{\texttt{ in}}  & {\em free\+\_\+callback} & The callback function to destroy the interpreter, which takes the interpreter as arg. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if the instance is removed. F\+A\+L\+SE if failed to remove it. 
\end{DoxyReturn}


Definition at line 3081 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a9ffddc0580bc6813e5a714ad90b57b0b}\label{tensor__filter__common_8c_a9ffddc0580bc6813e5a714ad90b57b0b}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_shared\_model\_replace@{nnstreamer\_filter\_shared\_model\_replace}}
\index{nnstreamer\_filter\_shared\_model\_replace@{nnstreamer\_filter\_shared\_model\_replace}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_shared\_model\_replace()}{nnstreamer\_filter\_shared\_model\_replace()}}
{\footnotesize\ttfamily void nnstreamer\+\_\+filter\+\_\+shared\+\_\+model\+\_\+replace (\begin{DoxyParamCaption}\item[{void $\ast$}]{instance,  }\item[{const char $\ast$}]{key,  }\item[{void $\ast$}]{new\+\_\+interpreter,  }\item[{void($\ast$)(void $\ast$, void $\ast$)}]{replace\+\_\+callback,  }\item[{void($\ast$)(void $\ast$)}]{free\+\_\+callback }\end{DoxyParamCaption})}



Helper to reload interpreter for instances that has shared key. {\ttfamily replace\+\_\+callback} is called iterating instances in referred list. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em instance} & The instance that is sharing the model representation. \\
\hline
\mbox{\texttt{ in}}  & {\em key} & The key to find the shared model. \\
\hline
\mbox{\texttt{ in}}  & {\em interpreter} & The new interpreter to replace. \\
\hline
\mbox{\texttt{ in}}  & {\em replace\+\_\+callback} & The callback function to replace with new interpreter. \\
\hline
\mbox{\texttt{ in}}  & {\em free\+\_\+callback} & The callback function to destroy the old interpreter. \\
\hline
\end{DoxyParams}


Definition at line 3128 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_afb209dbeb74388370cdc6da43989a2a6}\label{tensor__filter__common_8c_afb209dbeb74388370cdc6da43989a2a6}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!nnstreamer\_filter\_validate@{nnstreamer\_filter\_validate}}
\index{nnstreamer\_filter\_validate@{nnstreamer\_filter\_validate}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_filter\_validate()}{nnstreamer\_filter\_validate()}}
{\footnotesize\ttfamily static gboolean nnstreamer\+\_\+filter\+\_\+validate (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a2aed82bb2c62b38fba28759423860e0c}{Gst\+Tensor\+Filter\+Framework}} $\ast$}]{tfsp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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

Mandatory callbacks are not defined

Definition at line 560 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_afb209dbeb74388370cdc6da43989a2a6_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_afb209dbeb74388370cdc6da43989a2a6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ae4010578c5a7279e6117221e2e67cd0a}\label{tensor__filter__common_8c_ae4010578c5a7279e6117221e2e67cd0a}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!parse\_accl\_hw\_all@{parse\_accl\_hw\_all}}
\index{parse\_accl\_hw\_all@{parse\_accl\_hw\_all}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{parse\_accl\_hw\_all()}{parse\_accl\_hw\_all()}}
{\footnotesize\ttfamily static G\+List $\ast$ parse\+\_\+accl\+\_\+hw\+\_\+all (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{accelerators,  }\item[{const gchar $\ast$$\ast$}]{supported\+\_\+accelerators }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



parse user given string to extract list of accelerators based on given regex 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em accelerators} & user given input \\
\hline
\mbox{\texttt{ in}}  & {\em supported\+\_\+accelerators} & list of supported accelerators \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Corresponding list of accelerators maintaining given order 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Returned list must be freed by the caller 
\end{DoxyNote}
Default to auto mode

Now match each provided element and get specific accelerator

Definition at line 2620 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ae4010578c5a7279e6117221e2e67cd0a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ae4010578c5a7279e6117221e2e67cd0a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a7b23c24f2974bb92ccb346b9ca38ac18}\label{tensor__filter__common_8c_a7b23c24f2974bb92ccb346b9ca38ac18}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!parse\_accl\_hw\_fill@{parse\_accl\_hw\_fill}}
\index{parse\_accl\_hw\_fill@{parse\_accl\_hw\_fill}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{parse\_accl\_hw\_fill()}{parse\_accl\_hw\_fill()}}
{\footnotesize\ttfamily \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}} parse\+\_\+accl\+\_\+hw\+\_\+fill (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structparse__accl__args}{parse\+\_\+accl\+\_\+args}}}]{accl\+\_\+args }\end{DoxyParamCaption})}



parse user given string to extract accelerator based on given regex filling in optional arguments 

\begin{DoxyNote}{Note}
The order of arguments for calling this function is\+:
\begin{DoxyItemize}
\item in\+\_\+accl\+: user provided input accelerator string
\item sup\+\_\+accl\+: list of supported accelerator
\item auto\+\_\+accl\+: auto accelerator (optional)
\item def\+\_\+accl\+: default accelerator (optional) 
\end{DoxyItemize}
\end{DoxyNote}
remove unsupported accelerators from this list based on runtime system

filtered supported accelerators can be empty

update default accelerator if it is not available at runtime

update auto accelerator if it is not available at runtime

Definition at line 2833 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a7b23c24f2974bb92ccb346b9ca38ac18_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a93cc7b227556e576ec3244ec250dbb82}\label{tensor__filter__common_8c_a93cc7b227556e576ec3244ec250dbb82}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!parse\_accl\_hw\_util@{parse\_accl\_hw\_util}}
\index{parse\_accl\_hw\_util@{parse\_accl\_hw\_util}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{parse\_accl\_hw\_util()}{parse\_accl\_hw\_util()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{nnstreamer__plugin__api__filter_8h_a9aeeff91a7314001f4011dbdcb7500f8}{accl\+\_\+hw}} parse\+\_\+accl\+\_\+hw\+\_\+util (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{accelerators,  }\item[{const gchar $\ast$$\ast$}]{supported\+\_\+accelerators,  }\item[{const gchar $\ast$}]{auto\+\_\+accelerator,  }\item[{const gchar $\ast$}]{default\+\_\+accelerator }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



parse user given string to extract accelerator based on given regex 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em accelerators} & user given input \\
\hline
\mbox{\texttt{ in}}  & {\em supported\+\_\+accelerators} & list of supported accelerators \\
\hline
\mbox{\texttt{ in}}  & {\em auto\+\_\+accelerator} & accelerator to use in auto case (when acceleration is enabled but specific accelerator is not provided or not matching) \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+accelerator} & accelerator to use by default \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Corresponding accelerator. Returns A\+C\+C\+L\+\_\+\+N\+O\+NE if not found. 
\end{DoxyReturn}
add auto and default accelerator into list of supported accelerators

This can be A\+C\+C\+L\+\_\+\+N\+O\+NE (no acceleration) or a specific accelerator

Definition at line 2763 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a93cc7b227556e576ec3244ec250dbb82_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=330pt]{tensor__filter__common_8c_a93cc7b227556e576ec3244ec250dbb82_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a9c3d0133a46d9ab86e9e2f60d9ed70c8}\label{tensor__filter__common_8c_a9c3d0133a46d9ab86e9e2f60d9ed70c8}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!runtime\_check\_supported\_accelerator@{runtime\_check\_supported\_accelerator}}
\index{runtime\_check\_supported\_accelerator@{runtime\_check\_supported\_accelerator}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{runtime\_check\_supported\_accelerator()}{runtime\_check\_supported\_accelerator()}}
{\footnotesize\ttfamily static gint runtime\+\_\+check\+\_\+supported\+\_\+accelerator (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{accl }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Check if this accelerator can be used based on the runtime system. 


\begin{DoxyRetVals}{Return values}
{\em 0} & if filter can be used, -\/errno otherwise \\
\hline
\end{DoxyRetVals}
Allocate the array

Fill the array

Definition at line 2804 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a9c3d0133a46d9ab86e9e2f60d9ed70c8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_a9c3d0133a46d9ab86e9e2f60d9ed70c8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_ab24d1c8e37e17f077baf611d77c179ba}\label{tensor__filter__common_8c_ab24d1c8e37e17f077baf611d77c179ba}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!strcpy2@{strcpy2}}
\index{strcpy2@{strcpy2}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{strcpy2()}{strcpy2()}}
{\footnotesize\ttfamily static gchar$\ast$ strcpy2 (\begin{DoxyParamCaption}\item[{gchar $\ast$}]{dest,  }\item[{const gchar $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



copy the string from src to destination 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em dest} & destination string \\
\hline
\mbox{\texttt{ in}}  & {\em src} & source string \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
updated destination string 
\end{DoxyReturn}


Definition at line 414 of file tensor\+\_\+filter\+\_\+common.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter__common_8c_ab24d1c8e37e17f077baf611d77c179ba_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tensor__filter__common_8c_a09353c9276d2c80637da7a89ba860da1}\label{tensor__filter__common_8c_a09353c9276d2c80637da7a89ba860da1}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!verify\_model\_path@{verify\_model\_path}}
\index{verify\_model\_path@{verify\_model\_path}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{verify\_model\_path()}{verify\_model\_path()}}
{\footnotesize\ttfamily static gboolean verify\+\_\+model\+\_\+path (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{tensor__filter__common_8h_a1008ddabc82c64e2305fd7465cceee80}{Gst\+Tensor\+Filter\+Private}} $\ast$}]{priv }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Verify validity of path for given model file if verify\+\_\+model\+\_\+path is set. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em priv} & Struct containing the common tensor-\/filter properties of the object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if there is no error 
\end{DoxyReturn}


Definition at line 473 of file tensor\+\_\+filter\+\_\+common.\+c.

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


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{tensor__filter__common_8c_a234091c111c3053b594b2823ca9faf1e}\label{tensor__filter__common_8c_a234091c111c3053b594b2823ca9faf1e}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!regex\_accl\_elem\_utils@{regex\_accl\_elem\_utils}}
\index{regex\_accl\_elem\_utils@{regex\_accl\_elem\_utils}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{regex\_accl\_elem\_utils}{regex\_accl\_elem\_utils}}
{\footnotesize\ttfamily const gchar$\ast$ regex\+\_\+accl\+\_\+elem\+\_\+utils\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_abf942293643aecec5cfa5877263b3066}{REGEX\_ACCL\_ELEM\_START}},}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_a48ba235dd66bc5abb5632a415d3e8126}{REGEX\_ACCL\_ELEM\_PREFIX}},}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_ad72180d0e434239bc6b473698b410942}{REGEX\_ACCL\_ELEM\_SUFFIX}},}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_a7c32bb69f88cc1a987a689919b837f52}{REGEX\_ACCL\_ELEM\_DELIMITER}},}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_a7ca082de81549df334118b51de3ca095}{REGEX\_ACCL\_ELEM\_END}},}
\DoxyCodeLine{  NULL}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line 75 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_ab23e2064ab4656fdd69ec9f34b229cde}\label{tensor__filter__common_8c_ab23e2064ab4656fdd69ec9f34b229cde}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!regex\_accl\_utils@{regex\_accl\_utils}}
\index{regex\_accl\_utils@{regex\_accl\_utils}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{regex\_accl\_utils}{regex\_accl\_utils}}
{\footnotesize\ttfamily const gchar$\ast$ regex\+\_\+accl\+\_\+utils\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_aa465a1d5c8f9b2d7d26e4fb21664365d}{REGEX\_ACCL\_START}},}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_ac6edf8cabeb0fe884bc160228d59c0c9}{REGEX\_ACCL\_PREFIX}},}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_a35c69c2120bb73fe314359842f8dae08}{REGEX\_ACCL\_SUFFIX}},}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_ad54f00bab921929d871616ed89c7eada}{REGEX\_ACCL\_DELIMITER}},}
\DoxyCodeLine{  \mbox{\hyperlink{tensor__filter__common_8c_ae7872e8f1764ffdcbece9b7ee7c9e848}{REGEX\_ACCL\_END}},}
\DoxyCodeLine{  NULL}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line 66 of file tensor\+\_\+filter\+\_\+common.\+c.

\mbox{\Hypertarget{tensor__filter__common_8c_a386c739d4b1cb36a2a082cc654a789de}\label{tensor__filter__common_8c_a386c739d4b1cb36a2a082cc654a789de}} 
\index{tensor\_filter\_common.c@{tensor\_filter\_common.c}!shared\_model\_table@{shared\_model\_table}}
\index{shared\_model\_table@{shared\_model\_table}!tensor\_filter\_common.c@{tensor\_filter\_common.c}}
\doxysubsubsection{\texorpdfstring{shared\_model\_table}{shared\_model\_table}}
{\footnotesize\ttfamily G\+Hash\+Table$\ast$ shared\+\_\+model\+\_\+table = N\+U\+LL\hspace{0.3cm}{\ttfamily [static]}}



Definition at line 102 of file tensor\+\_\+filter\+\_\+common.\+c.

