\hypertarget{gsttensor__crop_8c}{}\doxysection{nnstreamer/elements/gsttensor\+\_\+crop.c File Reference}
\label{gsttensor__crop_8c}\index{nnstreamer/elements/gsttensor\_crop.c@{nnstreamer/elements/gsttensor\_crop.c}}


G\+Streamer element to crop the regions of incoming tensor.  


{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$nnstreamer\+\_\+util.\+h$>$}\newline
{\ttfamily \#include \char`\"{}gsttensor\+\_\+crop.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}tensor\+\_\+data.\+h\char`\"{}}\newline
Include dependency graph for gsttensor\+\_\+crop.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structtensor__region__s}{tensor\+\_\+region\+\_\+s}}
\begin{DoxyCompactList}\small\item\em Internal data structure to describe tensor region. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structtensor__crop__info__s}{tensor\+\_\+crop\+\_\+info\+\_\+s}}
\begin{DoxyCompactList}\small\item\em Internal data structure to describe cropping tensor data. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{gsttensor__crop_8c_adef911caed7c65a1643062817f4a59d7}{G\+S\+T\+\_\+\+C\+A\+T\+\_\+\+D\+E\+F\+A\+U\+LT}}~gst\+\_\+tensor\+\_\+crop\+\_\+debug
\item 
\#define \mbox{\hyperlink{gsttensor__crop_8c_a18d799dbbbb0fd0132807aa9bb7d9adf}{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+I\+L\+E\+NT}}~\mbox{\hyperlink{gsttensor__if_8c_a834713a9a17ec303f21e3dc4ecbe9161}{T\+R\+UE}}
\begin{DoxyCompactList}\small\item\em Flag to print minimized log. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__crop_8c_adfe10ac89de1554c99a83e8442e53f96}{D\+E\+F\+A\+U\+L\+T\+\_\+\+L\+A\+T\+E\+N\+E\+SS}}~(-\/1)
\begin{DoxyCompactList}\small\item\em Default value to compare timestamp of raw and info buffer, in milliseconds (-\/1 means no synchronization). \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__crop_8c_a3bc2b6281d230bd96405beaf93299321}{gst\+\_\+tensor\+\_\+crop\+\_\+parent\+\_\+class}}~parent\+\_\+class
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \mbox{\hyperlink{gsttensor__crop_8c_aba01db17f4a2bfbc3db60dc172972a25ac37dda0da1a44e10c0504afeeb863f3c}{P\+R\+O\+P\+\_\+0}}, 
\mbox{\hyperlink{gsttensor__crop_8c_aba01db17f4a2bfbc3db60dc172972a25a2a89b7135771374077058b4e92fa6a39}{P\+R\+O\+P\+\_\+\+L\+A\+T\+E\+N\+E\+SS}}, 
\mbox{\hyperlink{gsttensor__crop_8c_aba01db17f4a2bfbc3db60dc172972a25a707b785966c328fb5a6088b7879c7bb5}{P\+R\+O\+P\+\_\+\+S\+I\+L\+E\+NT}}
 \}
\begin{DoxyCompactList}\small\item\em tensor\+\_\+crop properties \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{gsttensor__crop_8c_aad02b0dd9c769a8510ed1e2f30c2e590}{G\+S\+T\+\_\+\+D\+E\+B\+U\+G\+\_\+\+C\+A\+T\+E\+G\+O\+R\+Y\+\_\+\+S\+T\+A\+T\+IC}} (gst\+\_\+tensor\+\_\+crop\+\_\+debug)
\item 
\mbox{\hyperlink{gsttensor__crop_8c_adadc5070a2126fe83da20c0844b95aa2}{G\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+T\+Y\+PE}} (\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}}, gst\+\_\+tensor\+\_\+crop, G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+E\+L\+E\+M\+E\+NT)
\item 
static void \mbox{\hyperlink{gsttensor__crop_8c_a118e45c2ab164556b1340a2bfef136f7}{gst\+\_\+tensor\+\_\+crop\+\_\+finalize}} (G\+Object $\ast$object)
\begin{DoxyCompactList}\small\item\em Function to finalize instance. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__crop_8c_aa6b65014bc3cfe45783ad39daea43126}{gst\+\_\+tensor\+\_\+crop\+\_\+set\+\_\+property}} (G\+Object $\ast$object, guint prop\+\_\+id, const G\+Value $\ast$value, G\+Param\+Spec $\ast$pspec)
\begin{DoxyCompactList}\small\item\em Setter for tensor\+\_\+crop properties. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__crop_8c_a43566f25f3faba2622a7c5905329a792}{gst\+\_\+tensor\+\_\+crop\+\_\+get\+\_\+property}} (G\+Object $\ast$object, guint prop\+\_\+id, G\+Value $\ast$value, G\+Param\+Spec $\ast$pspec)
\begin{DoxyCompactList}\small\item\em Getter for tensor\+\_\+crop properties. \end{DoxyCompactList}\item 
static Gst\+State\+Change\+Return \mbox{\hyperlink{gsttensor__crop_8c_a0ca4e11e61834463b5923d942393d17f}{gst\+\_\+tensor\+\_\+crop\+\_\+change\+\_\+state}} (Gst\+Element $\ast$element, Gst\+State\+Change transition)
\begin{DoxyCompactList}\small\item\em Handle state transition. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__crop_8c_a52286219e98e794860a5a9806c502f01}{gst\+\_\+tensor\+\_\+crop\+\_\+src\+\_\+event}} (Gst\+Pad $\ast$pad, Gst\+Object $\ast$parent, Gst\+Event $\ast$event)
\begin{DoxyCompactList}\small\item\em Handle event on src pad. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__crop_8c_a2617872f107f9114dfbc4449d01456cf}{gst\+\_\+tensor\+\_\+crop\+\_\+sink\+\_\+event}} (Gst\+Collect\+Pads $\ast$pads, Gst\+Collect\+Data $\ast$\mbox{\hyperlink{gsttensor__if_8c_a3c9cc8d6e8da85fef51da4c7115b97f6}{data}}, Gst\+Event $\ast$event, gpointer user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Handle event on sink pad. \end{DoxyCompactList}\item 
static Gst\+Flow\+Return \mbox{\hyperlink{gsttensor__crop_8c_a0255c4c7be50eec7111d0b95f46a7c72}{gst\+\_\+tensor\+\_\+crop\+\_\+collected}} (Gst\+Collect\+Pads $\ast$pads, gpointer user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Chain function called when the buffer is available on all of the collect pads. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__crop_8c_a5c4e7136b467b3ff0f9cf7f344acbf75}{gst\+\_\+tensor\+\_\+crop\+\_\+class\+\_\+init}} (\mbox{\hyperlink{gsttensor__crop_8h_a38ecdd664d27179a51ebd9b79636298d}{Gst\+Tensor\+Crop\+Class}} $\ast$klass)
\begin{DoxyCompactList}\small\item\em Initialize the tensor\+\_\+crop\textquotesingle{}s class. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__crop_8c_a5a183e0e7b4ec2835dab800cc4d69c92}{gst\+\_\+tensor\+\_\+crop\+\_\+pad\+\_\+reset}} (\mbox{\hyperlink{structGstTensorCropPadData}{Gst\+Tensor\+Crop\+Pad\+Data}} $\ast$cpad)
\begin{DoxyCompactList}\small\item\em Clear and reset old pad data. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__crop_8c_a0170a09ffd0c91769d7949bb8f9878cf}{gst\+\_\+tensor\+\_\+crop\+\_\+reset}} (\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$self)
\begin{DoxyCompactList}\small\item\em Clear and reset old data in tensor\+\_\+crop. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__crop_8c_ac2b440809aaa9c7f274d8000b3c2f622}{gst\+\_\+tensor\+\_\+crop\+\_\+init}} (\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$self)
\begin{DoxyCompactList}\small\item\em Initialize tensor\+\_\+crop element. \end{DoxyCompactList}\item 
static Gst\+Flow\+Return \mbox{\hyperlink{gsttensor__crop_8c_a13cbc79a231fe773470dc329741b46bc}{gst\+\_\+tensor\+\_\+crop\+\_\+negotiate}} (\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$self)
\begin{DoxyCompactList}\small\item\em Set pad caps if not negotiated. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__crop_8c_ad569968640602937265f19f15c05283b}{gst\+\_\+tensor\+\_\+crop\+\_\+prepare\+\_\+out\+\_\+meta}} (\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$self, gpointer buffer, \mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta, \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info, gboolean $\ast$is\+\_\+flexible)
\begin{DoxyCompactList}\small\item\em Internal function to prepare output meta info. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__crop_8c_a54e29afafecb7e26bf68ca5ae2e34754}{gst\+\_\+tensor\+\_\+crop\+\_\+get\+\_\+crop\+\_\+info}} (\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$self, Gst\+Buffer $\ast$info, \mbox{\hyperlink{structtensor__crop__info__s}{tensor\+\_\+crop\+\_\+info\+\_\+s}} $\ast$cinfo)
\begin{DoxyCompactList}\small\item\em Internal function to parse buffer and fill crop info. \end{DoxyCompactList}\item 
static Gst\+Buffer $\ast$ \mbox{\hyperlink{gsttensor__crop_8c_ad375832cbc013154addf82612d927270}{gst\+\_\+tensor\+\_\+crop\+\_\+do\+\_\+cropping}} (\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$self, Gst\+Buffer $\ast$raw, \mbox{\hyperlink{structtensor__crop__info__s}{tensor\+\_\+crop\+\_\+info\+\_\+s}} $\ast$cinfo)
\begin{DoxyCompactList}\small\item\em Internal function to crop incoming buffer. \end{DoxyCompactList}\item 
static Gst\+Flow\+Return \mbox{\hyperlink{gsttensor__crop_8c_a3648d2c56a56d2ff24d2a3323a17d3a8}{gst\+\_\+tensor\+\_\+crop\+\_\+chain}} (\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$self, Gst\+Collect\+Data $\ast$data\+\_\+raw, Gst\+Collect\+Data $\ast$data\+\_\+info)
\begin{DoxyCompactList}\small\item\em Internal function to transform the input buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static Gst\+Static\+Pad\+Template \mbox{\hyperlink{gsttensor__crop_8c_ac6186ac5fefc42c7c0ad3d963109dcaf}{raw\+\_\+template}}
\begin{DoxyCompactList}\small\item\em Template for sink pad (raw data). \end{DoxyCompactList}\item 
static Gst\+Static\+Pad\+Template \mbox{\hyperlink{gsttensor__crop_8c_a94e7f780c53ff974ca945ceabc393de5}{info\+\_\+template}}
\begin{DoxyCompactList}\small\item\em Template for sink pad (crop info). \end{DoxyCompactList}\item 
static Gst\+Static\+Pad\+Template \mbox{\hyperlink{gsttensor__crop_8c_a643731249f31c7864f3fb8d64d41a373}{src\+\_\+template}}
\begin{DoxyCompactList}\small\item\em Template for src pad. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
G\+Streamer element to crop the regions of incoming tensor. 

Copyright (C) 2021 Samsung Electronics Co., Ltd.

\begin{DoxyDate}{Date}
10 May 2021 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{https://github.com/nnstreamer/nnstreamer}{\texttt{ https\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Jaeyun Jung \href{mailto:jy1210.jung@samsung.com}{\texttt{ jy1210.\+jung@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000032}{Bug}}]No known bugs except for N\+YI items \end{DoxyRefDesc}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{gsttensor__crop_8c_adfe10ac89de1554c99a83e8442e53f96}\label{gsttensor__crop_8c_adfe10ac89de1554c99a83e8442e53f96}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!DEFAULT\_LATENESS@{DEFAULT\_LATENESS}}
\index{DEFAULT\_LATENESS@{DEFAULT\_LATENESS}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{DEFAULT\_LATENESS}{DEFAULT\_LATENESS}}
{\footnotesize\ttfamily \#define D\+E\+F\+A\+U\+L\+T\+\_\+\+L\+A\+T\+E\+N\+E\+SS~(-\/1)}



Default value to compare timestamp of raw and info buffer, in milliseconds (-\/1 means no synchronization). 



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

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



Flag to print minimized log. 



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

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



Definition at line 69 of file gsttensor\+\_\+crop.\+c.

\mbox{\Hypertarget{gsttensor__crop_8c_a3bc2b6281d230bd96405beaf93299321}\label{gsttensor__crop_8c_a3bc2b6281d230bd96405beaf93299321}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_parent\_class@{gst\_tensor\_crop\_parent\_class}}
\index{gst\_tensor\_crop\_parent\_class@{gst\_tensor\_crop\_parent\_class}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_parent\_class}{gst\_tensor\_crop\_parent\_class}}
{\footnotesize\ttfamily \#define gst\+\_\+tensor\+\_\+crop\+\_\+parent\+\_\+class~parent\+\_\+class}



Definition at line 116 of file gsttensor\+\_\+crop.\+c.



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



tensor\+\_\+crop properties 

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

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_LATENESS@{PROP\_LATENESS}!gsttensor\_crop.c@{gsttensor\_crop.c}}\index{gsttensor\_crop.c@{gsttensor\_crop.c}!PROP\_LATENESS@{PROP\_LATENESS}}}\mbox{\Hypertarget{gsttensor__crop_8c_aba01db17f4a2bfbc3db60dc172972a25a2a89b7135771374077058b4e92fa6a39}\label{gsttensor__crop_8c_aba01db17f4a2bfbc3db60dc172972a25a2a89b7135771374077058b4e92fa6a39}} 
P\+R\+O\+P\+\_\+\+L\+A\+T\+E\+N\+E\+SS&\\
\hline

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

\end{DoxyEnumFields}


Definition at line 74 of file gsttensor\+\_\+crop.\+c.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{gsttensor__crop_8c_adadc5070a2126fe83da20c0844b95aa2}\label{gsttensor__crop_8c_adadc5070a2126fe83da20c0844b95aa2}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!G\_DEFINE\_TYPE@{G\_DEFINE\_TYPE}}
\index{G\_DEFINE\_TYPE@{G\_DEFINE\_TYPE}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{G\_DEFINE\_TYPE()}{G\_DEFINE\_TYPE()}}
{\footnotesize\ttfamily G\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+T\+Y\+PE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}}}]{,  }\item[{gst\+\_\+tensor\+\_\+crop}]{,  }\item[{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+E\+L\+E\+M\+E\+NT}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{gsttensor__crop_8c_aad02b0dd9c769a8510ed1e2f30c2e590}\label{gsttensor__crop_8c_aad02b0dd9c769a8510ed1e2f30c2e590}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!GST\_DEBUG\_CATEGORY\_STATIC@{GST\_DEBUG\_CATEGORY\_STATIC}}
\index{GST\_DEBUG\_CATEGORY\_STATIC@{GST\_DEBUG\_CATEGORY\_STATIC}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{GST\_DEBUG\_CATEGORY\_STATIC()}{GST\_DEBUG\_CATEGORY\_STATIC()}}
{\footnotesize\ttfamily G\+S\+T\+\_\+\+D\+E\+B\+U\+G\+\_\+\+C\+A\+T\+E\+G\+O\+R\+Y\+\_\+\+S\+T\+A\+T\+IC (\begin{DoxyParamCaption}\item[{gst\+\_\+tensor\+\_\+crop\+\_\+debug}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{gsttensor__crop_8c_a3648d2c56a56d2ff24d2a3323a17d3a8}\label{gsttensor__crop_8c_a3648d2c56a56d2ff24d2a3323a17d3a8}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_chain@{gst\_tensor\_crop\_chain}}
\index{gst\_tensor\_crop\_chain@{gst\_tensor\_crop\_chain}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_chain()}{gst\_tensor\_crop\_chain()}}
{\footnotesize\ttfamily static Gst\+Flow\+Return gst\+\_\+tensor\+\_\+crop\+\_\+chain (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$}]{self,  }\item[{Gst\+Collect\+Data $\ast$}]{data\+\_\+raw,  }\item[{Gst\+Collect\+Data $\ast$}]{data\+\_\+info }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to transform the input buffer. 

The case when raw and info have different timestamp. Compare timestamp and if time diff is less than lateness, crop raw buffer.

Definition at line 725 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a3648d2c56a56d2ff24d2a3323a17d3a8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a3648d2c56a56d2ff24d2a3323a17d3a8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a0ca4e11e61834463b5923d942393d17f}\label{gsttensor__crop_8c_a0ca4e11e61834463b5923d942393d17f}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_change\_state@{gst\_tensor\_crop\_change\_state}}
\index{gst\_tensor\_crop\_change\_state@{gst\_tensor\_crop\_change\_state}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_change\_state()}{gst\_tensor\_crop\_change\_state()}}
{\footnotesize\ttfamily static Gst\+State\+Change\+Return gst\+\_\+tensor\+\_\+crop\+\_\+change\+\_\+state (\begin{DoxyParamCaption}\item[{Gst\+Element $\ast$}]{element,  }\item[{Gst\+State\+Change}]{transition }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle state transition. 



Definition at line 333 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a0ca4e11e61834463b5923d942393d17f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a0ca4e11e61834463b5923d942393d17f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a5c4e7136b467b3ff0f9cf7f344acbf75}\label{gsttensor__crop_8c_a5c4e7136b467b3ff0f9cf7f344acbf75}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_class\_init@{gst\_tensor\_crop\_class\_init}}
\index{gst\_tensor\_crop\_class\_init@{gst\_tensor\_crop\_class\_init}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_class\_init()}{gst\_tensor\_crop\_class\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+crop\+\_\+class\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_a38ecdd664d27179a51ebd9b79636298d}{Gst\+Tensor\+Crop\+Class}} $\ast$}]{klass }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialize the tensor\+\_\+crop\textquotesingle{}s class. 

\mbox{\hyperlink{struct__GstTensorCrop_a92ce60aacf14b8078ee97f13c65e7e11}{Gst\+Tensor\+Crop\+::lateness}}\+:

The time difference between raw and info buffer, in milliseconds (-\/1 means no synchronization). If raw and info buffers on the pads have different timestamp and time-\/diff is larger than \textquotesingle{}lateness\textquotesingle{}, tensor-\/crop will drop old buffer and wait for next buffers.

\mbox{\hyperlink{struct__GstTensorCrop_a2247be3369f2e138995931df9d6af063}{Gst\+Tensor\+Crop\+::silent}}\+:

The flag to enable/disable debugging messages.

Definition at line 137 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a5c4e7136b467b3ff0f9cf7f344acbf75_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a0255c4c7be50eec7111d0b95f46a7c72}\label{gsttensor__crop_8c_a0255c4c7be50eec7111d0b95f46a7c72}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_collected@{gst\_tensor\_crop\_collected}}
\index{gst\_tensor\_crop\_collected@{gst\_tensor\_crop\_collected}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_collected()}{gst\_tensor\_crop\_collected()}}
{\footnotesize\ttfamily static Gst\+Flow\+Return gst\+\_\+tensor\+\_\+crop\+\_\+collected (\begin{DoxyParamCaption}\item[{Gst\+Collect\+Pads $\ast$}]{pads,  }\item[{gpointer}]{user\+\_\+data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Chain function called when the buffer is available on all of the collect pads. 



Definition at line 812 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a0255c4c7be50eec7111d0b95f46a7c72_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a0255c4c7be50eec7111d0b95f46a7c72_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_ad375832cbc013154addf82612d927270}\label{gsttensor__crop_8c_ad375832cbc013154addf82612d927270}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_do\_cropping@{gst\_tensor\_crop\_do\_cropping}}
\index{gst\_tensor\_crop\_do\_cropping@{gst\_tensor\_crop\_do\_cropping}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_do\_cropping()}{gst\_tensor\_crop\_do\_cropping()}}
{\footnotesize\ttfamily static Gst\+Buffer$\ast$ gst\+\_\+tensor\+\_\+crop\+\_\+do\+\_\+cropping (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$}]{self,  }\item[{Gst\+Buffer $\ast$}]{raw,  }\item[{\mbox{\hyperlink{structtensor__crop__info__s}{tensor\+\_\+crop\+\_\+info\+\_\+s}} $\ast$}]{cinfo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to crop incoming buffer. 

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000022}{Todo}}]Add various mode to crop tensor. \end{DoxyRefDesc}


Definition at line 624 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_ad375832cbc013154addf82612d927270_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_ad375832cbc013154addf82612d927270_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a118e45c2ab164556b1340a2bfef136f7}\label{gsttensor__crop_8c_a118e45c2ab164556b1340a2bfef136f7}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_finalize@{gst\_tensor\_crop\_finalize}}
\index{gst\_tensor\_crop\_finalize@{gst\_tensor\_crop\_finalize}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_finalize()}{gst\_tensor\_crop\_finalize()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+crop\+\_\+finalize (\begin{DoxyParamCaption}\item[{G\+Object $\ast$}]{object }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Function to finalize instance. 



Definition at line 265 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a118e45c2ab164556b1340a2bfef136f7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a118e45c2ab164556b1340a2bfef136f7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a54e29afafecb7e26bf68ca5ae2e34754}\label{gsttensor__crop_8c_a54e29afafecb7e26bf68ca5ae2e34754}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_get\_crop\_info@{gst\_tensor\_crop\_get\_crop\_info}}
\index{gst\_tensor\_crop\_get\_crop\_info@{gst\_tensor\_crop\_get\_crop\_info}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_get\_crop\_info()}{gst\_tensor\_crop\_get\_crop\_info()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensor\+\_\+crop\+\_\+get\+\_\+crop\+\_\+info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$}]{self,  }\item[{Gst\+Buffer $\ast$}]{info,  }\item[{\mbox{\hyperlink{structtensor__crop__info__s}{tensor\+\_\+crop\+\_\+info\+\_\+s}} $\ast$}]{cinfo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to parse buffer and fill crop info. 

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000021}{Todo}}]Add various mode to crop tensor. Now tensor-\/crop handles N\+H\+WC data format only. \end{DoxyRefDesc}


Definition at line 547 of file gsttensor\+\_\+crop.\+c.

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



Getter for tensor\+\_\+crop properties. 



Definition at line 309 of file gsttensor\+\_\+crop.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a43566f25f3faba2622a7c5905329a792_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_ac2b440809aaa9c7f274d8000b3c2f622}\label{gsttensor__crop_8c_ac2b440809aaa9c7f274d8000b3c2f622}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_init@{gst\_tensor\_crop\_init}}
\index{gst\_tensor\_crop\_init@{gst\_tensor\_crop\_init}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_init()}{gst\_tensor\_crop\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+crop\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialize tensor\+\_\+crop element. 



Definition at line 228 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_ac2b440809aaa9c7f274d8000b3c2f622_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a13cbc79a231fe773470dc329741b46bc}\label{gsttensor__crop_8c_a13cbc79a231fe773470dc329741b46bc}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_negotiate@{gst\_tensor\_crop\_negotiate}}
\index{gst\_tensor\_crop\_negotiate@{gst\_tensor\_crop\_negotiate}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_negotiate()}{gst\_tensor\_crop\_negotiate()}}
{\footnotesize\ttfamily static Gst\+Flow\+Return gst\+\_\+tensor\+\_\+crop\+\_\+negotiate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Set pad caps if not negotiated. 

Cannot use gst-\/pad util to get stream ID (multiple sink pads). Create stream ID using first sink pad.

Get config from collect-\/pads and set framerate. Output is always flexible tensor.

Definition at line 423 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a13cbc79a231fe773470dc329741b46bc_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a13cbc79a231fe773470dc329741b46bc_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a5a183e0e7b4ec2835dab800cc4d69c92}\label{gsttensor__crop_8c_a5a183e0e7b4ec2835dab800cc4d69c92}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_pad\_reset@{gst\_tensor\_crop\_pad\_reset}}
\index{gst\_tensor\_crop\_pad\_reset@{gst\_tensor\_crop\_pad\_reset}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_pad\_reset()}{gst\_tensor\_crop\_pad\_reset()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+crop\+\_\+pad\+\_\+reset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorCropPadData}{Gst\+Tensor\+Crop\+Pad\+Data}} $\ast$}]{cpad }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Clear and reset old pad data. 



Definition at line 195 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a5a183e0e7b4ec2835dab800cc4d69c92_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a5a183e0e7b4ec2835dab800cc4d69c92_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_ad569968640602937265f19f15c05283b}\label{gsttensor__crop_8c_ad569968640602937265f19f15c05283b}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_prepare\_out\_meta@{gst\_tensor\_crop\_prepare\_out\_meta}}
\index{gst\_tensor\_crop\_prepare\_out\_meta@{gst\_tensor\_crop\_prepare\_out\_meta}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_prepare\_out\_meta()}{gst\_tensor\_crop\_prepare\_out\_meta()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensor\+\_\+crop\+\_\+prepare\+\_\+out\+\_\+meta (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$}]{self,  }\item[{gpointer}]{buffer,  }\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta,  }\item[{\mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info,  }\item[{gboolean $\ast$}]{is\+\_\+flexible }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to prepare output meta info. 

\begin{DoxyNote}{Note}
tensor-\/crop handles single tensor. Parse first one.
\end{DoxyNote}


Definition at line 497 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_ad569968640602937265f19f15c05283b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_ad569968640602937265f19f15c05283b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a0170a09ffd0c91769d7949bb8f9878cf}\label{gsttensor__crop_8c_a0170a09ffd0c91769d7949bb8f9878cf}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_reset@{gst\_tensor\_crop\_reset}}
\index{gst\_tensor\_crop\_reset@{gst\_tensor\_crop\_reset}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_reset()}{gst\_tensor\_crop\_reset()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+crop\+\_\+reset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__crop_8h_ab4d21ece44751b87e07b8bc33ace20f6}{Gst\+Tensor\+Crop}} $\ast$}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Clear and reset old data in tensor\+\_\+crop. 



Definition at line 205 of file gsttensor\+\_\+crop.\+c.

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



Setter for tensor\+\_\+crop properties. 



Definition at line 285 of file gsttensor\+\_\+crop.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_aa6b65014bc3cfe45783ad39daea43126_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a2617872f107f9114dfbc4449d01456cf}\label{gsttensor__crop_8c_a2617872f107f9114dfbc4449d01456cf}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_sink\_event@{gst\_tensor\_crop\_sink\_event}}
\index{gst\_tensor\_crop\_sink\_event@{gst\_tensor\_crop\_sink\_event}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_sink\_event()}{gst\_tensor\_crop\_sink\_event()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensor\+\_\+crop\+\_\+sink\+\_\+event (\begin{DoxyParamCaption}\item[{Gst\+Collect\+Pads $\ast$}]{pads,  }\item[{Gst\+Collect\+Data $\ast$}]{data,  }\item[{Gst\+Event $\ast$}]{event,  }\item[{gpointer}]{user\+\_\+data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle event on sink pad. 



Definition at line 388 of file gsttensor\+\_\+crop.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a2617872f107f9114dfbc4449d01456cf_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__crop_8c_a2617872f107f9114dfbc4449d01456cf_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__crop_8c_a52286219e98e794860a5a9806c502f01}\label{gsttensor__crop_8c_a52286219e98e794860a5a9806c502f01}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!gst\_tensor\_crop\_src\_event@{gst\_tensor\_crop\_src\_event}}
\index{gst\_tensor\_crop\_src\_event@{gst\_tensor\_crop\_src\_event}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_crop\_src\_event()}{gst\_tensor\_crop\_src\_event()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensor\+\_\+crop\+\_\+src\+\_\+event (\begin{DoxyParamCaption}\item[{Gst\+Pad $\ast$}]{pad,  }\item[{Gst\+Object $\ast$}]{parent,  }\item[{Gst\+Event $\ast$}]{event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Handle event on src pad. 



Definition at line 368 of file gsttensor\+\_\+crop.\+c.

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


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{gsttensor__crop_8c_a94e7f780c53ff974ca945ceabc393de5}\label{gsttensor__crop_8c_a94e7f780c53ff974ca945ceabc393de5}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!info\_template@{info\_template}}
\index{info\_template@{info\_template}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{info\_template}{info\_template}}
{\footnotesize\ttfamily Gst\+Static\+Pad\+Template info\+\_\+template\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= GST\_STATIC\_PAD\_TEMPLATE (\textcolor{stringliteral}{"info"},}
\DoxyCodeLine{    GST\_PAD\_SINK,}
\DoxyCodeLine{    GST\_PAD\_ALWAYS,}
\DoxyCodeLine{    GST\_STATIC\_CAPS (\mbox{\hyperlink{tensor__typedef_8h_a71856faf2269f48f212cac74c553ed94}{GST\_TENSORS\_FLEX\_CAP\_DEFAULT}}))}

\end{DoxyCode}


Template for sink pad (crop info). 



Definition at line 103 of file gsttensor\+\_\+crop.\+c.

\mbox{\Hypertarget{gsttensor__crop_8c_ac6186ac5fefc42c7c0ad3d963109dcaf}\label{gsttensor__crop_8c_ac6186ac5fefc42c7c0ad3d963109dcaf}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!raw\_template@{raw\_template}}
\index{raw\_template@{raw\_template}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{raw\_template}{raw\_template}}
{\footnotesize\ttfamily Gst\+Static\+Pad\+Template raw\+\_\+template\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= GST\_STATIC\_PAD\_TEMPLATE (\textcolor{stringliteral}{"raw"},}
\DoxyCodeLine{    GST\_PAD\_SINK,}
\DoxyCodeLine{    GST\_PAD\_ALWAYS,}
\DoxyCodeLine{    GST\_STATIC\_CAPS (\mbox{\hyperlink{tensor__typedef_8h_a284951c7aec77ea34d1c0279d5a5b4a0}{GST\_TENSOR\_CAP\_DEFAULT}} \textcolor{stringliteral}{";"}}
\DoxyCodeLine{        \mbox{\hyperlink{tensor__typedef_8h_a23fa98afadf9e35f428d8d56b739b233}{GST\_TENSORS\_CAP\_MAKE}} (\textcolor{stringliteral}{"\{ static, flexible \}"})))}

\end{DoxyCode}


Template for sink pad (raw data). 



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

\mbox{\Hypertarget{gsttensor__crop_8c_a643731249f31c7864f3fb8d64d41a373}\label{gsttensor__crop_8c_a643731249f31c7864f3fb8d64d41a373}} 
\index{gsttensor\_crop.c@{gsttensor\_crop.c}!src\_template@{src\_template}}
\index{src\_template@{src\_template}!gsttensor\_crop.c@{gsttensor\_crop.c}}
\doxysubsubsection{\texorpdfstring{src\_template}{src\_template}}
{\footnotesize\ttfamily Gst\+Static\+Pad\+Template src\+\_\+template\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= GST\_STATIC\_PAD\_TEMPLATE (\textcolor{stringliteral}{"src"},}
\DoxyCodeLine{    GST\_PAD\_SRC,}
\DoxyCodeLine{    GST\_PAD\_ALWAYS,}
\DoxyCodeLine{    GST\_STATIC\_CAPS (\mbox{\hyperlink{tensor__typedef_8h_a71856faf2269f48f212cac74c553ed94}{GST\_TENSORS\_FLEX\_CAP\_DEFAULT}}))}

\end{DoxyCode}


Template for src pad. 



Definition at line 111 of file gsttensor\+\_\+crop.\+c.

