blob: 111f275ed223ee961bab58291a05f195f1525e25 [file] [log] [blame]
Anthony Barbier871448e2017-03-24 14:54:29 +00001<!-- HTML header for doxygen 1.8.9.1-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7<meta name="generator" content="Doxygen 1.8.11"/>
8<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
9<title>ARM Compute Library: src/core/CL/cl_kernels/helpers.h File Reference</title>
10<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
15<script type="text/javascript" src="navtreedata.js"></script>
16<script type="text/javascript" src="navtree.js"></script>
17<script type="text/javascript">
18 $(document).ready(initResizable);
19 $(window).load(resizeHeight);
20</script>
21<link href="search/search.css" rel="stylesheet" type="text/css"/>
22<script type="text/javascript" src="search/searchdata.js"></script>
23<script type="text/javascript" src="search/search.js"></script>
24<script type="text/javascript">
25 $(document).ready(function() { init_search(); });
26</script>
27<script type="text/x-mathjax-config">
28 MathJax.Hub.Config({
29 extensions: ["tex2jax.js"],
30 jax: ["input/TeX","output/HTML-CSS"],
31});
32</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
33<link href="doxygen.css" rel="stylesheet" type="text/css" />
34</head>
35<body>
36<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37<div id="titlearea">
38<table cellspacing="0" cellpadding="0">
39 <tbody>
40 <tr style="height: 56px;">
41 <td style="padding-left: 0.5em;">
42 <div id="projectname">ARM Compute Library
43 &#160;<span id="projectnumber">17.03.1</span>
44 </div>
45 </td>
46 </tr>
47 </tbody>
48</table>
49</div>
50<!-- end header part -->
51<!-- Generated by Doxygen 1.8.11 -->
52<script type="text/javascript">
53var searchBox = new SearchBox("searchBox", "search",false,'Search');
54</script>
55 <div id="navrow1" class="tabs">
56 <ul class="tablist">
57 <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
58 <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
59 <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
60 <li class="current"><a href="files.xhtml"><span>Files</span></a></li>
61 <li>
62 <div id="MSearchBox" class="MSearchBoxInactive">
63 <span class="left">
64 <img id="MSearchSelect" src="search/mag_sel.png"
65 onmouseover="return searchBox.OnSearchSelectShow()"
66 onmouseout="return searchBox.OnSearchSelectHide()"
67 alt=""/>
68 <input type="text" id="MSearchField" value="Search" accesskey="S"
69 onfocus="searchBox.OnSearchFieldFocus(true)"
70 onblur="searchBox.OnSearchFieldFocus(false)"
71 onkeyup="searchBox.OnSearchFieldChange(event)"/>
72 </span><span class="right">
73 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
74 </span>
75 </div>
76 </li>
77 </ul>
78 </div>
79 <div id="navrow2" class="tabs2">
80 <ul class="tablist">
81 <li><a href="files.xhtml"><span>File&#160;List</span></a></li>
82 <li><a href="globals.xhtml"><span>Globals</span></a></li>
83 </ul>
84 </div>
85</div><!-- top -->
86<div id="side-nav" class="ui-resizable side-nav-resizable">
87 <div id="nav-tree">
88 <div id="nav-tree-contents">
89 <div id="nav-sync" class="sync"></div>
90 </div>
91 </div>
92 <div id="splitbar" style="-moz-user-select:none;"
93 class="ui-resizable-handle">
94 </div>
95</div>
96<script type="text/javascript">
97$(document).ready(function(){initNavTree('helpers_8h.xhtml','');});
98</script>
99<div id="doc-content">
100<!-- window showing the filter options -->
101<div id="MSearchSelectWindow"
102 onmouseover="return searchBox.OnSearchSelectShow()"
103 onmouseout="return searchBox.OnSearchSelectHide()"
104 onkeydown="return searchBox.OnSearchSelectKey(event)">
105</div>
106
107<!-- iframe showing the search results (closed by default) -->
108<div id="MSearchResultsWindow">
109<iframe src="javascript:void(0)" frameborder="0"
110 name="MSearchResults" id="MSearchResults">
111</iframe>
112</div>
113
114<div class="header">
115 <div class="summary">
116<a href="#nested-classes">Data Structures</a> &#124;
117<a href="#define-members">Macros</a> &#124;
118<a href="#typedef-members">Typedefs</a> &#124;
119<a href="#func-members">Functions</a> </div>
120 <div class="headertitle">
121<div class="title">helpers.h File Reference</div> </div>
122</div><!--header-->
123<div class="contents">
124
125<p><a href="helpers_8h_source.xhtml">Go to the source code of this file.</a></p>
126<table class="memberdecls">
127<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
128Data Structures</h2></td></tr>
129<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vector.xhtml">Vector</a></td></tr>
130<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. <a href="struct_vector.xhtml#details">More...</a><br /></td></tr>
131<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
132<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_image.xhtml">Image</a></td></tr>
133<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. <a href="struct_image.xhtml#details">More...</a><br /></td></tr>
134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a></td></tr>
136<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 3D tensor information. <a href="struct_tensor3_d.xhtml#details">More...</a><br /></td></tr>
137<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
138</table><table class="memberdecls">
139<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
140Macros</h2></td></tr>
141<tr class="memitem:aabdbe431f2713c5c2604cb9872b66aab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aabdbe431f2713c5c2604cb9872b66aab">CLAMP</a>(x, min_val, max_val)&#160;&#160;&#160;min(max(x, min_val), max_val)</td></tr>
142<tr class="separator:aabdbe431f2713c5c2604cb9872b66aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:ae802822defb0fa3a7f74f98e324696cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, size)&#160;&#160;&#160;type##size</td></tr>
144<tr class="separator:ae802822defb0fa3a7f74f98e324696cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:a36f754c05b6fddf6df0d8d0a74f8159f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(type, size)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, size)</td></tr>
146<tr class="separator:a36f754c05b6fddf6df0d8d0a74f8159f"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:a4090567b3adb034c7cc1af308cb45670"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)&#160;&#160;&#160;(convert_##type((x)))</td></tr>
148<tr class="separator:a4090567b3adb034c7cc1af308cb45670"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:aa8d95ba04fc73845abc6045952cae5be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aa8d95ba04fc73845abc6045952cae5be">CONVERT</a>(x, type)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)</td></tr>
150<tr class="separator:aa8d95ba04fc73845abc6045952cae5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:a4e0fc93c9a69863dcdf7672ab547026c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)&#160;&#160;&#160;(convert_##type##_sat((x)))</td></tr>
152<tr class="separator:a4e0fc93c9a69863dcdf7672ab547026c"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:a23fb01b6f3453cc0e48a026fd44f6acd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a23fb01b6f3453cc0e48a026fd44f6acd">CONVERT_SAT</a>(x, type)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)</td></tr>
154<tr class="separator:a23fb01b6f3453cc0e48a026fd44f6acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:a341a0c28698c3f6bd171df1771c5a512"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)&#160;&#160;&#160;(convert_##type##_sat_##round((x)))</td></tr>
156<tr class="separator:a341a0c28698c3f6bd171df1771c5a512"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<tr class="memitem:a28b2b123792a5b11a32cb05a6d327437"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a28b2b123792a5b11a32cb05a6d327437">CONVERT_SAT_ROUND</a>(x, type, round)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)</td></tr>
158<tr class="separator:a28b2b123792a5b11a32cb05a6d327437"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<tr class="memitem:a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a40a6eb9f2a7712f08d6bb8ff6c9e6ca7">VECTOR_DECLARATION</a>(name)</td></tr>
160<tr class="separator:a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:a22f42fcf2077d951271df83b55c1a71a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a22f42fcf2077d951271df83b55c1a71a">IMAGE_DECLARATION</a>(name)</td></tr>
162<tr class="separator:a22f42fcf2077d951271df83b55c1a71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<tr class="memitem:a6b83038822d1ae7ab619b684ed3b7fc0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a6b83038822d1ae7ab619b684ed3b7fc0">TENSOR3D_DECLARATION</a>(name)</td></tr>
164<tr class="separator:a6b83038822d1ae7ab619b684ed3b7fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:a527bfdf5eeb306f1cf01c4a8e29f38e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a527bfdf5eeb306f1cf01c4a8e29f38e0">CONVERT_TO_VECTOR_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x)</td></tr>
166<tr class="separator:a527bfdf5eeb306f1cf01c4a8e29f38e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<tr class="memitem:a64d779f80eeb923e0ab2313433f7b40b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a64d779f80eeb923e0ab2313433f7b40b">CONVERT_TO_VECTOR_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0)</td></tr>
168<tr class="separator:a64d779f80eeb923e0ab2313433f7b40b"><td class="memSeparator" colspan="2">&#160;</td></tr>
169<tr class="memitem:aebe814363556c244be043b13e7969197"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y)</td></tr>
170<tr class="separator:aebe814363556c244be043b13e7969197"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:a4334a4a76f8e9628c0fb9e1acf616e2a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a4334a4a76f8e9628c0fb9e1acf616e2a">CONVERT_TO_IMAGE_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0)</td></tr>
172<tr class="separator:a4334a4a76f8e9628c0fb9e1acf616e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:a31c8c760f08fb1a331b16b7c204321dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a31c8c760f08fb1a331b16b7c204321dc">CONVERT_TO_TENSOR3D_STRUCT</a>(name)</td></tr>
174<tr class="separator:a31c8c760f08fb1a331b16b7c204321dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
175<tr class="memitem:a79e8e562daa6599317d2d1cd86ef1bf2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a79e8e562daa6599317d2d1cd86ef1bf2">CONVERT_TO_TENSOR3D_STRUCT_NO_STEP</a>(name)&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0)</td></tr>
176<tr class="separator:a79e8e562daa6599317d2d1cd86ef1bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
177</table><table class="memberdecls">
178<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
179Typedefs</h2></td></tr>
180<tr class="memitem:a6ded2cf071c127e518317e3c451af3ef"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vector.xhtml">Vector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a6ded2cf071c127e518317e3c451af3ef">Vector</a></td></tr>
181<tr class="memdesc:a6ded2cf071c127e518317e3c451af3ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. <a href="#a6ded2cf071c127e518317e3c451af3ef">More...</a><br /></td></tr>
182<tr class="separator:a6ded2cf071c127e518317e3c451af3ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_image.xhtml">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a9082e6aa9fd1705dc218cf44bc5a9d66">Image</a></td></tr>
184<tr class="memdesc:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. <a href="#a9082e6aa9fd1705dc218cf44bc5a9d66">More...</a><br /></td></tr>
185<tr class="separator:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
186<tr class="memitem:a1a857bfe99727c6051e9a3ee285d70f6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a1a857bfe99727c6051e9a3ee285d70f6">Tensor3D</a></td></tr>
187<tr class="memdesc:a1a857bfe99727c6051e9a3ee285d70f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold 3D tensor information. <a href="#a1a857bfe99727c6051e9a3ee285d70f6">More...</a><br /></td></tr>
188<tr class="separator:a1a857bfe99727c6051e9a3ee285d70f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
189</table><table class="memberdecls">
190<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
191Functions</h2></td></tr>
192<tr class="memitem:a8fee90913ba658b25516a43cf71e5cbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vector.xhtml">Vector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x)</td></tr>
193<tr class="memdesc:a8fee90913ba658b25516a43cf71e5cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap vector information into an <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> structure, and make the pointer point at this workitem's data. <a href="#a8fee90913ba658b25516a43cf71e5cbd">More...</a><br /></td></tr>
194<tr class="separator:a8fee90913ba658b25516a43cf71e5cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<tr class="memitem:a0a4395130f74a4293a7d3a19d8fac86d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_image.xhtml">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y)</td></tr>
196<tr class="memdesc:a0a4395130f74a4293a7d3a19d8fac86d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap image information into an <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> structure, and make the pointer point at this workitem's data. <a href="#a0a4395130f74a4293a7d3a19d8fac86d">More...</a><br /></td></tr>
197<tr class="separator:a0a4395130f74a4293a7d3a19d8fac86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
198<tr class="memitem:a912ccbcc4235bf1274c95d05b50440d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a> (__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z)</td></tr>
199<tr class="memdesc:a912ccbcc4235bf1274c95d05b50440d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem's data. <a href="#a912ccbcc4235bf1274c95d05b50440d4">More...</a><br /></td></tr>
200<tr class="separator:a912ccbcc4235bf1274c95d05b50440d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<tr class="memitem:a37878e370129d09b9a86f61b57dbc0a8"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a37878e370129d09b9a86f61b57dbc0a8">vector_offset</a> (const <a class="el" href="struct_image.xhtml">Image</a> *img, int x)</td></tr>
202<tr class="memdesc:a37878e370129d09b9a86f61b57dbc0a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a>. <a href="#a37878e370129d09b9a86f61b57dbc0a8">More...</a><br /></td></tr>
203<tr class="separator:a37878e370129d09b9a86f61b57dbc0a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
204<tr class="memitem:a009469e4d9b8fce3b6d5e97d2077827d"><td class="memItemLeft" align="right" valign="top">__global uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a> (const <a class="el" href="struct_image.xhtml">Image</a> *img, int x, int y)</td></tr>
205<tr class="memdesc:a009469e4d9b8fce3b6d5e97d2077827d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#a009469e4d9b8fce3b6d5e97d2077827d">More...</a><br /></td></tr>
206<tr class="separator:a009469e4d9b8fce3b6d5e97d2077827d"><td class="memSeparator" colspan="2">&#160;</td></tr>
207<tr class="memitem:a2101b2fe0193ce227ae4e0945e321d85"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a2101b2fe0193ce227ae4e0945e321d85">tensor3D_offset</a> (const <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> *tensor, int x, int y, int z)</td></tr>
208<tr class="memdesc:a2101b2fe0193ce227ae4e0945e321d85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position of a <a class="el" href="struct_tensor3_d.xhtml" title="Structure to hold 3D tensor information. ">Tensor3D</a>. <a href="#a2101b2fe0193ce227ae4e0945e321d85">More...</a><br /></td></tr>
209<tr class="separator:a2101b2fe0193ce227ae4e0945e321d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
210</table>
211<h2 class="groupheader">Macro Definition Documentation</h2>
212<a class="anchor" id="aabdbe431f2713c5c2604cb9872b66aab"></a>
213<div class="memitem">
214<div class="memproto">
215 <table class="memname">
216 <tr>
217 <td class="memname">#define CLAMP</td>
218 <td>(</td>
219 <td class="paramtype">&#160;</td>
220 <td class="paramname">x, </td>
221 </tr>
222 <tr>
223 <td class="paramkey"></td>
224 <td></td>
225 <td class="paramtype">&#160;</td>
226 <td class="paramname">min_val, </td>
227 </tr>
228 <tr>
229 <td class="paramkey"></td>
230 <td></td>
231 <td class="paramtype">&#160;</td>
232 <td class="paramname">max_val&#160;</td>
233 </tr>
234 <tr>
235 <td></td>
236 <td>)</td>
237 <td></td><td>&#160;&#160;&#160;min(max(x, min_val), max_val)</td>
238 </tr>
239 </table>
240</div><div class="memdoc">
241
242<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00029">29</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
243
244</div>
245</div>
246<a class="anchor" id="aa8d95ba04fc73845abc6045952cae5be"></a>
247<div class="memitem">
248<div class="memproto">
249 <table class="memname">
250 <tr>
251 <td class="memname">#define CONVERT</td>
252 <td>(</td>
253 <td class="paramtype">&#160;</td>
254 <td class="paramname">x, </td>
255 </tr>
256 <tr>
257 <td class="paramkey"></td>
258 <td></td>
259 <td class="paramtype">&#160;</td>
260 <td class="paramname">type&#160;</td>
261 </tr>
262 <tr>
263 <td></td>
264 <td>)</td>
265 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)</td>
266 </tr>
267 </table>
268</div><div class="memdoc">
269
270<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00035">35</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
271
272<p>Referenced by <a class="el" href="absdiff_8cl_source.xhtml#l00050">absdiff()</a>, <a class="el" href="arithmetic__op_8cl_source.xhtml#l00059">arithmetic_add()</a>, <a class="el" href="arithmetic__op_8cl_source.xhtml#l00104">arithmetic_sub()</a>, <a class="el" href="warp__helpers_8h_source.xhtml#l00080">bilinear_interpolate()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00085">convert_depth_up()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00043">convolution1x3()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00050">convolution1x5()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00052">convolution1x7()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00054">convolution1x9()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00087">convolution5x1()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00097">convolution7x1()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00108">convolution9x1()</a>, <a class="el" href="minmaxloc_8cl_source.xhtml#l00054">minmax()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00059">normalization_layer_cross_map()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00124">normalization_layer_in_map()</a>, <a class="el" href="pixelwise__mul__float_8cl_source.xhtml#l00061">pixelwise_mul_float()</a>, <a class="el" href="pixelwise__mul__int_8cl_source.xhtml#l00060">pixelwise_mul_int()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00059">softmax_layer_max()</a>, and <a class="el" href="softmax__layer_8cl_source.xhtml#l00132">softmax_layer_shift_exp_sum()</a>.</p>
273
274</div>
275</div>
276<a class="anchor" id="a23fb01b6f3453cc0e48a026fd44f6acd"></a>
277<div class="memitem">
278<div class="memproto">
279 <table class="memname">
280 <tr>
281 <td class="memname">#define CONVERT_SAT</td>
282 <td>(</td>
283 <td class="paramtype">&#160;</td>
284 <td class="paramname">x, </td>
285 </tr>
286 <tr>
287 <td class="paramkey"></td>
288 <td></td>
289 <td class="paramtype">&#160;</td>
290 <td class="paramname">type&#160;</td>
291 </tr>
292 <tr>
293 <td></td>
294 <td>)</td>
295 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)</td>
296 </tr>
297 </table>
298</div><div class="memdoc">
299
300<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00038">38</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
301
302<p>Referenced by <a class="el" href="absdiff_8cl_source.xhtml#l00050">absdiff()</a>, <a class="el" href="canny_8cl_source.xhtml#l00057">combine_gradients_L1()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00123">convolution3x3_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00274">convolution5x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00323">convolution7x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00386">convolution9x9_static()</a>, <a class="el" href="convolution__rectangle_8cl_source.xhtml#l00064">convolution_rectangle()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00238">convolution_separable5x1_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00287">convolution_separable7x1_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00350">convolution_separable9x1_static()</a>, <a class="el" href="magnitude__phase_8cl_source.xhtml#l00033">magnitude_l1()</a>, and <a class="el" href="magnitude__phase_8cl_source.xhtml#l00045">magnitude_l2()</a>.</p>
303
304</div>
305</div>
306<a class="anchor" id="a28b2b123792a5b11a32cb05a6d327437"></a>
307<div class="memitem">
308<div class="memproto">
309 <table class="memname">
310 <tr>
311 <td class="memname">#define CONVERT_SAT_ROUND</td>
312 <td>(</td>
313 <td class="paramtype">&#160;</td>
314 <td class="paramname">x, </td>
315 </tr>
316 <tr>
317 <td class="paramkey"></td>
318 <td></td>
319 <td class="paramtype">&#160;</td>
320 <td class="paramname">type, </td>
321 </tr>
322 <tr>
323 <td class="paramkey"></td>
324 <td></td>
325 <td class="paramtype">&#160;</td>
326 <td class="paramname">round&#160;</td>
327 </tr>
328 <tr>
329 <td></td>
330 <td>)</td>
331 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)</td>
332 </tr>
333 </table>
334</div><div class="memdoc">
335
336<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00041">41</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
337
338<p>Referenced by <a class="el" href="canny_8cl_source.xhtml#l00121">combine_gradients_L2()</a>.</p>
339
340</div>
341</div>
342<a class="anchor" id="a341a0c28698c3f6bd171df1771c5a512"></a>
343<div class="memitem">
344<div class="memproto">
345 <table class="memname">
346 <tr>
347 <td class="memname">#define CONVERT_SAT_ROUND_STR</td>
348 <td>(</td>
349 <td class="paramtype">&#160;</td>
350 <td class="paramname">x, </td>
351 </tr>
352 <tr>
353 <td class="paramkey"></td>
354 <td></td>
355 <td class="paramtype">&#160;</td>
356 <td class="paramname">type, </td>
357 </tr>
358 <tr>
359 <td class="paramkey"></td>
360 <td></td>
361 <td class="paramtype">&#160;</td>
362 <td class="paramname">round&#160;</td>
363 </tr>
364 <tr>
365 <td></td>
366 <td>)</td>
367 <td></td><td>&#160;&#160;&#160;(convert_##type##_sat_##round((x)))</td>
368 </tr>
369 </table>
370</div><div class="memdoc">
371
372<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00040">40</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
373
374</div>
375</div>
376<a class="anchor" id="a4e0fc93c9a69863dcdf7672ab547026c"></a>
377<div class="memitem">
378<div class="memproto">
379 <table class="memname">
380 <tr>
381 <td class="memname">#define CONVERT_SAT_STR</td>
382 <td>(</td>
383 <td class="paramtype">&#160;</td>
384 <td class="paramname">x, </td>
385 </tr>
386 <tr>
387 <td class="paramkey"></td>
388 <td></td>
389 <td class="paramtype">&#160;</td>
390 <td class="paramname">type&#160;</td>
391 </tr>
392 <tr>
393 <td></td>
394 <td>)</td>
395 <td></td><td>&#160;&#160;&#160;(convert_##type##_sat((x)))</td>
396 </tr>
397 </table>
398</div><div class="memdoc">
399
400<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00037">37</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
401
402</div>
403</div>
404<a class="anchor" id="a4090567b3adb034c7cc1af308cb45670"></a>
405<div class="memitem">
406<div class="memproto">
407 <table class="memname">
408 <tr>
409 <td class="memname">#define CONVERT_STR</td>
410 <td>(</td>
411 <td class="paramtype">&#160;</td>
412 <td class="paramname">x, </td>
413 </tr>
414 <tr>
415 <td class="paramkey"></td>
416 <td></td>
417 <td class="paramtype">&#160;</td>
418 <td class="paramname">type&#160;</td>
419 </tr>
420 <tr>
421 <td></td>
422 <td>)</td>
423 <td></td><td>&#160;&#160;&#160;(convert_##type((x)))</td>
424 </tr>
425 </table>
426</div><div class="memdoc">
427
428<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00034">34</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
429
430</div>
431</div>
432<a class="anchor" id="aebe814363556c244be043b13e7969197"></a>
433<div class="memitem">
434<div class="memproto">
435 <table class="memname">
436 <tr>
437 <td class="memname">#define CONVERT_TO_IMAGE_STRUCT</td>
438 <td>(</td>
439 <td class="paramtype">&#160;</td>
440 <td class="paramname">name</td><td>)</td>
441 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y)</td>
442 </tr>
443 </table>
444</div><div class="memdoc">
445
446<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00073">73</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
447
448<p>Referenced by <a class="el" href="absdiff_8cl_source.xhtml#l00050">absdiff()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00112">accumulate_squared()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00076">accumulate_weighted()</a>, <a class="el" href="activation__layer_8cl_source.xhtml#l00046">activation_layer()</a>, <a class="el" href="arithmetic__op_8cl_source.xhtml#l00059">arithmetic_add()</a>, <a class="el" href="arithmetic__op_8cl_source.xhtml#l00104">arithmetic_sub()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00083">bitwise_and()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00149">bitwise_not()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00047">bitwise_or()</a>, <a class="el" href="bitwise__op_8cl_source.xhtml#l00119">bitwise_xor()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00317">channel_combine_NV()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00053">channel_combine_RGB888()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00127">channel_combine_RGBA8888()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00253">channel_combine_UYVY422()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00198">channel_combine_YUYV422()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00195">channel_extract_NV12()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00230">channel_extract_NV21()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00043">channel_extract_RGB888()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00083">channel_extract_RGBA8888()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00158">channel_extract_UYVY422()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00122">channel_extract_YUYV422()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00175">col2im()</a>, <a class="el" href="canny_8cl_source.xhtml#l00057">combine_gradients_L1()</a>, <a class="el" href="canny_8cl_source.xhtml#l00121">combine_gradients_L2()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00051">convert_depth_down()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00085">convert_depth_up()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00123">convolution3x3_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00274">convolution5x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00323">convolution7x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00386">convolution9x9_static()</a>, <a class="el" href="convolution__rectangle_8cl_source.xhtml#l00064">convolution_rectangle()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00205">convolution_separable1x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00254">convolution_separable1x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00317">convolution_separable1x9_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00238">convolution_separable5x1_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00287">convolution_separable7x1_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00350">convolution_separable9x1_static()</a>, <a class="el" href="channel__extract_8cl_source.xhtml#l00262">copy_plane()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00389">copy_planes_3p()</a>, <a class="el" href="fast__corners_8cl_source.xhtml#l00231">copy_to_keypoint()</a>, <a class="el" href="derivative_8cl_source.xhtml#l00050">derivative()</a>, <a class="el" href="dilate_8cl_source.xhtml#l00041">dilate()</a>, <a class="el" href="erode_8cl_source.xhtml#l00041">erode()</a>, <a class="el" href="fast__corners_8cl_source.xhtml#l00155">fast_corners()</a>, <a class="el" href="gaussian__pyramid_8cl_source.xhtml#l00043">gaussian1x5_sub_x()</a>, <a class="el" href="gaussian__pyramid_8cl_source.xhtml#l00088">gaussian5x1_sub_y()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00290">gemm_accumulate_biases_f16()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00262">gemm_accumulate_biases_f32()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00178">gemm_interleave4x4_f16()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00137">gemm_interleave4x4_f32()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00219">gemm_interleave4x4_u8()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00105">gemm_transpose1x16_u8()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00041">gemm_transpose1x4_f32()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00073">gemm_transpose1x8_f16()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00053">harris_score_3x3()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00210">harris_score_5x5()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00341">harris_score_7x7()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00141">hist_border_kernel()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00238">hist_border_kernel_fixed()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00068">hist_local_kernel()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00178">hist_local_kernel_fixed()</a>, <a class="el" href="integral__image_8cl_source.xhtml#l00041">integral_horizontal()</a>, <a class="el" href="integral__image_8cl_source.xhtml#l00085">integral_vertical()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01703">IYUV_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01462">IYUV_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01541">IYUV_to_RGBA8888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01633">IYUV_to_YUV444_bt709()</a>, <a class="el" href="magnitude__phase_8cl_source.xhtml#l00131">magnitude_phase()</a>, <a class="el" href="mean__stddev_8cl_source.xhtml#l00043">mean_stddev_accumulate()</a>, <a class="el" href="minmaxloc_8cl_source.xhtml#l00054">minmax()</a>, <a class="el" href="minmaxloc_8cl_source.xhtml#l00123">minmaxloc()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00044">non_linear_filter_box3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00339">non_linear_filter_box5x5()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00099">non_linear_filter_cross3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00387">non_linear_filter_cross5x5()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00150">non_linear_filter_disk3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00444">non_linear_filter_disk5x5()</a>, <a class="el" href="nonmax_8cl_source.xhtml#l00041">non_max_suppression()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00949">NV12_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00410">NV12_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00867">NV12_to_RGBA8888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01011">NV12_to_YUV444_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01285">NV21_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01065">NV21_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01136">NV21_to_RGBA8888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01219">NV21_to_YUV444_bt709()</a>, <a class="el" href="pixelwise__mul__float_8cl_source.xhtml#l00061">pixelwise_mul_float()</a>, <a class="el" href="pixelwise__mul__int_8cl_source.xhtml#l00060">pixelwise_mul_int()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00064">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00118">pooling_layer_3()</a>, <a class="el" href="remap_8cl_source.xhtml#l00113">remap_bilinear()</a>, <a class="el" href="remap_8cl_source.xhtml#l00059">remap_nearest_neighbour()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00554">RGB888_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00325">RGB888_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00044">RGB888_to_RGBA8888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00488">RGB888_to_YUV444_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00786">RGBA8888_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00702">RGBA8888_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00085">RGBA8888_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00642">RGBA8888_to_YUV444_bt709()</a>, <a class="el" href="scale_8cl_source.xhtml#l00110">scale_bilinear()</a>, <a class="el" href="scale_8cl_source.xhtml#l00076">scale_nearest_neighbour()</a>, <a class="el" href="scharr__filter_8cl_source.xhtml#l00050">scharr3x3()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00054">sobel3x3()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00259">sobel_separable1x5()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00442">sobel_separable1x7()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00325">sobel_separable5x1()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00506">sobel_separable7x1()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00059">softmax_layer_max()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00207">softmax_layer_norm()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00132">softmax_layer_shift_exp_sum()</a>, <a class="el" href="canny_8cl_source.xhtml#l00191">suppress_non_maximum()</a>, <a class="el" href="tablelookup_8cl_source.xhtml#l00084">tablelookup_S16()</a>, <a class="el" href="tablelookup_8cl_source.xhtml#l00045">tablelookup_U8()</a>, <a class="el" href="threshold_8cl_source.xhtml#l00044">threshold_binary()</a>, <a class="el" href="threshold_8cl_source.xhtml#l00084">threshold_range()</a>, <a class="el" href="transpose_8cl_source.xhtml#l00145">transpose()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01341">UYVY422_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01803">UYVY422_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00124">UYVY422_to_RGB888_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00172">UYVY422_to_RGBA8888_bt709()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00111">warp_affine_bilinear()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00079">warp_affine_nearest_neighbour()</a>, <a class="el" href="warp__perspective_8cl_source.xhtml#l00119">warp_perspective_bilinear()</a>, <a class="el" href="warp__perspective_8cl_source.xhtml#l00087">warp_perspective_nearest_neighbour()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01402">YUYV422_to_IYUV_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l01754">YUYV422_to_NV12_bt709()</a>, <a class="el" href="color__convert_8cl_source.xhtml#l00221">YUYV422_to_RGB888_bt709()</a>, and <a class="el" href="color__convert_8cl_source.xhtml#l00269">YUYV422_to_RGBA8888_bt709()</a>.</p>
449
450</div>
451</div>
452<a class="anchor" id="a4334a4a76f8e9628c0fb9e1acf616e2a"></a>
453<div class="memitem">
454<div class="memproto">
455 <table class="memname">
456 <tr>
457 <td class="memname">#define CONVERT_TO_IMAGE_STRUCT_NO_STEP</td>
458 <td>(</td>
459 <td class="paramtype">&#160;</td>
460 <td class="paramname">name</td><td>)</td>
461 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a0a4395130f74a4293a7d3a19d8fac86d">update_image_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0)</td>
462 </tr>
463 </table>
464</div><div class="memdoc">
465
466<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00076">76</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
467
468<p>Referenced by <a class="el" href="fill__border_8cl_source.xhtml#l00118">fill_image_borders_constant()</a>, <a class="el" href="fill__border_8cl_source.xhtml#l00044">fill_image_borders_replicate()</a>, <a class="el" href="canny_8cl_source.xhtml#l00306">hysteresis()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00105">im2col_generic()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00207">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00358">lktracker_stage1()</a>, <a class="el" href="remap_8cl_source.xhtml#l00113">remap_bilinear()</a>, <a class="el" href="remap_8cl_source.xhtml#l00059">remap_nearest_neighbour()</a>, <a class="el" href="scale_8cl_source.xhtml#l00110">scale_bilinear()</a>, <a class="el" href="scale_8cl_source.xhtml#l00076">scale_nearest_neighbour()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00207">softmax_layer_norm()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00111">warp_affine_bilinear()</a>, <a class="el" href="warp__affine_8cl_source.xhtml#l00079">warp_affine_nearest_neighbour()</a>, <a class="el" href="warp__perspective_8cl_source.xhtml#l00119">warp_perspective_bilinear()</a>, and <a class="el" href="warp__perspective_8cl_source.xhtml#l00087">warp_perspective_nearest_neighbour()</a>.</p>
469
470</div>
471</div>
472<a class="anchor" id="a31c8c760f08fb1a331b16b7c204321dc"></a>
473<div class="memitem">
474<div class="memproto">
475 <table class="memname">
476 <tr>
477 <td class="memname">#define CONVERT_TO_TENSOR3D_STRUCT</td>
478 <td>(</td>
479 <td class="paramtype">&#160;</td>
480 <td class="paramname">name</td><td>)</td>
481 <td></td>
482 </tr>
483 </table>
484</div><div class="memdoc">
485<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x, name##_stride_y, name##_step_y, \</div><div class="line"> name##_stride_z, name##_step_z)</div><div class="ttc" id="helpers_8h_xhtml_a912ccbcc4235bf1274c95d05b50440d4"><div class="ttname"><a href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a></div><div class="ttdeci">Tensor3D update_tensor3D_workitem_ptr(__global uchar *ptr, uint offset_first_element_in_bytes, uint stride_x, uint step_x, uint stride_y, uint step_y, uint stride_z, uint step_z)</div><div class="ttdoc">Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem&amp;#39;s da...</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00171">helpers.h:171</a></div></div>
486</div><!-- fragment -->
487<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00079">79</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
488
489<p>Referenced by <a class="el" href="convolution__layer_8cl_source.xhtml#l00105">im2col_generic()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00208">im2col_reduced()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00059">normalization_layer_cross_map()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00124">normalization_layer_in_map()</a>, and <a class="el" href="convolution__layer_8cl_source.xhtml#l00053">reshape_to_columns()</a>.</p>
490
491</div>
492</div>
493<a class="anchor" id="a79e8e562daa6599317d2d1cd86ef1bf2"></a>
494<div class="memitem">
495<div class="memproto">
496 <table class="memname">
497 <tr>
498 <td class="memname">#define CONVERT_TO_TENSOR3D_STRUCT_NO_STEP</td>
499 <td>(</td>
500 <td class="paramtype">&#160;</td>
501 <td class="paramname">name</td><td>)</td>
502 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a912ccbcc4235bf1274c95d05b50440d4">update_tensor3D_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0, name##_stride_y, 0, name##_stride_z, 0)</td>
503 </tr>
504 </table>
505</div><div class="memdoc">
506
507<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00083">83</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
508
509<p>Referenced by <a class="el" href="convolution__layer_8cl_source.xhtml#l00175">col2im()</a>.</p>
510
511</div>
512</div>
513<a class="anchor" id="a527bfdf5eeb306f1cf01c4a8e29f38e0"></a>
514<div class="memitem">
515<div class="memproto">
516 <table class="memname">
517 <tr>
518 <td class="memname">#define CONVERT_TO_VECTOR_STRUCT</td>
519 <td>(</td>
520 <td class="paramtype">&#160;</td>
521 <td class="paramname">name</td><td>)</td>
522 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, name##_step_x)</td>
523 </tr>
524 </table>
525</div><div class="memdoc">
526
527<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00067">67</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
528
529<p>Referenced by <a class="el" href="gemm_8cl_source.xhtml#l00290">gemm_accumulate_biases_f16()</a>, and <a class="el" href="gemm_8cl_source.xhtml#l00262">gemm_accumulate_biases_f32()</a>.</p>
530
531</div>
532</div>
533<a class="anchor" id="a64d779f80eeb923e0ab2313433f7b40b"></a>
534<div class="memitem">
535<div class="memproto">
536 <table class="memname">
537 <tr>
538 <td class="memname">#define CONVERT_TO_VECTOR_STRUCT_NO_STEP</td>
539 <td>(</td>
540 <td class="paramtype">&#160;</td>
541 <td class="paramname">name</td><td>)</td>
542 <td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a8fee90913ba658b25516a43cf71e5cbd">update_vector_workitem_ptr</a>(name##_ptr, name##_offset_first_element_in_bytes, name##_stride_x, 0)</td>
543 </tr>
544 </table>
545</div><div class="memdoc">
546
547<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00070">70</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
548
549</div>
550</div>
551<a class="anchor" id="a22f42fcf2077d951271df83b55c1a71a"></a>
552<div class="memitem">
553<div class="memproto">
554 <table class="memname">
555 <tr>
556 <td class="memname">#define IMAGE_DECLARATION</td>
557 <td>(</td>
558 <td class="paramtype">&#160;</td>
559 <td class="paramname">name</td><td>)</td>
560 <td></td>
561 </tr>
562 </table>
563</div><div class="memdoc">
564<b>Value:</b><div class="fragment"><div class="line">__global uchar *name##_ptr, \</div><div class="line"> uint name##_stride_x, \</div><div class="line"> uint name##_step_x, \</div><div class="line"> uint name##_stride_y, \</div><div class="line"> uint name##_step_y, \</div><div class="line"> uint name##_offset_first_element_in_bytes</div></div><!-- fragment -->
565<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00049">49</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
566
567<p>Referenced by <a class="el" href="gemm_8cl_source.xhtml#l00290">gemm_accumulate_biases_f16()</a>.</p>
568
569</div>
570</div>
571<a class="anchor" id="a6b83038822d1ae7ab619b684ed3b7fc0"></a>
572<div class="memitem">
573<div class="memproto">
574 <table class="memname">
575 <tr>
576 <td class="memname">#define TENSOR3D_DECLARATION</td>
577 <td>(</td>
578 <td class="paramtype">&#160;</td>
579 <td class="paramname">name</td><td>)</td>
580 <td></td>
581 </tr>
582 </table>
583</div><div class="memdoc">
584<b>Value:</b><div class="fragment"><div class="line">__global uchar *name##_ptr, \</div><div class="line"> uint name##_stride_x, \</div><div class="line"> uint name##_step_x, \</div><div class="line"> uint name##_stride_y, \</div><div class="line"> uint name##_step_y, \</div><div class="line"> uint name##_stride_z, \</div><div class="line"> uint name##_step_z, \</div><div class="line"> uint name##_offset_first_element_in_bytes</div></div><!-- fragment -->
585<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00057">57</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
586
587</div>
588</div>
589<a class="anchor" id="a36f754c05b6fddf6df0d8d0a74f8159f"></a>
590<div class="memitem">
591<div class="memproto">
592 <table class="memname">
593 <tr>
594 <td class="memname">#define VEC_DATA_TYPE</td>
595 <td>(</td>
596 <td class="paramtype">&#160;</td>
597 <td class="paramname">type, </td>
598 </tr>
599 <tr>
600 <td class="paramkey"></td>
601 <td></td>
602 <td class="paramtype">&#160;</td>
603 <td class="paramname">size&#160;</td>
604 </tr>
605 <tr>
606 <td></td>
607 <td>)</td>
608 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, size)</td>
609 </tr>
610 </table>
611</div><div class="memdoc">
612
613<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00032">32</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
614
615<p>Referenced by <a class="el" href="absdiff_8cl_source.xhtml#l00050">absdiff()</a>, <a class="el" href="activation__layer_8cl_source.xhtml#l00046">activation_layer()</a>, <a class="el" href="arithmetic__op_8cl_source.xhtml#l00059">arithmetic_add()</a>, <a class="el" href="arithmetic__op_8cl_source.xhtml#l00104">arithmetic_sub()</a>, <a class="el" href="warp__helpers_8h_source.xhtml#l00080">bilinear_interpolate()</a>, <a class="el" href="canny_8cl_source.xhtml#l00057">combine_gradients_L1()</a>, <a class="el" href="canny_8cl_source.xhtml#l00121">combine_gradients_L2()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00051">convert_depth_down()</a>, <a class="el" href="depth__convert_8cl_source.xhtml#l00085">convert_depth_up()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00043">convolution1x3()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00050">convolution1x5()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00052">convolution1x7()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00054">convolution1x9()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00082">convolution3x3()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00123">convolution3x3_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00087">convolution5x1()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00159">convolution5x5()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00274">convolution5x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00097">convolution7x1()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00202">convolution7x7()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00323">convolution7x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00108">convolution9x1()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00256">convolution9x9()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00386">convolution9x9_static()</a>, <a class="el" href="convolution__rectangle_8cl_source.xhtml#l00064">convolution_rectangle()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00205">convolution_separable1x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00254">convolution_separable1x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00317">convolution_separable1x9_static()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00238">convolution_separable5x1_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00287">convolution_separable7x1_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00350">convolution_separable9x1_static()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00138">harris_score_1x5()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00253">harris_score_1x7()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00053">harris_score_3x3()</a>, <a class="el" href="canny_8cl_source.xhtml#l00306">hysteresis()</a>, <a class="el" href="magnitude__phase_8cl_source.xhtml#l00033">magnitude_l1()</a>, <a class="el" href="magnitude__phase_8cl_source.xhtml#l00045">magnitude_l2()</a>, <a class="el" href="magnitude__phase_8cl_source.xhtml#l00131">magnitude_phase()</a>, <a class="el" href="minmaxloc_8cl_source.xhtml#l00054">minmax()</a>, <a class="el" href="nonmax_8cl_source.xhtml#l00041">non_max_suppression()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00124">normalization_layer_in_map()</a>, <a class="el" href="pixelwise__mul__float_8cl_source.xhtml#l00061">pixelwise_mul_float()</a>, <a class="el" href="pixelwise__mul__int_8cl_source.xhtml#l00060">pixelwise_mul_int()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00064">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00118">pooling_layer_3()</a>, <a class="el" href="warp__helpers_8h_source.xhtml#l00045">read_texels4()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00059">softmax_layer_max()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00207">softmax_layer_norm()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00132">softmax_layer_shift_exp_sum()</a>, and <a class="el" href="transpose_8cl_source.xhtml#l00145">transpose()</a>.</p>
616
617</div>
618</div>
619<a class="anchor" id="ae802822defb0fa3a7f74f98e324696cb"></a>
620<div class="memitem">
621<div class="memproto">
622 <table class="memname">
623 <tr>
624 <td class="memname">#define VEC_DATA_TYPE_STR</td>
625 <td>(</td>
626 <td class="paramtype">&#160;</td>
627 <td class="paramname">type, </td>
628 </tr>
629 <tr>
630 <td class="paramkey"></td>
631 <td></td>
632 <td class="paramtype">&#160;</td>
633 <td class="paramname">size&#160;</td>
634 </tr>
635 <tr>
636 <td></td>
637 <td>)</td>
638 <td></td><td>&#160;&#160;&#160;type##size</td>
639 </tr>
640 </table>
641</div><div class="memdoc">
642
643<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00031">31</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
644
645</div>
646</div>
647<a class="anchor" id="a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"></a>
648<div class="memitem">
649<div class="memproto">
650 <table class="memname">
651 <tr>
652 <td class="memname">#define VECTOR_DECLARATION</td>
653 <td>(</td>
654 <td class="paramtype">&#160;</td>
655 <td class="paramname">name</td><td>)</td>
656 <td></td>
657 </tr>
658 </table>
659</div><div class="memdoc">
660<b>Value:</b><div class="fragment"><div class="line">__global uchar *name##_ptr, \</div><div class="line"> uint name##_stride_x, \</div><div class="line"> uint name##_step_x, \</div><div class="line"> uint name##_offset_first_element_in_bytes</div></div><!-- fragment -->
661<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00043">43</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
662
663</div>
664</div>
665<h2 class="groupheader">Typedef Documentation</h2>
666<a class="anchor" id="a9082e6aa9fd1705dc218cf44bc5a9d66"></a>
667<div class="memitem">
668<div class="memproto">
669 <table class="memname">
670 <tr>
671 <td class="memname">typedef struct <a class="el" href="struct_image.xhtml">Image</a> <a class="el" href="struct_image.xhtml">Image</a></td>
672 </tr>
673 </table>
674</div><div class="memdoc">
675
676<p>Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. </p>
677
678</div>
679</div>
680<a class="anchor" id="a1a857bfe99727c6051e9a3ee285d70f6"></a>
681<div class="memitem">
682<div class="memproto">
683 <table class="memname">
684 <tr>
685 <td class="memname">typedef struct <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a></td>
686 </tr>
687 </table>
688</div><div class="memdoc">
689
690<p>Structure to hold 3D tensor information. </p>
691
692</div>
693</div>
694<a class="anchor" id="a6ded2cf071c127e518317e3c451af3ef"></a>
695<div class="memitem">
696<div class="memproto">
697 <table class="memname">
698 <tr>
699 <td class="memname">typedef struct <a class="el" href="struct_vector.xhtml">Vector</a> <a class="el" href="struct_vector.xhtml">Vector</a></td>
700 </tr>
701 </table>
702</div><div class="memdoc">
703
704<p>Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. </p>
705
706</div>
707</div>
708<h2 class="groupheader">Function Documentation</h2>
709<a class="anchor" id="a009469e4d9b8fce3b6d5e97d2077827d"></a>
710<div class="memitem">
711<div class="memproto">
712<table class="mlabels">
713 <tr>
714 <td class="mlabels-left">
715 <table class="memname">
716 <tr>
717 <td class="memname">__global uchar* offset </td>
718 <td>(</td>
719 <td class="paramtype">const <a class="el" href="struct_image.xhtml">Image</a> *&#160;</td>
720 <td class="paramname"><em>img</em>, </td>
721 </tr>
722 <tr>
723 <td class="paramkey"></td>
724 <td></td>
725 <td class="paramtype">int&#160;</td>
726 <td class="paramname"><em>x</em>, </td>
727 </tr>
728 <tr>
729 <td class="paramkey"></td>
730 <td></td>
731 <td class="paramtype">int&#160;</td>
732 <td class="paramname"><em>y</em>&#160;</td>
733 </tr>
734 <tr>
735 <td></td>
736 <td>)</td>
737 <td></td><td></td>
738 </tr>
739 </table>
740 </td>
741 <td class="mlabels-right">
742<span class="mlabels"><span class="mlabel">inline</span></span> </td>
743 </tr>
744</table>
745</div><div class="memdoc">
746
747<p>Get the pointer position of a <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
748<dl class="params"><dt>Parameters</dt><dd>
749 <table class="params">
750 <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Pointer to the starting position of the buffer </td></tr>
751 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
752 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
753 </table>
754 </dd>
755</dl>
756
757<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00201">201</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
758
759<p>References <a class="el" href="helpers_8h_source.xhtml#l00097">Image::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00099">Image::stride_x</a>, and <a class="el" href="helpers_8h_source.xhtml#l00100">Image::stride_y</a>.</p>
760
761<p>Referenced by <a class="el" href="warp__helpers_8h_source.xhtml#l00080">bilinear_interpolate()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00317">channel_combine_NV()</a>, <a class="el" href="convolution3x3_8cl_source.xhtml#l00082">convolution3x3()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00087">convolution5x1()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00159">convolution5x5()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00097">convolution7x1()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00202">convolution7x7()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00108">convolution9x1()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00256">convolution9x9()</a>, <a class="el" href="convolution__rectangle_8cl_source.xhtml#l00064">convolution_rectangle()</a>, <a class="el" href="convolution5x5_8cl_source.xhtml#l00205">convolution_separable1x5_static()</a>, <a class="el" href="convolution7x7_8cl_source.xhtml#l00254">convolution_separable1x7_static()</a>, <a class="el" href="convolution9x9_8cl_source.xhtml#l00317">convolution_separable1x9_static()</a>, <a class="el" href="channel__combine_8cl_source.xhtml#l00389">copy_planes_3p()</a>, <a class="el" href="fast__corners_8cl_source.xhtml#l00231">copy_to_keypoint()</a>, <a class="el" href="derivative_8cl_source.xhtml#l00050">derivative()</a>, <a class="el" href="dilate_8cl_source.xhtml#l00041">dilate()</a>, <a class="el" href="erode_8cl_source.xhtml#l00041">erode()</a>, <a class="el" href="fill__border_8cl_source.xhtml#l00118">fill_image_borders_constant()</a>, <a class="el" href="fill__border_8cl_source.xhtml#l00044">fill_image_borders_replicate()</a>, <a class="el" href="gaussian__pyramid_8cl_source.xhtml#l00088">gaussian5x1_sub_y()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00290">gemm_accumulate_biases_f16()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00178">gemm_interleave4x4_f16()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00137">gemm_interleave4x4_f32()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00219">gemm_interleave4x4_u8()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00138">harris_score_1x5()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00253">harris_score_1x7()</a>, <a class="el" href="harris__corners_8cl_source.xhtml#l00053">harris_score_3x3()</a>, <a class="el" href="histogram_8cl_source.xhtml#l00141">hist_border_kernel()</a>, <a class="el" href="canny_8cl_source.xhtml#l00306">hysteresis()</a>, <a class="el" href="integral__image_8cl_source.xhtml#l00041">integral_horizontal()</a>, <a class="el" href="integral__image_8cl_source.xhtml#l00085">integral_vertical()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00207">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00358">lktracker_stage1()</a>, <a class="el" href="mean__stddev_8cl_source.xhtml#l00043">mean_stddev_accumulate()</a>, <a class="el" href="minmaxloc_8cl_source.xhtml#l00054">minmax()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00044">non_linear_filter_box3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00339">non_linear_filter_box5x5()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00099">non_linear_filter_cross3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00387">non_linear_filter_cross5x5()</a>, <a class="el" href="non__linear__filter3x3_8cl_source.xhtml#l00150">non_linear_filter_disk3x3()</a>, <a class="el" href="non__linear__filter5x5_8cl_source.xhtml#l00444">non_linear_filter_disk5x5()</a>, <a class="el" href="nonmax_8cl_source.xhtml#l00041">non_max_suppression()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00064">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00118">pooling_layer_3()</a>, <a class="el" href="warp__helpers_8h_source.xhtml#l00045">read_texels4()</a>, <a class="el" href="scharr__filter_8cl_source.xhtml#l00050">scharr3x3()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00154">sobel1x5()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00054">sobel3x3()</a>, <a class="el" href="sobel__filter_8cl_source.xhtml#l00206">sobel5x1()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00059">softmax_layer_max()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00207">softmax_layer_norm()</a>, <a class="el" href="softmax__layer_8cl_source.xhtml#l00132">softmax_layer_shift_exp_sum()</a>, <a class="el" href="canny_8cl_source.xhtml#l00191">suppress_non_maximum()</a>, and <a class="el" href="transpose_8cl_source.xhtml#l00145">transpose()</a>.</p>
762<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> img-&gt;<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + x * img-&gt;<a class="code" href="struct_image.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">stride_x</a> + y * img-&gt;<a class="code" href="struct_image.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">stride_y</a>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div><div class="ttc" id="struct_image_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">Image::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00097">helpers.h:97</a></div></div>
763<div class="ttc" id="struct_image_xhtml_a4f0b90c9ecd6e57ceb3f37332fefe8f1"><div class="ttname"><a href="struct_image.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">Image::stride_y</a></div><div class="ttdeci">int stride_y</div><div class="ttdoc">Stride of the image in Y dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00100">helpers.h:100</a></div></div>
764<div class="ttc" id="struct_image_xhtml_ae01febbfd0689ef709f3ff6fdd2abc7e"><div class="ttname"><a href="struct_image.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">Image::stride_x</a></div><div class="ttdeci">int stride_x</div><div class="ttdoc">Stride of the image in X dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00099">helpers.h:99</a></div></div>
765</div><!-- fragment -->
766</div>
767</div>
768<a class="anchor" id="a2101b2fe0193ce227ae4e0945e321d85"></a>
769<div class="memitem">
770<div class="memproto">
771<table class="mlabels">
772 <tr>
773 <td class="mlabels-left">
774 <table class="memname">
775 <tr>
776 <td class="memname">__global const uchar* tensor3D_offset </td>
777 <td>(</td>
778 <td class="paramtype">const <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> *&#160;</td>
779 <td class="paramname"><em>tensor</em>, </td>
780 </tr>
781 <tr>
782 <td class="paramkey"></td>
783 <td></td>
784 <td class="paramtype">int&#160;</td>
785 <td class="paramname"><em>x</em>, </td>
786 </tr>
787 <tr>
788 <td class="paramkey"></td>
789 <td></td>
790 <td class="paramtype">int&#160;</td>
791 <td class="paramname"><em>y</em>, </td>
792 </tr>
793 <tr>
794 <td class="paramkey"></td>
795 <td></td>
796 <td class="paramtype">int&#160;</td>
797 <td class="paramname"><em>z</em>&#160;</td>
798 </tr>
799 <tr>
800 <td></td>
801 <td>)</td>
802 <td></td><td></td>
803 </tr>
804 </table>
805 </td>
806 <td class="mlabels-right">
807<span class="mlabels"><span class="mlabel">inline</span></span> </td>
808 </tr>
809</table>
810</div><div class="memdoc">
811
812<p>Get the pointer position of a <a class="el" href="struct_tensor3_d.xhtml" title="Structure to hold 3D tensor information. ">Tensor3D</a>. </p>
813<dl class="params"><dt>Parameters</dt><dd>
814 <table class="params">
815 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Pointer to the starting postion of the buffer </td></tr>
816 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
817 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
818 <tr><td class="paramdir">[in]</td><td class="paramname">z</td><td>Relative Z position </td></tr>
819 </table>
820 </dd>
821</dl>
822
823<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00213">213</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
824
825<p>References <a class="el" href="helpers_8h_source.xhtml#l00106">Tensor3D::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00108">Tensor3D::stride_x</a>, <a class="el" href="helpers_8h_source.xhtml#l00109">Tensor3D::stride_y</a>, and <a class="el" href="helpers_8h_source.xhtml#l00110">Tensor3D::stride_z</a>.</p>
826
827<p>Referenced by <a class="el" href="convolution__layer_8cl_source.xhtml#l00105">im2col_generic()</a>, <a class="el" href="normalization__layer_8cl_source.xhtml#l00059">normalization_layer_cross_map()</a>, and <a class="el" href="normalization__layer_8cl_source.xhtml#l00124">normalization_layer_in_map()</a>.</p>
828<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;{</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> tensor-&gt;<a class="code" href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + x * tensor-&gt;<a class="code" href="struct_tensor3_d.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">stride_x</a> + y * tensor-&gt;<a class="code" href="struct_tensor3_d.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">stride_y</a> + z * tensor-&gt;<a class="code" href="struct_tensor3_d.xhtml#ad5ff7a2b2bd0eec50fe09c254b127d1c">stride_z</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div><div class="ttc" id="struct_tensor3_d_xhtml_ad5ff7a2b2bd0eec50fe09c254b127d1c"><div class="ttname"><a href="struct_tensor3_d.xhtml#ad5ff7a2b2bd0eec50fe09c254b127d1c">Tensor3D::stride_z</a></div><div class="ttdeci">int stride_z</div><div class="ttdoc">Stride of the image in Z dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00110">helpers.h:110</a></div></div>
829<div class="ttc" id="struct_tensor3_d_xhtml_ae01febbfd0689ef709f3ff6fdd2abc7e"><div class="ttname"><a href="struct_tensor3_d.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">Tensor3D::stride_x</a></div><div class="ttdeci">int stride_x</div><div class="ttdoc">Stride of the image in X dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00108">helpers.h:108</a></div></div>
830<div class="ttc" id="struct_tensor3_d_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">Tensor3D::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00106">helpers.h:106</a></div></div>
831<div class="ttc" id="struct_tensor3_d_xhtml_a4f0b90c9ecd6e57ceb3f37332fefe8f1"><div class="ttname"><a href="struct_tensor3_d.xhtml#a4f0b90c9ecd6e57ceb3f37332fefe8f1">Tensor3D::stride_y</a></div><div class="ttdeci">int stride_y</div><div class="ttdoc">Stride of the image in Y dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00109">helpers.h:109</a></div></div>
832</div><!-- fragment -->
833</div>
834</div>
835<a class="anchor" id="a0a4395130f74a4293a7d3a19d8fac86d"></a>
836<div class="memitem">
837<div class="memproto">
838<table class="mlabels">
839 <tr>
840 <td class="mlabels-left">
841 <table class="memname">
842 <tr>
843 <td class="memname"><a class="el" href="struct_image.xhtml">Image</a> update_image_workitem_ptr </td>
844 <td>(</td>
845 <td class="paramtype">__global uchar *&#160;</td>
846 <td class="paramname"><em>ptr</em>, </td>
847 </tr>
848 <tr>
849 <td class="paramkey"></td>
850 <td></td>
851 <td class="paramtype">uint&#160;</td>
852 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
853 </tr>
854 <tr>
855 <td class="paramkey"></td>
856 <td></td>
857 <td class="paramtype">uint&#160;</td>
858 <td class="paramname"><em>stride_x</em>, </td>
859 </tr>
860 <tr>
861 <td class="paramkey"></td>
862 <td></td>
863 <td class="paramtype">uint&#160;</td>
864 <td class="paramname"><em>step_x</em>, </td>
865 </tr>
866 <tr>
867 <td class="paramkey"></td>
868 <td></td>
869 <td class="paramtype">uint&#160;</td>
870 <td class="paramname"><em>stride_y</em>, </td>
871 </tr>
872 <tr>
873 <td class="paramkey"></td>
874 <td></td>
875 <td class="paramtype">uint&#160;</td>
876 <td class="paramname"><em>step_y</em>&#160;</td>
877 </tr>
878 <tr>
879 <td></td>
880 <td>)</td>
881 <td></td><td></td>
882 </tr>
883 </table>
884 </td>
885 <td class="mlabels-right">
886<span class="mlabels"><span class="mlabel">inline</span></span> </td>
887 </tr>
888</table>
889</div><div class="memdoc">
890
891<p>Wrap image information into an <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> structure, and make the pointer point at this workitem's data. </p>
892<dl class="params"><dt>Parameters</dt><dd>
893 <table class="params">
894 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
895 <tr><td class="paramdir">[in]</td><td class="paramname">offset_first_element_in_bytes</td><td>The offset of the first element in the source image </td></tr>
896 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
897 <tr><td class="paramdir">[in]</td><td class="paramname">step_x</td><td>stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
898 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
899 <tr><td class="paramdir">[in]</td><td class="paramname">step_y</td><td>stride_y * number of elements along Y processed per workitem(in bytes)</td></tr>
900 </table>
901 </dd>
902</dl>
903<dl class="section return"><dt>Returns</dt><dd>An image object </dd></dl>
904
905<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00145">145</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
906
907<p>References <a class="el" href="helpers_8h_source.xhtml#l00090">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00098">Image::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00089">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00097">Image::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00091">Vector::stride_x</a>.</p>
908<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="struct_image.xhtml">Image</a> img =</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; .<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; .stride_y = stride_y</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; };</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; img.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> += img.<a class="code" href="struct_image.xhtml#a35e5a91338398273f3b4a6010004bddd">offset_first_element_in_bytes</a> + get_global_id(0) * step_x + get_global_id(1) * step_y;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> img;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;}</div><div class="ttc" id="struct_image_xhtml_a35e5a91338398273f3b4a6010004bddd"><div class="ttname"><a href="struct_image.xhtml#a35e5a91338398273f3b4a6010004bddd">Image::offset_first_element_in_bytes</a></div><div class="ttdeci">int offset_first_element_in_bytes</div><div class="ttdoc">The offset of the first element in the source image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00098">helpers.h:98</a></div></div>
909<div class="ttc" id="struct_image_xhtml"><div class="ttname"><a href="struct_image.xhtml">Image</a></div><div class="ttdoc">Structure to hold Image information. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00095">helpers.h:95</a></div></div>
910<div class="ttc" id="struct_image_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">Image::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00097">helpers.h:97</a></div></div>
911</div><!-- fragment -->
912</div>
913</div>
914<a class="anchor" id="a912ccbcc4235bf1274c95d05b50440d4"></a>
915<div class="memitem">
916<div class="memproto">
917<table class="mlabels">
918 <tr>
919 <td class="mlabels-left">
920 <table class="memname">
921 <tr>
922 <td class="memname"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> update_tensor3D_workitem_ptr </td>
923 <td>(</td>
924 <td class="paramtype">__global uchar *&#160;</td>
925 <td class="paramname"><em>ptr</em>, </td>
926 </tr>
927 <tr>
928 <td class="paramkey"></td>
929 <td></td>
930 <td class="paramtype">uint&#160;</td>
931 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
932 </tr>
933 <tr>
934 <td class="paramkey"></td>
935 <td></td>
936 <td class="paramtype">uint&#160;</td>
937 <td class="paramname"><em>stride_x</em>, </td>
938 </tr>
939 <tr>
940 <td class="paramkey"></td>
941 <td></td>
942 <td class="paramtype">uint&#160;</td>
943 <td class="paramname"><em>step_x</em>, </td>
944 </tr>
945 <tr>
946 <td class="paramkey"></td>
947 <td></td>
948 <td class="paramtype">uint&#160;</td>
949 <td class="paramname"><em>stride_y</em>, </td>
950 </tr>
951 <tr>
952 <td class="paramkey"></td>
953 <td></td>
954 <td class="paramtype">uint&#160;</td>
955 <td class="paramname"><em>step_y</em>, </td>
956 </tr>
957 <tr>
958 <td class="paramkey"></td>
959 <td></td>
960 <td class="paramtype">uint&#160;</td>
961 <td class="paramname"><em>stride_z</em>, </td>
962 </tr>
963 <tr>
964 <td class="paramkey"></td>
965 <td></td>
966 <td class="paramtype">uint&#160;</td>
967 <td class="paramname"><em>step_z</em>&#160;</td>
968 </tr>
969 <tr>
970 <td></td>
971 <td>)</td>
972 <td></td><td></td>
973 </tr>
974 </table>
975 </td>
976 <td class="mlabels-right">
977<span class="mlabels"><span class="mlabel">inline</span></span> </td>
978 </tr>
979</table>
980</div><div class="memdoc">
981
982<p>Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem's data. </p>
983<dl class="params"><dt>Parameters</dt><dd>
984 <table class="params">
985 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
986 <tr><td class="paramdir">[in]</td><td class="paramname">offset_first_element_in_bytes</td><td>The offset of the first element in the source image </td></tr>
987 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
988 <tr><td class="paramdir">[in]</td><td class="paramname">step_x</td><td>stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
989 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
990 <tr><td class="paramdir">[in]</td><td class="paramname">step_y</td><td>stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
991 <tr><td class="paramdir">[in]</td><td class="paramname">stride_z</td><td>Stride of the image in Z dimension (in bytes) </td></tr>
992 <tr><td class="paramdir">[in]</td><td class="paramname">step_z</td><td>stride_z * number of elements along Z processed per workitem(in bytes)</td></tr>
993 </table>
994 </dd>
995</dl>
996<dl class="section return"><dt>Returns</dt><dd>A 3D tensor object </dd></dl>
997
998<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00171">171</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
999
1000<p>References <a class="el" href="helpers_8h_source.xhtml#l00090">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00107">Tensor3D::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00089">Vector::ptr</a>, <a class="el" href="helpers_8h_source.xhtml#l00106">Tensor3D::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00091">Vector::stride_x</a>.</p>
1001<div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;{</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="struct_tensor3_d.xhtml">Tensor3D</a> tensor =</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; .<a class="code" href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; .stride_y = stride_y,</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; .stride_z = stride_z</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; };</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; tensor.<a class="code" href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> += tensor.<a class="code" href="struct_tensor3_d.xhtml#a35e5a91338398273f3b4a6010004bddd">offset_first_element_in_bytes</a> + get_global_id(0) * step_x + get_global_id(1) * step_y + get_global_id(2) * step_z;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> tensor;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div><div class="ttc" id="struct_tensor3_d_xhtml"><div class="ttname"><a href="struct_tensor3_d.xhtml">Tensor3D</a></div><div class="ttdoc">Structure to hold 3D tensor information. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00104">helpers.h:104</a></div></div>
1002<div class="ttc" id="struct_tensor3_d_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_tensor3_d.xhtml#acf52c23cbd7424606c10a606524e3e32">Tensor3D::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00106">helpers.h:106</a></div></div>
1003<div class="ttc" id="struct_tensor3_d_xhtml_a35e5a91338398273f3b4a6010004bddd"><div class="ttname"><a href="struct_tensor3_d.xhtml#a35e5a91338398273f3b4a6010004bddd">Tensor3D::offset_first_element_in_bytes</a></div><div class="ttdeci">int offset_first_element_in_bytes</div><div class="ttdoc">The offset of the first element in the source image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00107">helpers.h:107</a></div></div>
1004</div><!-- fragment -->
1005</div>
1006</div>
1007<a class="anchor" id="a8fee90913ba658b25516a43cf71e5cbd"></a>
1008<div class="memitem">
1009<div class="memproto">
1010<table class="mlabels">
1011 <tr>
1012 <td class="mlabels-left">
1013 <table class="memname">
1014 <tr>
1015 <td class="memname"><a class="el" href="struct_vector.xhtml">Vector</a> update_vector_workitem_ptr </td>
1016 <td>(</td>
1017 <td class="paramtype">__global uchar *&#160;</td>
1018 <td class="paramname"><em>ptr</em>, </td>
1019 </tr>
1020 <tr>
1021 <td class="paramkey"></td>
1022 <td></td>
1023 <td class="paramtype">uint&#160;</td>
1024 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
1025 </tr>
1026 <tr>
1027 <td class="paramkey"></td>
1028 <td></td>
1029 <td class="paramtype">uint&#160;</td>
1030 <td class="paramname"><em>stride_x</em>, </td>
1031 </tr>
1032 <tr>
1033 <td class="paramkey"></td>
1034 <td></td>
1035 <td class="paramtype">uint&#160;</td>
1036 <td class="paramname"><em>step_x</em>&#160;</td>
1037 </tr>
1038 <tr>
1039 <td></td>
1040 <td>)</td>
1041 <td></td><td></td>
1042 </tr>
1043 </table>
1044 </td>
1045 <td class="mlabels-right">
1046<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1047 </tr>
1048</table>
1049</div><div class="memdoc">
1050
1051<p>Wrap vector information into an <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> structure, and make the pointer point at this workitem's data. </p>
1052<dl class="params"><dt>Parameters</dt><dd>
1053 <table class="params">
1054 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1055 <tr><td class="paramdir">[in]</td><td class="paramname">offset_first_element_in_bytes</td><td>The offset of the first element in the source vector </td></tr>
1056 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the vector in X dimension (in bytes) </td></tr>
1057 <tr><td class="paramdir">[in]</td><td class="paramname">step_x</td><td>stride_x * number of elements along X processed per workitem(in bytes)</td></tr>
1058 </table>
1059 </dd>
1060</dl>
1061<dl class="section return"><dt>Returns</dt><dd>An image object </dd></dl>
1062
1063<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00122">122</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
1064
1065<p>References <a class="el" href="helpers_8h_source.xhtml#l00090">Vector::offset_first_element_in_bytes</a>, <a class="el" href="helpers_8h_source.xhtml#l00089">Vector::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00091">Vector::stride_x</a>.</p>
1066<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="struct_vector.xhtml">Vector</a> vector =</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; .<a class="code" href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> = ptr,</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; .offset_first_element_in_bytes = offset_first_element_in_bytes,</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; .stride_x = stride_x,</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; };</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; vector.<a class="code" href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> += vector.<a class="code" href="struct_vector.xhtml#a35e5a91338398273f3b4a6010004bddd">offset_first_element_in_bytes</a> + get_global_id(0) * step_x;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> vector;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;}</div><div class="ttc" id="struct_vector_xhtml"><div class="ttname"><a href="struct_vector.xhtml">Vector</a></div><div class="ttdoc">Structure to hold Vector information. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00087">helpers.h:87</a></div></div>
1067<div class="ttc" id="struct_vector_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">Vector::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00089">helpers.h:89</a></div></div>
1068<div class="ttc" id="struct_vector_xhtml_a35e5a91338398273f3b4a6010004bddd"><div class="ttname"><a href="struct_vector.xhtml#a35e5a91338398273f3b4a6010004bddd">Vector::offset_first_element_in_bytes</a></div><div class="ttdeci">int offset_first_element_in_bytes</div><div class="ttdoc">The offset of the first element in the source image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00090">helpers.h:90</a></div></div>
1069</div><!-- fragment -->
1070</div>
1071</div>
1072<a class="anchor" id="a37878e370129d09b9a86f61b57dbc0a8"></a>
1073<div class="memitem">
1074<div class="memproto">
1075<table class="mlabels">
1076 <tr>
1077 <td class="mlabels-left">
1078 <table class="memname">
1079 <tr>
1080 <td class="memname">__global const uchar* vector_offset </td>
1081 <td>(</td>
1082 <td class="paramtype">const <a class="el" href="struct_image.xhtml">Image</a> *&#160;</td>
1083 <td class="paramname"><em>img</em>, </td>
1084 </tr>
1085 <tr>
1086 <td class="paramkey"></td>
1087 <td></td>
1088 <td class="paramtype">int&#160;</td>
1089 <td class="paramname"><em>x</em>&#160;</td>
1090 </tr>
1091 <tr>
1092 <td></td>
1093 <td>)</td>
1094 <td></td><td></td>
1095 </tr>
1096 </table>
1097 </td>
1098 <td class="mlabels-right">
1099<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1100 </tr>
1101</table>
1102</div><div class="memdoc">
1103
1104<p>Get the pointer position of a <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a>. </p>
1105<dl class="params"><dt>Parameters</dt><dd>
1106 <table class="params">
1107 <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Pointer to the starting position of the buffer </td></tr>
1108 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1109 </table>
1110 </dd>
1111</dl>
1112
1113<p>Definition at line <a class="el" href="helpers_8h_source.xhtml#l00190">190</a> of file <a class="el" href="helpers_8h_source.xhtml">helpers.h</a>.</p>
1114
1115<p>References <a class="el" href="helpers_8h_source.xhtml#l00097">Image::ptr</a>, and <a class="el" href="helpers_8h_source.xhtml#l00099">Image::stride_x</a>.</p>
1116<div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;{</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> img-&gt;<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + x * img-&gt;<a class="code" href="struct_image.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">stride_x</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;}</div><div class="ttc" id="struct_image_xhtml_acf52c23cbd7424606c10a606524e3e32"><div class="ttname"><a href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">Image::ptr</a></div><div class="ttdeci">__global uchar * ptr</div><div class="ttdoc">Pointer to the starting postion of the buffer. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00097">helpers.h:97</a></div></div>
1117<div class="ttc" id="struct_image_xhtml_ae01febbfd0689ef709f3ff6fdd2abc7e"><div class="ttname"><a href="struct_image.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">Image::stride_x</a></div><div class="ttdeci">int stride_x</div><div class="ttdoc">Stride of the image in X dimension (in bytes) </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00099">helpers.h:99</a></div></div>
1118</div><!-- fragment -->
1119</div>
1120</div>
1121</div><!-- contents -->
1122</div><!-- doc-content -->
1123<!-- start footer part -->
1124<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1125 <ul>
1126 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_8c278f79c760e5c5fbd911f9870614c1.xhtml">CL</a></li><li class="navelem"><a class="el" href="dir_25885286e9dad4fa105b7b25a8031bbf.xhtml">cl_kernels</a></li><li class="navelem"><a class="el" href="helpers_8h.xhtml">helpers.h</a></li>
1127 <li class="footer">Generated on Fri Mar 24 2017 17:23:50 for ARM Compute Library by
1128 <a href="http://www.doxygen.org/index.html">
1129 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
1130 </ul>
1131</div>
1132</body>
1133</html>