\hypertarget{tensor__filter_8h}{}\doxysection{nnstreamer/tensor\+\_\+filter/tensor\+\_\+filter.h File Reference}
\label{tensor__filter_8h}\index{nnstreamer/tensor\_filter/tensor\_filter.h@{nnstreamer/tensor\_filter/tensor\_filter.h}}


G\+Streamer plugin to use general neural network frameworks as filters.  


{\ttfamily \#include $<$gst/gst.\+h$>$}\newline
{\ttfamily \#include $<$gst/gstinfo.\+h$>$}\newline
{\ttfamily \#include $<$gst/base/gstbasetransform.\+h$>$}\newline
{\ttfamily \#include \char`\"{}tensor\+\_\+common.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}nnstreamer\+\_\+subplugin.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}nnstreamer\+\_\+plugin\+\_\+api\+\_\+filter.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}tensor\+\_\+filter\+\_\+common.\+h\char`\"{}}\newline
Include dependency graph for tensor\+\_\+filter.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__filter_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__GstTensorFilter}{\+\_\+\+Gst\+Tensor\+Filter}}
\begin{DoxyCompactList}\small\item\em Internal data structure for tensor\+\_\+filter instances. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct__GstTensorFilterClass}{\+\_\+\+Gst\+Tensor\+Filter\+Class}}
\begin{DoxyCompactList}\small\item\em Gst\+Tensor\+Filter\+Class inherits Gst\+Base\+Transform\+Class. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}}~(\mbox{\hyperlink{tensor__filter_8h_a8fe37355c3e7556f4161fa1ba7bd3e13}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+type}}())
\item 
\#define \mbox{\hyperlink{tensor__filter_8h_ab40fd17b31eeda49fc3902d5f42d0189}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}}(obj)~(G\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+E\+C\+K\+\_\+\+I\+N\+S\+T\+A\+N\+C\+E\+\_\+\+C\+A\+ST((obj),\mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}},\mbox{\hyperlink{tensor__filter_8h_a197b091651b97cbce82d3b27a5c10b88}{Gst\+Tensor\+Filter}}))
\item 
\#define \mbox{\hyperlink{tensor__filter_8h_a4fc7f68f699395da38fa70c7a19459b2}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+C\+L\+A\+SS}}(klass)~(G\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+E\+C\+K\+\_\+\+C\+L\+A\+S\+S\+\_\+\+C\+A\+ST((klass),\mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}},\mbox{\hyperlink{tensor__filter_8h_ae4fad538a1d32e8c5884c2b23ddee6ea}{Gst\+Tensor\+Filter\+Class}}))
\item 
\#define \mbox{\hyperlink{tensor__filter_8h_a34cc7812fcbc569e107e0dc046a75a06}{G\+S\+T\+\_\+\+I\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}}(obj)~(G\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+E\+C\+K\+\_\+\+I\+N\+S\+T\+A\+N\+C\+E\+\_\+\+T\+Y\+PE((obj),\mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}}))
\item 
\#define \mbox{\hyperlink{tensor__filter_8h_a5bc5c3b386211af0e38b2edaa53c4bae}{G\+S\+T\+\_\+\+I\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+C\+L\+A\+SS}}(klass)~(G\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+E\+C\+K\+\_\+\+C\+L\+A\+S\+S\+\_\+\+T\+Y\+PE((klass),\mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}}))
\item 
\#define \mbox{\hyperlink{tensor__filter_8h_a0aab26e49ddab99a32da6bd51e97de7f}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+C\+A\+ST}}(obj)~((\mbox{\hyperlink{tensor__filter_8h_a197b091651b97cbce82d3b27a5c10b88}{Gst\+Tensor\+Filter}} $\ast$)(obj))
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{struct__GstTensorFilter}{\+\_\+\+Gst\+Tensor\+Filter}} \mbox{\hyperlink{tensor__filter_8h_a197b091651b97cbce82d3b27a5c10b88}{Gst\+Tensor\+Filter}}
\item 
typedef struct \mbox{\hyperlink{struct__GstTensorFilterClass}{\+\_\+\+Gst\+Tensor\+Filter\+Class}} \mbox{\hyperlink{tensor__filter_8h_ae4fad538a1d32e8c5884c2b23ddee6ea}{Gst\+Tensor\+Filter\+Class}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
G\+Type \mbox{\hyperlink{tensor__filter_8h_a8fe37355c3e7556f4161fa1ba7bd3e13}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+type}} (void)
\begin{DoxyCompactList}\small\item\em Get Type function required for gst elements. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
G\+Streamer plugin to use general neural network frameworks as filters. 

G\+Streamer Tensor\+\_\+\+Filter Copyright (C) 2005 Thomas Vander Stichele \href{mailto:thomas@apestaart.org}{\texttt{ thomas@apestaart.\+org}} Copyright (C) 2005 Ronald S. Bultje \href{mailto:rbultje@ronald.bitfreak.net}{\texttt{ rbultje@ronald.\+bitfreak.\+net}} Copyright (C) 2018 Myung\+Joo Ham \href{mailto:myungjoo.ham@samsung.com}{\texttt{ myungjoo.\+ham@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}
24 May 2018 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{http://github.com/nnstreamer/nnstreamer}{\texttt{ http\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Myung\+Joo Ham \href{mailto:myungjoo.ham@samsung.com}{\texttt{ myungjoo.\+ham@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000104}{Bug}}]No known bugs except for N\+YI items\end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000060}{Todo}}]T\+BD\+: Should we disable \char`\"{}in-\/place\char`\"{} mode? (what if output size $>$ input size?) \end{DoxyRefDesc}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{tensor__filter_8h_a34cc7812fcbc569e107e0dc046a75a06}\label{tensor__filter_8h_a34cc7812fcbc569e107e0dc046a75a06}} 
\index{tensor\_filter.h@{tensor\_filter.h}!GST\_IS\_TENSOR\_FILTER@{GST\_IS\_TENSOR\_FILTER}}
\index{GST\_IS\_TENSOR\_FILTER@{GST\_IS\_TENSOR\_FILTER}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{GST\_IS\_TENSOR\_FILTER}{GST\_IS\_TENSOR\_FILTER}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+I\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER(\begin{DoxyParamCaption}\item[{}]{obj }\end{DoxyParamCaption})~(G\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+E\+C\+K\+\_\+\+I\+N\+S\+T\+A\+N\+C\+E\+\_\+\+T\+Y\+PE((obj),\mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}}))}



Definition at line 49 of file tensor\+\_\+filter.\+h.

\mbox{\Hypertarget{tensor__filter_8h_a5bc5c3b386211af0e38b2edaa53c4bae}\label{tensor__filter_8h_a5bc5c3b386211af0e38b2edaa53c4bae}} 
\index{tensor\_filter.h@{tensor\_filter.h}!GST\_IS\_TENSOR\_FILTER\_CLASS@{GST\_IS\_TENSOR\_FILTER\_CLASS}}
\index{GST\_IS\_TENSOR\_FILTER\_CLASS@{GST\_IS\_TENSOR\_FILTER\_CLASS}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{GST\_IS\_TENSOR\_FILTER\_CLASS}{GST\_IS\_TENSOR\_FILTER\_CLASS}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+I\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+C\+L\+A\+SS(\begin{DoxyParamCaption}\item[{}]{klass }\end{DoxyParamCaption})~(G\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+E\+C\+K\+\_\+\+C\+L\+A\+S\+S\+\_\+\+T\+Y\+PE((klass),\mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}}))}



Definition at line 51 of file tensor\+\_\+filter.\+h.

\mbox{\Hypertarget{tensor__filter_8h_ab40fd17b31eeda49fc3902d5f42d0189}\label{tensor__filter_8h_ab40fd17b31eeda49fc3902d5f42d0189}} 
\index{tensor\_filter.h@{tensor\_filter.h}!GST\_TENSOR\_FILTER@{GST\_TENSOR\_FILTER}}
\index{GST\_TENSOR\_FILTER@{GST\_TENSOR\_FILTER}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_FILTER}{GST\_TENSOR\_FILTER}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER(\begin{DoxyParamCaption}\item[{}]{obj }\end{DoxyParamCaption})~(G\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+E\+C\+K\+\_\+\+I\+N\+S\+T\+A\+N\+C\+E\+\_\+\+C\+A\+ST((obj),\mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}},\mbox{\hyperlink{tensor__filter_8h_a197b091651b97cbce82d3b27a5c10b88}{Gst\+Tensor\+Filter}}))}



Definition at line 45 of file tensor\+\_\+filter.\+h.

\mbox{\Hypertarget{tensor__filter_8h_a0aab26e49ddab99a32da6bd51e97de7f}\label{tensor__filter_8h_a0aab26e49ddab99a32da6bd51e97de7f}} 
\index{tensor\_filter.h@{tensor\_filter.h}!GST\_TENSOR\_FILTER\_CAST@{GST\_TENSOR\_FILTER\_CAST}}
\index{GST\_TENSOR\_FILTER\_CAST@{GST\_TENSOR\_FILTER\_CAST}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_FILTER\_CAST}{GST\_TENSOR\_FILTER\_CAST}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+C\+A\+ST(\begin{DoxyParamCaption}\item[{}]{obj }\end{DoxyParamCaption})~((\mbox{\hyperlink{tensor__filter_8h_a197b091651b97cbce82d3b27a5c10b88}{Gst\+Tensor\+Filter}} $\ast$)(obj))}



Definition at line 53 of file tensor\+\_\+filter.\+h.

\mbox{\Hypertarget{tensor__filter_8h_a4fc7f68f699395da38fa70c7a19459b2}\label{tensor__filter_8h_a4fc7f68f699395da38fa70c7a19459b2}} 
\index{tensor\_filter.h@{tensor\_filter.h}!GST\_TENSOR\_FILTER\_CLASS@{GST\_TENSOR\_FILTER\_CLASS}}
\index{GST\_TENSOR\_FILTER\_CLASS@{GST\_TENSOR\_FILTER\_CLASS}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{GST\_TENSOR\_FILTER\_CLASS}{GST\_TENSOR\_FILTER\_CLASS}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+E\+R\+\_\+\+C\+L\+A\+SS(\begin{DoxyParamCaption}\item[{}]{klass }\end{DoxyParamCaption})~(G\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+E\+C\+K\+\_\+\+C\+L\+A\+S\+S\+\_\+\+C\+A\+ST((klass),\mbox{\hyperlink{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER}},\mbox{\hyperlink{tensor__filter_8h_ae4fad538a1d32e8c5884c2b23ddee6ea}{Gst\+Tensor\+Filter\+Class}}))}



Definition at line 47 of file tensor\+\_\+filter.\+h.

\mbox{\Hypertarget{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}\label{tensor__filter_8h_a5aeeaae481e2578b24f596eae29f88b7}} 
\index{tensor\_filter.h@{tensor\_filter.h}!GST\_TYPE\_TENSOR\_FILTER@{GST\_TYPE\_TENSOR\_FILTER}}
\index{GST\_TYPE\_TENSOR\_FILTER@{GST\_TYPE\_TENSOR\_FILTER}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{GST\_TYPE\_TENSOR\_FILTER}{GST\_TYPE\_TENSOR\_FILTER}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+I\+L\+T\+ER~(\mbox{\hyperlink{tensor__filter_8h_a8fe37355c3e7556f4161fa1ba7bd3e13}{gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+type}}())}



Definition at line 43 of file tensor\+\_\+filter.\+h.



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{tensor__filter_8h_a197b091651b97cbce82d3b27a5c10b88}\label{tensor__filter_8h_a197b091651b97cbce82d3b27a5c10b88}} 
\index{tensor\_filter.h@{tensor\_filter.h}!GstTensorFilter@{GstTensorFilter}}
\index{GstTensorFilter@{GstTensorFilter}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{GstTensorFilter}{GstTensorFilter}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{struct__GstTensorFilter}{\+\_\+\+Gst\+Tensor\+Filter}} \mbox{\hyperlink{tensor__filter_8h_a197b091651b97cbce82d3b27a5c10b88}{Gst\+Tensor\+Filter}}}



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

\mbox{\Hypertarget{tensor__filter_8h_ae4fad538a1d32e8c5884c2b23ddee6ea}\label{tensor__filter_8h_ae4fad538a1d32e8c5884c2b23ddee6ea}} 
\index{tensor\_filter.h@{tensor\_filter.h}!GstTensorFilterClass@{GstTensorFilterClass}}
\index{GstTensorFilterClass@{GstTensorFilterClass}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{GstTensorFilterClass}{GstTensorFilterClass}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{struct__GstTensorFilterClass}{\+\_\+\+Gst\+Tensor\+Filter\+Class}} \mbox{\hyperlink{tensor__filter_8h_ae4fad538a1d32e8c5884c2b23ddee6ea}{Gst\+Tensor\+Filter\+Class}}}



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



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{tensor__filter_8h_a8fe37355c3e7556f4161fa1ba7bd3e13}\label{tensor__filter_8h_a8fe37355c3e7556f4161fa1ba7bd3e13}} 
\index{tensor\_filter.h@{tensor\_filter.h}!gst\_tensor\_filter\_get\_type@{gst\_tensor\_filter\_get\_type}}
\index{gst\_tensor\_filter\_get\_type@{gst\_tensor\_filter\_get\_type}!tensor\_filter.h@{tensor\_filter.h}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_filter\_get\_type()}{gst\_tensor\_filter\_get\_type()}}
{\footnotesize\ttfamily G\+Type gst\+\_\+tensor\+\_\+filter\+\_\+get\+\_\+type (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Get Type function required for gst elements. 

