blob: 47738e5ebe01d3c82a4f11e22a5450aee4c97a8d [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 -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01009<title>Compute Library: src/core/CL/cl_kernels/helpers.h File Reference</title>
Anthony Barbier871448e2017-03-24 14:54:29 +000010<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;">
Anthony Barbierdbdab852017-06-23 15:42:00 +010042 <div id="projectname">Compute Library
43 &#160;<span id="projectnumber">v17.06</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000044 </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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010058 <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
Anthony Barbier871448e2017-03-24 14:54:29 +000059 <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60 <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
61 <li class="current"><a href="files.xhtml"><span>Files</span></a></li>
62 <li>
63 <div id="MSearchBox" class="MSearchBoxInactive">
64 <span class="left">
65 <img id="MSearchSelect" src="search/mag_sel.png"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 alt=""/>
69 <input type="text" id="MSearchField" value="Search" accesskey="S"
70 onfocus="searchBox.OnSearchFieldFocus(true)"
71 onblur="searchBox.OnSearchFieldFocus(false)"
72 onkeyup="searchBox.OnSearchFieldChange(event)"/>
73 </span><span class="right">
74 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
75 </span>
76 </div>
77 </li>
78 </ul>
79 </div>
80 <div id="navrow2" class="tabs2">
81 <ul class="tablist">
82 <li><a href="files.xhtml"><span>File&#160;List</span></a></li>
83 <li><a href="globals.xhtml"><span>Globals</span></a></li>
84 </ul>
85 </div>
86</div><!-- top -->
87<div id="side-nav" class="ui-resizable side-nav-resizable">
88 <div id="nav-tree">
89 <div id="nav-tree-contents">
90 <div id="nav-sync" class="sync"></div>
91 </div>
92 </div>
93 <div id="splitbar" style="-moz-user-select:none;"
94 class="ui-resizable-handle">
95 </div>
96</div>
97<script type="text/javascript">
98$(document).ready(function(){initNavTree('helpers_8h.xhtml','');});
99</script>
100<div id="doc-content">
101<!-- window showing the filter options -->
102<div id="MSearchSelectWindow"
103 onmouseover="return searchBox.OnSearchSelectShow()"
104 onmouseout="return searchBox.OnSearchSelectHide()"
105 onkeydown="return searchBox.OnSearchSelectKey(event)">
106</div>
107
108<!-- iframe showing the search results (closed by default) -->
109<div id="MSearchResultsWindow">
110<iframe src="javascript:void(0)" frameborder="0"
111 name="MSearchResults" id="MSearchResults">
112</iframe>
113</div>
114
115<div class="header">
116 <div class="summary">
117<a href="#nested-classes">Data Structures</a> &#124;
118<a href="#define-members">Macros</a> &#124;
119<a href="#typedef-members">Typedefs</a> &#124;
120<a href="#func-members">Functions</a> </div>
121 <div class="headertitle">
122<div class="title">helpers.h File Reference</div> </div>
123</div><!--header-->
124<div class="contents">
125
126<p><a href="helpers_8h_source.xhtml">Go to the source code of this file.</a></p>
127<table class="memberdecls">
128<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
129Data Structures</h2></td></tr>
130<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>
131<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>
132<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<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>
134<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>
135<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<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>
137<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>
138<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
139</table><table class="memberdecls">
140<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
141Macros</h2></td></tr>
142<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>
143<tr class="separator:aabdbe431f2713c5c2604cb9872b66aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
144<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>
145<tr class="separator:ae802822defb0fa3a7f74f98e324696cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
146<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>
147<tr class="separator:a36f754c05b6fddf6df0d8d0a74f8159f"><td class="memSeparator" colspan="2">&#160;</td></tr>
148<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>
149<tr class="separator:a4090567b3adb034c7cc1af308cb45670"><td class="memSeparator" colspan="2">&#160;</td></tr>
150<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>
151<tr class="separator:aa8d95ba04fc73845abc6045952cae5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
152<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>
153<tr class="separator:a4e0fc93c9a69863dcdf7672ab547026c"><td class="memSeparator" colspan="2">&#160;</td></tr>
154<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>
155<tr class="separator:a23fb01b6f3453cc0e48a026fd44f6acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
156<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>
157<tr class="separator:a341a0c28698c3f6bd171df1771c5a512"><td class="memSeparator" colspan="2">&#160;</td></tr>
158<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>
159<tr class="separator:a28b2b123792a5b11a32cb05a6d327437"><td class="memSeparator" colspan="2">&#160;</td></tr>
160<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>
161<tr class="separator:a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
162<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>
163<tr class="separator:a22f42fcf2077d951271df83b55c1a71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
164<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>
165<tr class="separator:a6b83038822d1ae7ab619b684ed3b7fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
166<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>
167<tr class="separator:a527bfdf5eeb306f1cf01c4a8e29f38e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
168<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>
169<tr class="separator:a64d779f80eeb923e0ab2313433f7b40b"><td class="memSeparator" colspan="2">&#160;</td></tr>
170<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>
171<tr class="separator:aebe814363556c244be043b13e7969197"><td class="memSeparator" colspan="2">&#160;</td></tr>
172<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>
173<tr class="separator:a4334a4a76f8e9628c0fb9e1acf616e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<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>
175<tr class="separator:a31c8c760f08fb1a331b16b7c204321dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
176<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>
177<tr class="separator:a79e8e562daa6599317d2d1cd86ef1bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
178</table><table class="memberdecls">
179<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
180Typedefs</h2></td></tr>
181<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>
182<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>
183<tr class="separator:a6ded2cf071c127e518317e3c451af3ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
184<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>
185<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>
186<tr class="separator:a9082e6aa9fd1705dc218cf44bc5a9d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
187<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>
188<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>
189<tr class="separator:a1a857bfe99727c6051e9a3ee285d70f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
190</table><table class="memberdecls">
191<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
192Functions</h2></td></tr>
193<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>
194<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>
195<tr class="separator:a8fee90913ba658b25516a43cf71e5cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
196<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>
197<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>
198<tr class="separator:a0a4395130f74a4293a7d3a19d8fac86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
199<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>
200<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>
201<tr class="separator:a912ccbcc4235bf1274c95d05b50440d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +0100202<tr class="memitem:a7e4940407322d6f0ccb8b6b86b856019"><td class="memItemLeft" align="right" valign="top">__global const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="helpers_8h.xhtml#a7e4940407322d6f0ccb8b6b86b856019">vector_offset</a> (const <a class="el" href="struct_vector.xhtml">Vector</a> *vec, int x)</td></tr>
203<tr class="memdesc:a7e4940407322d6f0ccb8b6b86b856019"><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="#a7e4940407322d6f0ccb8b6b86b856019">More...</a><br /></td></tr>
204<tr class="separator:a7e4940407322d6f0ccb8b6b86b856019"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000205<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>
206<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>
207<tr class="separator:a009469e4d9b8fce3b6d5e97d2077827d"><td class="memSeparator" colspan="2">&#160;</td></tr>
208<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>
209<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>
210<tr class="separator:a2101b2fe0193ce227ae4e0945e321d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
211</table>
212<h2 class="groupheader">Macro Definition Documentation</h2>
213<a class="anchor" id="aabdbe431f2713c5c2604cb9872b66aab"></a>
214<div class="memitem">
215<div class="memproto">
216 <table class="memname">
217 <tr>
218 <td class="memname">#define CLAMP</td>
219 <td>(</td>
220 <td class="paramtype">&#160;</td>
221 <td class="paramname">x, </td>
222 </tr>
223 <tr>
224 <td class="paramkey"></td>
225 <td></td>
226 <td class="paramtype">&#160;</td>
227 <td class="paramname">min_val, </td>
228 </tr>
229 <tr>
230 <td class="paramkey"></td>
231 <td></td>
232 <td class="paramtype">&#160;</td>
233 <td class="paramname">max_val&#160;</td>
234 </tr>
235 <tr>
236 <td></td>
237 <td>)</td>
238 <td></td><td>&#160;&#160;&#160;min(max(x, min_val), max_val)</td>
239 </tr>
240 </table>
241</div><div class="memdoc">
242
243<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>
244
245</div>
246</div>
247<a class="anchor" id="aa8d95ba04fc73845abc6045952cae5be"></a>
248<div class="memitem">
249<div class="memproto">
250 <table class="memname">
251 <tr>
252 <td class="memname">#define CONVERT</td>
253 <td>(</td>
254 <td class="paramtype">&#160;</td>
255 <td class="paramname">x, </td>
256 </tr>
257 <tr>
258 <td class="paramkey"></td>
259 <td></td>
260 <td class="paramtype">&#160;</td>
261 <td class="paramname">type&#160;</td>
262 </tr>
263 <tr>
264 <td></td>
265 <td>)</td>
266 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4090567b3adb034c7cc1af308cb45670">CONVERT_STR</a>(x, type)</td>
267 </tr>
268 </table>
269</div><div class="memdoc">
270
271<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>
272
Anthony Barbierdbdab852017-06-23 15:42:00 +0100273<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_1D()</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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000274
275</div>
276</div>
277<a class="anchor" id="a23fb01b6f3453cc0e48a026fd44f6acd"></a>
278<div class="memitem">
279<div class="memproto">
280 <table class="memname">
281 <tr>
282 <td class="memname">#define CONVERT_SAT</td>
283 <td>(</td>
284 <td class="paramtype">&#160;</td>
285 <td class="paramname">x, </td>
286 </tr>
287 <tr>
288 <td class="paramkey"></td>
289 <td></td>
290 <td class="paramtype">&#160;</td>
291 <td class="paramname">type&#160;</td>
292 </tr>
293 <tr>
294 <td></td>
295 <td>)</td>
296 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a4e0fc93c9a69863dcdf7672ab547026c">CONVERT_SAT_STR</a>(x, type)</td>
297 </tr>
298 </table>
299</div><div class="memdoc">
300
301<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>
302
303<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>
304
305</div>
306</div>
307<a class="anchor" id="a28b2b123792a5b11a32cb05a6d327437"></a>
308<div class="memitem">
309<div class="memproto">
310 <table class="memname">
311 <tr>
312 <td class="memname">#define CONVERT_SAT_ROUND</td>
313 <td>(</td>
314 <td class="paramtype">&#160;</td>
315 <td class="paramname">x, </td>
316 </tr>
317 <tr>
318 <td class="paramkey"></td>
319 <td></td>
320 <td class="paramtype">&#160;</td>
321 <td class="paramname">type, </td>
322 </tr>
323 <tr>
324 <td class="paramkey"></td>
325 <td></td>
326 <td class="paramtype">&#160;</td>
327 <td class="paramname">round&#160;</td>
328 </tr>
329 <tr>
330 <td></td>
331 <td>)</td>
332 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#a341a0c28698c3f6bd171df1771c5a512">CONVERT_SAT_ROUND_STR</a>(x, type, round)</td>
333 </tr>
334 </table>
335</div><div class="memdoc">
336
337<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>
338
339<p>Referenced by <a class="el" href="canny_8cl_source.xhtml#l00121">combine_gradients_L2()</a>.</p>
340
341</div>
342</div>
343<a class="anchor" id="a341a0c28698c3f6bd171df1771c5a512"></a>
344<div class="memitem">
345<div class="memproto">
346 <table class="memname">
347 <tr>
348 <td class="memname">#define CONVERT_SAT_ROUND_STR</td>
349 <td>(</td>
350 <td class="paramtype">&#160;</td>
351 <td class="paramname">x, </td>
352 </tr>
353 <tr>
354 <td class="paramkey"></td>
355 <td></td>
356 <td class="paramtype">&#160;</td>
357 <td class="paramname">type, </td>
358 </tr>
359 <tr>
360 <td class="paramkey"></td>
361 <td></td>
362 <td class="paramtype">&#160;</td>
363 <td class="paramname">round&#160;</td>
364 </tr>
365 <tr>
366 <td></td>
367 <td>)</td>
368 <td></td><td>&#160;&#160;&#160;(convert_##type##_sat_##round((x)))</td>
369 </tr>
370 </table>
371</div><div class="memdoc">
372
373<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>
374
375</div>
376</div>
377<a class="anchor" id="a4e0fc93c9a69863dcdf7672ab547026c"></a>
378<div class="memitem">
379<div class="memproto">
380 <table class="memname">
381 <tr>
382 <td class="memname">#define CONVERT_SAT_STR</td>
383 <td>(</td>
384 <td class="paramtype">&#160;</td>
385 <td class="paramname">x, </td>
386 </tr>
387 <tr>
388 <td class="paramkey"></td>
389 <td></td>
390 <td class="paramtype">&#160;</td>
391 <td class="paramname">type&#160;</td>
392 </tr>
393 <tr>
394 <td></td>
395 <td>)</td>
396 <td></td><td>&#160;&#160;&#160;(convert_##type##_sat((x)))</td>
397 </tr>
398 </table>
399</div><div class="memdoc">
400
401<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>
402
403</div>
404</div>
405<a class="anchor" id="a4090567b3adb034c7cc1af308cb45670"></a>
406<div class="memitem">
407<div class="memproto">
408 <table class="memname">
409 <tr>
410 <td class="memname">#define CONVERT_STR</td>
411 <td>(</td>
412 <td class="paramtype">&#160;</td>
413 <td class="paramname">x, </td>
414 </tr>
415 <tr>
416 <td class="paramkey"></td>
417 <td></td>
418 <td class="paramtype">&#160;</td>
419 <td class="paramname">type&#160;</td>
420 </tr>
421 <tr>
422 <td></td>
423 <td>)</td>
424 <td></td><td>&#160;&#160;&#160;(convert_##type((x)))</td>
425 </tr>
426 </table>
427</div><div class="memdoc">
428
429<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>
430
431</div>
432</div>
433<a class="anchor" id="aebe814363556c244be043b13e7969197"></a>
434<div class="memitem">
435<div class="memproto">
436 <table class="memname">
437 <tr>
438 <td class="memname">#define CONVERT_TO_IMAGE_STRUCT</td>
439 <td>(</td>
440 <td class="paramtype">&#160;</td>
441 <td class="paramname">name</td><td>)</td>
442 <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>
443 </tr>
444 </table>
445</div><div class="memdoc">
446
447<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>
448
Anthony Barbierdbdab852017-06-23 15:42:00 +0100449<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="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#l00187">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="concatenate_8cl_source.xhtml#l00042">concatenate_depth()</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_16bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00137">gemm_interleave4x4_32bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00219">gemm_interleave4x4_8bit()</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#l00130">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="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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000450
451</div>
452</div>
453<a class="anchor" id="a4334a4a76f8e9628c0fb9e1acf616e2a"></a>
454<div class="memitem">
455<div class="memproto">
456 <table class="memname">
457 <tr>
458 <td class="memname">#define CONVERT_TO_IMAGE_STRUCT_NO_STEP</td>
459 <td>(</td>
460 <td class="paramtype">&#160;</td>
461 <td class="paramname">name</td><td>)</td>
462 <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>
463 </tr>
464 </table>
465</div><div class="memdoc">
466
467<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>
468
Anthony Barbierdbdab852017-06-23 15:42:00 +0100469<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#l00122">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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000470
471</div>
472</div>
473<a class="anchor" id="a31c8c760f08fb1a331b16b7c204321dc"></a>
474<div class="memitem">
475<div class="memproto">
476 <table class="memname">
477 <tr>
478 <td class="memname">#define CONVERT_TO_TENSOR3D_STRUCT</td>
479 <td>(</td>
480 <td class="paramtype">&#160;</td>
481 <td class="paramname">name</td><td>)</td>
482 <td></td>
483 </tr>
484 </table>
485</div><div class="memdoc">
486<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>
487</div><!-- fragment -->
488<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>
489
Anthony Barbierdbdab852017-06-23 15:42:00 +0100490<p>Referenced by <a class="el" href="activation__layer_8cl_source.xhtml#l00050">activation_layer()</a>, <a class="el" href="batchnormalization__layer_8cl_source.xhtml#l00062">batchnormalization_layer()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00122">im2col_generic()</a>, <a class="el" href="convolution__layer_8cl_source.xhtml#l00220">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_1D()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00068">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00126">pooling_layer_3()</a>, and <a class="el" href="convolution__layer_8cl_source.xhtml#l00053">reshape_to_columns()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000491
492</div>
493</div>
494<a class="anchor" id="a79e8e562daa6599317d2d1cd86ef1bf2"></a>
495<div class="memitem">
496<div class="memproto">
497 <table class="memname">
498 <tr>
499 <td class="memname">#define CONVERT_TO_TENSOR3D_STRUCT_NO_STEP</td>
500 <td>(</td>
501 <td class="paramtype">&#160;</td>
502 <td class="paramname">name</td><td>)</td>
503 <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>
504 </tr>
505 </table>
506</div><div class="memdoc">
507
508<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>
509
Anthony Barbierdbdab852017-06-23 15:42:00 +0100510<p>Referenced by <a class="el" href="convolution__layer_8cl_source.xhtml#l00187">col2im()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000511
512</div>
513</div>
514<a class="anchor" id="a527bfdf5eeb306f1cf01c4a8e29f38e0"></a>
515<div class="memitem">
516<div class="memproto">
517 <table class="memname">
518 <tr>
519 <td class="memname">#define CONVERT_TO_VECTOR_STRUCT</td>
520 <td>(</td>
521 <td class="paramtype">&#160;</td>
522 <td class="paramname">name</td><td>)</td>
523 <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>
524 </tr>
525 </table>
526</div><div class="memdoc">
527
528<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>
529
Anthony Barbierdbdab852017-06-23 15:42:00 +0100530<p>Referenced by <a class="el" href="batchnormalization__layer_8cl_source.xhtml#l00062">batchnormalization_layer()</a>, <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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000531
532</div>
533</div>
534<a class="anchor" id="a64d779f80eeb923e0ab2313433f7b40b"></a>
535<div class="memitem">
536<div class="memproto">
537 <table class="memname">
538 <tr>
539 <td class="memname">#define CONVERT_TO_VECTOR_STRUCT_NO_STEP</td>
540 <td>(</td>
541 <td class="paramtype">&#160;</td>
542 <td class="paramname">name</td><td>)</td>
543 <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>
544 </tr>
545 </table>
546</div><div class="memdoc">
547
548<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>
549
550</div>
551</div>
552<a class="anchor" id="a22f42fcf2077d951271df83b55c1a71a"></a>
553<div class="memitem">
554<div class="memproto">
555 <table class="memname">
556 <tr>
557 <td class="memname">#define IMAGE_DECLARATION</td>
558 <td>(</td>
559 <td class="paramtype">&#160;</td>
560 <td class="paramname">name</td><td>)</td>
561 <td></td>
562 </tr>
563 </table>
564</div><div class="memdoc">
565<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 -->
566<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>
567
568<p>Referenced by <a class="el" href="gemm_8cl_source.xhtml#l00290">gemm_accumulate_biases_f16()</a>.</p>
569
570</div>
571</div>
572<a class="anchor" id="a6b83038822d1ae7ab619b684ed3b7fc0"></a>
573<div class="memitem">
574<div class="memproto">
575 <table class="memname">
576 <tr>
577 <td class="memname">#define TENSOR3D_DECLARATION</td>
578 <td>(</td>
579 <td class="paramtype">&#160;</td>
580 <td class="paramname">name</td><td>)</td>
581 <td></td>
582 </tr>
583 </table>
584</div><div class="memdoc">
585<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 -->
586<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>
587
Anthony Barbierdbdab852017-06-23 15:42:00 +0100588<p>Referenced by <a class="el" href="gemm_8cl_source.xhtml#l00290">gemm_accumulate_biases_f16()</a>.</p>
589
Anthony Barbier871448e2017-03-24 14:54:29 +0000590</div>
591</div>
592<a class="anchor" id="a36f754c05b6fddf6df0d8d0a74f8159f"></a>
593<div class="memitem">
594<div class="memproto">
595 <table class="memname">
596 <tr>
597 <td class="memname">#define VEC_DATA_TYPE</td>
598 <td>(</td>
599 <td class="paramtype">&#160;</td>
600 <td class="paramname">type, </td>
601 </tr>
602 <tr>
603 <td class="paramkey"></td>
604 <td></td>
605 <td class="paramtype">&#160;</td>
606 <td class="paramname">size&#160;</td>
607 </tr>
608 <tr>
609 <td></td>
610 <td>)</td>
611 <td></td><td>&#160;&#160;&#160;<a class="el" href="helpers_8h.xhtml#ae802822defb0fa3a7f74f98e324696cb">VEC_DATA_TYPE_STR</a>(type, size)</td>
612 </tr>
613 </table>
614</div><div class="memdoc">
615
616<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>
617
Anthony Barbierdbdab852017-06-23 15:42:00 +0100618<p>Referenced by <a class="el" href="absdiff_8cl_source.xhtml#l00050">absdiff()</a>, <a class="el" href="activation__layer_8cl_source.xhtml#l00050">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#l00130">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_1D()</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#l00068">pooling_layer_2()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00126">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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000619
620</div>
621</div>
622<a class="anchor" id="ae802822defb0fa3a7f74f98e324696cb"></a>
623<div class="memitem">
624<div class="memproto">
625 <table class="memname">
626 <tr>
627 <td class="memname">#define VEC_DATA_TYPE_STR</td>
628 <td>(</td>
629 <td class="paramtype">&#160;</td>
630 <td class="paramname">type, </td>
631 </tr>
632 <tr>
633 <td class="paramkey"></td>
634 <td></td>
635 <td class="paramtype">&#160;</td>
636 <td class="paramname">size&#160;</td>
637 </tr>
638 <tr>
639 <td></td>
640 <td>)</td>
641 <td></td><td>&#160;&#160;&#160;type##size</td>
642 </tr>
643 </table>
644</div><div class="memdoc">
645
646<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>
647
648</div>
649</div>
650<a class="anchor" id="a40a6eb9f2a7712f08d6bb8ff6c9e6ca7"></a>
651<div class="memitem">
652<div class="memproto">
653 <table class="memname">
654 <tr>
655 <td class="memname">#define VECTOR_DECLARATION</td>
656 <td>(</td>
657 <td class="paramtype">&#160;</td>
658 <td class="paramname">name</td><td>)</td>
659 <td></td>
660 </tr>
661 </table>
662</div><div class="memdoc">
663<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 -->
664<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>
665
666</div>
667</div>
668<h2 class="groupheader">Typedef Documentation</h2>
669<a class="anchor" id="a9082e6aa9fd1705dc218cf44bc5a9d66"></a>
670<div class="memitem">
671<div class="memproto">
672 <table class="memname">
673 <tr>
674 <td class="memname">typedef struct <a class="el" href="struct_image.xhtml">Image</a> <a class="el" href="struct_image.xhtml">Image</a></td>
675 </tr>
676 </table>
677</div><div class="memdoc">
678
679<p>Structure to hold <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> information. </p>
680
681</div>
682</div>
683<a class="anchor" id="a1a857bfe99727c6051e9a3ee285d70f6"></a>
684<div class="memitem">
685<div class="memproto">
686 <table class="memname">
687 <tr>
688 <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>
689 </tr>
690 </table>
691</div><div class="memdoc">
692
693<p>Structure to hold 3D tensor information. </p>
694
695</div>
696</div>
697<a class="anchor" id="a6ded2cf071c127e518317e3c451af3ef"></a>
698<div class="memitem">
699<div class="memproto">
700 <table class="memname">
701 <tr>
702 <td class="memname">typedef struct <a class="el" href="struct_vector.xhtml">Vector</a> <a class="el" href="struct_vector.xhtml">Vector</a></td>
703 </tr>
704 </table>
705</div><div class="memdoc">
706
707<p>Structure to hold <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> information. </p>
708
709</div>
710</div>
711<h2 class="groupheader">Function Documentation</h2>
712<a class="anchor" id="a009469e4d9b8fce3b6d5e97d2077827d"></a>
713<div class="memitem">
714<div class="memproto">
715<table class="mlabels">
716 <tr>
717 <td class="mlabels-left">
718 <table class="memname">
719 <tr>
720 <td class="memname">__global uchar* offset </td>
721 <td>(</td>
722 <td class="paramtype">const <a class="el" href="struct_image.xhtml">Image</a> *&#160;</td>
723 <td class="paramname"><em>img</em>, </td>
724 </tr>
725 <tr>
726 <td class="paramkey"></td>
727 <td></td>
728 <td class="paramtype">int&#160;</td>
729 <td class="paramname"><em>x</em>, </td>
730 </tr>
731 <tr>
732 <td class="paramkey"></td>
733 <td></td>
734 <td class="paramtype">int&#160;</td>
735 <td class="paramname"><em>y</em>&#160;</td>
736 </tr>
737 <tr>
738 <td></td>
739 <td>)</td>
740 <td></td><td></td>
741 </tr>
742 </table>
743 </td>
744 <td class="mlabels-right">
745<span class="mlabels"><span class="mlabel">inline</span></span> </td>
746 </tr>
747</table>
748</div><div class="memdoc">
749
750<p>Get the pointer position of a <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
751<dl class="params"><dt>Parameters</dt><dd>
752 <table class="params">
753 <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Pointer to the starting position of the buffer </td></tr>
754 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
755 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
756 </table>
757 </dd>
758</dl>
759
760<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>
761
762<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>
763
Anthony Barbierdbdab852017-06-23 15:42:00 +0100764<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="_tensor_library_8h_source.xhtml#l00388">TensorLibrary::fill()</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_16bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00137">gemm_interleave4x4_32bit()</a>, <a class="el" href="gemm_8cl_source.xhtml#l00219">gemm_interleave4x4_8bit()</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="tests_2validation_2_tensor_8h_source.xhtml#l00056">Tensor&lt; T &gt;::operator[]()</a>, <a class="el" href="_raw_tensor_8cpp_source.xhtml#l00076">RawTensor::operator[]()</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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000765<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>
766<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>
767<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>
768</div><!-- fragment -->
769</div>
770</div>
771<a class="anchor" id="a2101b2fe0193ce227ae4e0945e321d85"></a>
772<div class="memitem">
773<div class="memproto">
774<table class="mlabels">
775 <tr>
776 <td class="mlabels-left">
777 <table class="memname">
778 <tr>
779 <td class="memname">__global const uchar* tensor3D_offset </td>
780 <td>(</td>
781 <td class="paramtype">const <a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> *&#160;</td>
782 <td class="paramname"><em>tensor</em>, </td>
783 </tr>
784 <tr>
785 <td class="paramkey"></td>
786 <td></td>
787 <td class="paramtype">int&#160;</td>
788 <td class="paramname"><em>x</em>, </td>
789 </tr>
790 <tr>
791 <td class="paramkey"></td>
792 <td></td>
793 <td class="paramtype">int&#160;</td>
794 <td class="paramname"><em>y</em>, </td>
795 </tr>
796 <tr>
797 <td class="paramkey"></td>
798 <td></td>
799 <td class="paramtype">int&#160;</td>
800 <td class="paramname"><em>z</em>&#160;</td>
801 </tr>
802 <tr>
803 <td></td>
804 <td>)</td>
805 <td></td><td></td>
806 </tr>
807 </table>
808 </td>
809 <td class="mlabels-right">
810<span class="mlabels"><span class="mlabel">inline</span></span> </td>
811 </tr>
812</table>
813</div><div class="memdoc">
814
815<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>
816<dl class="params"><dt>Parameters</dt><dd>
817 <table class="params">
818 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Pointer to the starting postion of the buffer </td></tr>
819 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
820 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
821 <tr><td class="paramdir">[in]</td><td class="paramname">z</td><td>Relative Z position </td></tr>
822 </table>
823 </dd>
824</dl>
825
826<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>
827
828<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>
829
Anthony Barbierdbdab852017-06-23 15:42:00 +0100830<p>Referenced by <a class="el" href="convolution__layer_8cl_source.xhtml#l00122">im2col_generic()</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_1D()</a>, <a class="el" href="pooling__layer_8cl_source.xhtml#l00068">pooling_layer_2()</a>, and <a class="el" href="pooling__layer_8cl_source.xhtml#l00126">pooling_layer_3()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000831<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>
832<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>
833<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>
834<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>
835</div><!-- fragment -->
836</div>
837</div>
838<a class="anchor" id="a0a4395130f74a4293a7d3a19d8fac86d"></a>
839<div class="memitem">
840<div class="memproto">
841<table class="mlabels">
842 <tr>
843 <td class="mlabels-left">
844 <table class="memname">
845 <tr>
846 <td class="memname"><a class="el" href="struct_image.xhtml">Image</a> update_image_workitem_ptr </td>
847 <td>(</td>
848 <td class="paramtype">__global uchar *&#160;</td>
849 <td class="paramname"><em>ptr</em>, </td>
850 </tr>
851 <tr>
852 <td class="paramkey"></td>
853 <td></td>
854 <td class="paramtype">uint&#160;</td>
855 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
856 </tr>
857 <tr>
858 <td class="paramkey"></td>
859 <td></td>
860 <td class="paramtype">uint&#160;</td>
861 <td class="paramname"><em>stride_x</em>, </td>
862 </tr>
863 <tr>
864 <td class="paramkey"></td>
865 <td></td>
866 <td class="paramtype">uint&#160;</td>
867 <td class="paramname"><em>step_x</em>, </td>
868 </tr>
869 <tr>
870 <td class="paramkey"></td>
871 <td></td>
872 <td class="paramtype">uint&#160;</td>
873 <td class="paramname"><em>stride_y</em>, </td>
874 </tr>
875 <tr>
876 <td class="paramkey"></td>
877 <td></td>
878 <td class="paramtype">uint&#160;</td>
879 <td class="paramname"><em>step_y</em>&#160;</td>
880 </tr>
881 <tr>
882 <td></td>
883 <td>)</td>
884 <td></td><td></td>
885 </tr>
886 </table>
887 </td>
888 <td class="mlabels-right">
889<span class="mlabels"><span class="mlabel">inline</span></span> </td>
890 </tr>
891</table>
892</div><div class="memdoc">
893
894<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>
895<dl class="params"><dt>Parameters</dt><dd>
896 <table class="params">
897 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
898 <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>
899 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
900 <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>
901 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
902 <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>
903 </table>
904 </dd>
905</dl>
906<dl class="section return"><dt>Returns</dt><dd>An image object </dd></dl>
907
908<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>
909
910<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>
911<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>
912<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>
913<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>
914</div><!-- fragment -->
915</div>
916</div>
917<a class="anchor" id="a912ccbcc4235bf1274c95d05b50440d4"></a>
918<div class="memitem">
919<div class="memproto">
920<table class="mlabels">
921 <tr>
922 <td class="mlabels-left">
923 <table class="memname">
924 <tr>
925 <td class="memname"><a class="el" href="struct_tensor3_d.xhtml">Tensor3D</a> update_tensor3D_workitem_ptr </td>
926 <td>(</td>
927 <td class="paramtype">__global uchar *&#160;</td>
928 <td class="paramname"><em>ptr</em>, </td>
929 </tr>
930 <tr>
931 <td class="paramkey"></td>
932 <td></td>
933 <td class="paramtype">uint&#160;</td>
934 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
935 </tr>
936 <tr>
937 <td class="paramkey"></td>
938 <td></td>
939 <td class="paramtype">uint&#160;</td>
940 <td class="paramname"><em>stride_x</em>, </td>
941 </tr>
942 <tr>
943 <td class="paramkey"></td>
944 <td></td>
945 <td class="paramtype">uint&#160;</td>
946 <td class="paramname"><em>step_x</em>, </td>
947 </tr>
948 <tr>
949 <td class="paramkey"></td>
950 <td></td>
951 <td class="paramtype">uint&#160;</td>
952 <td class="paramname"><em>stride_y</em>, </td>
953 </tr>
954 <tr>
955 <td class="paramkey"></td>
956 <td></td>
957 <td class="paramtype">uint&#160;</td>
958 <td class="paramname"><em>step_y</em>, </td>
959 </tr>
960 <tr>
961 <td class="paramkey"></td>
962 <td></td>
963 <td class="paramtype">uint&#160;</td>
964 <td class="paramname"><em>stride_z</em>, </td>
965 </tr>
966 <tr>
967 <td class="paramkey"></td>
968 <td></td>
969 <td class="paramtype">uint&#160;</td>
970 <td class="paramname"><em>step_z</em>&#160;</td>
971 </tr>
972 <tr>
973 <td></td>
974 <td>)</td>
975 <td></td><td></td>
976 </tr>
977 </table>
978 </td>
979 <td class="mlabels-right">
980<span class="mlabels"><span class="mlabel">inline</span></span> </td>
981 </tr>
982</table>
983</div><div class="memdoc">
984
985<p>Wrap 3D tensor information into an tensor structure, and make the pointer point at this workitem's data. </p>
986<dl class="params"><dt>Parameters</dt><dd>
987 <table class="params">
988 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
989 <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>
990 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the image in X dimension (in bytes) </td></tr>
991 <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>
992 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the image in Y dimension (in bytes) </td></tr>
993 <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>
994 <tr><td class="paramdir">[in]</td><td class="paramname">stride_z</td><td>Stride of the image in Z dimension (in bytes) </td></tr>
995 <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>
996 </table>
997 </dd>
998</dl>
999<dl class="section return"><dt>Returns</dt><dd>A 3D tensor object </dd></dl>
1000
1001<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>
1002
1003<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>
1004<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>
1005<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>
1006<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>
1007</div><!-- fragment -->
1008</div>
1009</div>
1010<a class="anchor" id="a8fee90913ba658b25516a43cf71e5cbd"></a>
1011<div class="memitem">
1012<div class="memproto">
1013<table class="mlabels">
1014 <tr>
1015 <td class="mlabels-left">
1016 <table class="memname">
1017 <tr>
1018 <td class="memname"><a class="el" href="struct_vector.xhtml">Vector</a> update_vector_workitem_ptr </td>
1019 <td>(</td>
1020 <td class="paramtype">__global uchar *&#160;</td>
1021 <td class="paramname"><em>ptr</em>, </td>
1022 </tr>
1023 <tr>
1024 <td class="paramkey"></td>
1025 <td></td>
1026 <td class="paramtype">uint&#160;</td>
1027 <td class="paramname"><em>offset_first_element_in_bytes</em>, </td>
1028 </tr>
1029 <tr>
1030 <td class="paramkey"></td>
1031 <td></td>
1032 <td class="paramtype">uint&#160;</td>
1033 <td class="paramname"><em>stride_x</em>, </td>
1034 </tr>
1035 <tr>
1036 <td class="paramkey"></td>
1037 <td></td>
1038 <td class="paramtype">uint&#160;</td>
1039 <td class="paramname"><em>step_x</em>&#160;</td>
1040 </tr>
1041 <tr>
1042 <td></td>
1043 <td>)</td>
1044 <td></td><td></td>
1045 </tr>
1046 </table>
1047 </td>
1048 <td class="mlabels-right">
1049<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1050 </tr>
1051</table>
1052</div><div class="memdoc">
1053
1054<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>
1055<dl class="params"><dt>Parameters</dt><dd>
1056 <table class="params">
1057 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting postion of the buffer </td></tr>
1058 <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>
1059 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the vector in X dimension (in bytes) </td></tr>
1060 <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>
1061 </table>
1062 </dd>
1063</dl>
1064<dl class="section return"><dt>Returns</dt><dd>An image object </dd></dl>
1065
1066<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>
1067
1068<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>
1069<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>
1070<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>
1071<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>
1072</div><!-- fragment -->
1073</div>
1074</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01001075<a class="anchor" id="a7e4940407322d6f0ccb8b6b86b856019"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00001076<div class="memitem">
1077<div class="memproto">
1078<table class="mlabels">
1079 <tr>
1080 <td class="mlabels-left">
1081 <table class="memname">
1082 <tr>
1083 <td class="memname">__global const uchar* vector_offset </td>
1084 <td>(</td>
Anthony Barbier46d59272017-05-04 09:15:15 +01001085 <td class="paramtype">const <a class="el" href="struct_vector.xhtml">Vector</a> *&#160;</td>
1086 <td class="paramname"><em>vec</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00001087 </tr>
1088 <tr>
1089 <td class="paramkey"></td>
1090 <td></td>
1091 <td class="paramtype">int&#160;</td>
1092 <td class="paramname"><em>x</em>&#160;</td>
1093 </tr>
1094 <tr>
1095 <td></td>
1096 <td>)</td>
1097 <td></td><td></td>
1098 </tr>
1099 </table>
1100 </td>
1101 <td class="mlabels-right">
1102<span class="mlabels"><span class="mlabel">inline</span></span> </td>
1103 </tr>
1104</table>
1105</div><div class="memdoc">
1106
1107<p>Get the pointer position of a <a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a>. </p>
1108<dl class="params"><dt>Parameters</dt><dd>
1109 <table class="params">
Anthony Barbier46d59272017-05-04 09:15:15 +01001110 <tr><td class="paramdir">[in]</td><td class="paramname">vec</td><td>Pointer to the starting position of the buffer </td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001111 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
1112 </table>
1113 </dd>
1114</dl>
1115
1116<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>
1117
Anthony Barbier46d59272017-05-04 09:15:15 +01001118<p>References <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>
1119<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> vec-&gt;<a class="code" href="struct_vector.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + x * vec-&gt;<a class="code" href="struct_vector.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_vector_xhtml_ae01febbfd0689ef709f3ff6fdd2abc7e"><div class="ttname"><a href="struct_vector.xhtml#ae01febbfd0689ef709f3ff6fdd2abc7e">Vector::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#l00091">helpers.h:91</a></div></div>
1120<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00001121</div><!-- fragment -->
1122</div>
1123</div>
1124</div><!-- contents -->
1125</div><!-- doc-content -->
1126<!-- start footer part -->
1127<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1128 <ul>
1129 <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>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001130 <li class="footer">Generated on Fri Jun 23 2017 15:44:34 for Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +00001131 <a href="http://www.doxygen.org/index.html">
1132 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
1133 </ul>
1134</div>
1135</body>
1136</html>