arm_compute v17.10
[platform/upstream/armcl.git] / documentation / channel__combine_8cl.xhtml
1 <!-- 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.6"/>
8 <meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
9 <title>Compute Library: src/core/CL/cl_kernels/channel_combine.cl File Reference</title>
10 <link href="tabs.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="dynsections.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17   $(document).ready(initResizable);
18   $(window).load(resizeHeight);
19 </script>
20 <link href="search/search.css" rel="stylesheet" type="text/css"/>
21 <script type="text/javascript" src="search/search.js"></script>
22 <script type="text/javascript">
23   $(document).ready(function() { searchBox.OnSelectItem(0); });
24 </script>
25 <script type="text/x-mathjax-config">
26   MathJax.Hub.Config({
27     extensions: ["tex2jax.js"],
28     jax: ["input/TeX","output/HTML-CSS"],
29 });
30 </script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
31 <link href="doxygen.css" rel="stylesheet" type="text/css" />
32 </head>
33 <body>
34 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
35 <div id="titlearea">
36 <table cellspacing="0" cellpadding="0">
37  <tbody>
38  <tr style="height: 56px;">
39   <td style="padding-left: 0.5em;">
40    <div id="projectname">Compute Library
41    &#160;<span id="projectnumber">17.10</span>
42    </div>
43   </td>
44  </tr>
45  </tbody>
46 </table>
47 </div>
48 <!-- end header part -->
49 <!-- Generated by Doxygen 1.8.6 -->
50 <script type="text/javascript">
51 var searchBox = new SearchBox("searchBox", "search",false,'Search');
52 </script>
53   <div id="navrow1" class="tabs">
54     <ul class="tablist">
55       <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
56       <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
57       <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
58       <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
59       <li class="current"><a href="files.xhtml"><span>Files</span></a></li>
60       <li>
61         <div id="MSearchBox" class="MSearchBoxInactive">
62         <span class="left">
63           <img id="MSearchSelect" src="search/mag_sel.png"
64                onmouseover="return searchBox.OnSearchSelectShow()"
65                onmouseout="return searchBox.OnSearchSelectHide()"
66                alt=""/>
67           <input type="text" id="MSearchField" value="Search" accesskey="S"
68                onfocus="searchBox.OnSearchFieldFocus(true)" 
69                onblur="searchBox.OnSearchFieldFocus(false)" 
70                onkeyup="searchBox.OnSearchFieldChange(event)"/>
71           </span><span class="right">
72             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
73           </span>
74         </div>
75       </li>
76     </ul>
77   </div>
78   <div id="navrow2" class="tabs2">
79     <ul class="tablist">
80       <li><a href="files.xhtml"><span>File&#160;List</span></a></li>
81       <li><a href="globals.xhtml"><span>Globals</span></a></li>
82     </ul>
83   </div>
84 </div><!-- top -->
85 <div id="side-nav" class="ui-resizable side-nav-resizable">
86   <div id="nav-tree">
87     <div id="nav-tree-contents">
88       <div id="nav-sync" class="sync"></div>
89     </div>
90   </div>
91   <div id="splitbar" style="-moz-user-select:none;" 
92        class="ui-resizable-handle">
93   </div>
94 </div>
95 <script type="text/javascript">
96 $(document).ready(function(){initNavTree('channel__combine_8cl.xhtml','');});
97 </script>
98 <div id="doc-content">
99 <!-- window showing the filter options -->
100 <div id="MSearchSelectWindow"
101      onmouseover="return searchBox.OnSearchSelectShow()"
102      onmouseout="return searchBox.OnSearchSelectHide()"
103      onkeydown="return searchBox.OnSearchSelectKey(event)">
104 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>
105
106 <!-- iframe showing the search results (closed by default) -->
107 <div id="MSearchResultsWindow">
108 <iframe src="javascript:void(0)" frameborder="0" 
109         name="MSearchResults" id="MSearchResults">
110 </iframe>
111 </div>
112
113 <div class="header">
114   <div class="summary">
115 <a href="#func-members">Functions</a>  </div>
116   <div class="headertitle">
117 <div class="title">channel_combine.cl File Reference</div>  </div>
118 </div><!--header-->
119 <div class="contents">
120 <div class="textblock"><code>#include &quot;<a class="el" href="helpers_8h_source.xhtml">helpers.h</a>&quot;</code><br/>
121 </div>
122 <p><a href="channel__combine_8cl_source.xhtml">Go to the source code of this file.</a></p>
123 <table class="memberdecls">
124 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
125 Functions</h2></td></tr>
126 <tr class="memitem:a4059c118efa918cf5248381185411d59"><td class="memItemLeft" align="right" valign="top">__kernel void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel__combine_8cl.xhtml#a4059c118efa918cf5248381185411d59">channel_combine_RGB888</a> (__global uchar *plane0_ptr, uint plane0_stride_x, uint plane0_step_x, uint plane0_stride_y, uint plane0_step_y, uint plane0_offset_first_element_in_bytes, __global uchar *plane1_ptr, uint plane1_stride_x, uint plane1_step_x, uint plane1_stride_y, uint plane1_step_y, uint plane1_offset_first_element_in_bytes, __global uchar *plane2_ptr, uint plane2_stride_x, uint plane2_step_x, uint plane2_stride_y, uint plane2_step_y, uint plane2_offset_first_element_in_bytes, __global uchar *dst_ptr, uint dst_stride_x, uint dst_step_x, uint dst_stride_y, uint dst_step_y, uint dst_offset_first_element_in_bytes)</td></tr>
127 <tr class="memdesc:a4059c118efa918cf5248381185411d59"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function combines three planes to a single RGB image.  <a href="#a4059c118efa918cf5248381185411d59">More...</a><br/></td></tr>
128 <tr class="separator:a4059c118efa918cf5248381185411d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
129 <tr class="memitem:a98e381fa0dce5bd838990d03d8779246"><td class="memItemLeft" align="right" valign="top">__kernel void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel__combine_8cl.xhtml#a98e381fa0dce5bd838990d03d8779246">channel_combine_RGBA8888</a> (__global uchar *plane0_ptr, uint plane0_stride_x, uint plane0_step_x, uint plane0_stride_y, uint plane0_step_y, uint plane0_offset_first_element_in_bytes, __global uchar *plane1_ptr, uint plane1_stride_x, uint plane1_step_x, uint plane1_stride_y, uint plane1_step_y, uint plane1_offset_first_element_in_bytes, __global uchar *plane2_ptr, uint plane2_stride_x, uint plane2_step_x, uint plane2_stride_y, uint plane2_step_y, uint plane2_offset_first_element_in_bytes, __global uchar *plane3_ptr, uint plane3_stride_x, uint plane3_step_x, uint plane3_stride_y, uint plane3_step_y, uint plane3_offset_first_element_in_bytes, __global uchar *dst_ptr, uint dst_stride_x, uint dst_step_x, uint dst_stride_y, uint dst_step_y, uint dst_offset_first_element_in_bytes)</td></tr>
130 <tr class="memdesc:a98e381fa0dce5bd838990d03d8779246"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function combines three planes to a single RGBA image.  <a href="#a98e381fa0dce5bd838990d03d8779246">More...</a><br/></td></tr>
131 <tr class="separator:a98e381fa0dce5bd838990d03d8779246"><td class="memSeparator" colspan="2">&#160;</td></tr>
132 <tr class="memitem:a410770921ba530aaf00498478ff7f475"><td class="memItemLeft" align="right" valign="top">__kernel void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel__combine_8cl.xhtml#a410770921ba530aaf00498478ff7f475">channel_combine_YUYV422</a> (__global uchar *plane0_ptr, uint plane0_stride_x, uint plane0_step_x, uint plane0_stride_y, uint plane0_step_y, uint plane0_offset_first_element_in_bytes, __global uchar *plane1_ptr, uint plane1_stride_x, uint plane1_step_x, uint plane1_stride_y, uint plane1_step_y, uint plane1_offset_first_element_in_bytes, __global uchar *plane2_ptr, uint plane2_stride_x, uint plane2_step_x, uint plane2_stride_y, uint plane2_step_y, uint plane2_offset_first_element_in_bytes, __global uchar *dst_ptr, uint dst_stride_x, uint dst_step_x, uint dst_stride_y, uint dst_step_y, uint dst_offset_first_element_in_bytes)</td></tr>
133 <tr class="memdesc:a410770921ba530aaf00498478ff7f475"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function combines three planes to a single YUYV image.  <a href="#a410770921ba530aaf00498478ff7f475">More...</a><br/></td></tr>
134 <tr class="separator:a410770921ba530aaf00498478ff7f475"><td class="memSeparator" colspan="2">&#160;</td></tr>
135 <tr class="memitem:a72eb5d0161bfc3bca9ceb770ce7ef1ad"><td class="memItemLeft" align="right" valign="top">__kernel void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel__combine_8cl.xhtml#a72eb5d0161bfc3bca9ceb770ce7ef1ad">channel_combine_UYVY422</a> (__global uchar *plane0_ptr, uint plane0_stride_x, uint plane0_step_x, uint plane0_stride_y, uint plane0_step_y, uint plane0_offset_first_element_in_bytes, __global uchar *plane1_ptr, uint plane1_stride_x, uint plane1_step_x, uint plane1_stride_y, uint plane1_step_y, uint plane1_offset_first_element_in_bytes, __global uchar *plane2_ptr, uint plane2_stride_x, uint plane2_step_x, uint plane2_stride_y, uint plane2_step_y, uint plane2_offset_first_element_in_bytes, __global uchar *dst_ptr, uint dst_stride_x, uint dst_step_x, uint dst_stride_y, uint dst_step_y, uint dst_offset_first_element_in_bytes)</td></tr>
136 <tr class="memdesc:a72eb5d0161bfc3bca9ceb770ce7ef1ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function combines three planes to a single UYUV image.  <a href="#a72eb5d0161bfc3bca9ceb770ce7ef1ad">More...</a><br/></td></tr>
137 <tr class="separator:a72eb5d0161bfc3bca9ceb770ce7ef1ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
138 <tr class="memitem:a6eb00cba13d0cb12229e5ac18a1ef3c3"><td class="memItemLeft" align="right" valign="top">__kernel void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel__combine_8cl.xhtml#a6eb00cba13d0cb12229e5ac18a1ef3c3">channel_combine_NV</a> (__global uchar *src_plane0_ptr, uint src_plane0_stride_x, uint src_plane0_step_x, uint src_plane0_stride_y, uint src_plane0_step_y, uint src_plane0_offset_first_element_in_bytes, __global uchar *src_plane1_ptr, uint src_plane1_stride_x, uint src_plane1_step_x, uint src_plane1_stride_y, uint src_plane1_step_y, uint src_plane1_offset_first_element_in_bytes, __global uchar *src_plane2_ptr, uint src_plane2_stride_x, uint src_plane2_step_x, uint src_plane2_stride_y, uint src_plane2_step_y, uint src_plane2_offset_first_element_in_bytes, __global uchar *dst_plane0_ptr, uint dst_plane0_stride_x, uint dst_plane0_step_x, uint dst_plane0_stride_y, uint dst_plane0_step_y, uint dst_plane0_offset_first_element_in_bytes, __global uchar *dst_plane1_ptr, uint dst_plane1_stride_x, uint dst_plane1_step_x, uint dst_plane1_stride_y, uint dst_plane1_step_y, uint dst_plane1_offset_first_element_in_bytes, uint height)</td></tr>
139 <tr class="memdesc:a6eb00cba13d0cb12229e5ac18a1ef3c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function combines three planes to a single NV12/NV21 image.  <a href="#a6eb00cba13d0cb12229e5ac18a1ef3c3">More...</a><br/></td></tr>
140 <tr class="separator:a6eb00cba13d0cb12229e5ac18a1ef3c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
141 <tr class="memitem:a2ecdd5708954da1196aa12856e78a462"><td class="memItemLeft" align="right" valign="top">__kernel void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel__combine_8cl.xhtml#a2ecdd5708954da1196aa12856e78a462">copy_planes_3p</a> (__global uchar *src_plane0_ptr, uint src_plane0_stride_x, uint src_plane0_step_x, uint src_plane0_stride_y, uint src_plane0_step_y, uint src_plane0_offset_first_element_in_bytes, __global uchar *src_plane1_ptr, uint src_plane1_stride_x, uint src_plane1_step_x, uint src_plane1_stride_y, uint src_plane1_step_y, uint src_plane1_offset_first_element_in_bytes, __global uchar *src_plane2_ptr, uint src_plane2_stride_x, uint src_plane2_step_x, uint src_plane2_stride_y, uint src_plane2_step_y, uint src_plane2_offset_first_element_in_bytes, __global uchar *dst_plane0_ptr, uint dst_plane0_stride_x, uint dst_plane0_step_x, uint dst_plane0_stride_y, uint dst_plane0_step_y, uint dst_plane0_offset_first_element_in_bytes, __global uchar *dst_plane1_ptr, uint dst_plane1_stride_x, uint dst_plane1_step_x, uint dst_plane1_stride_y, uint dst_plane1_step_y, uint dst_plane1_offset_first_element_in_bytes, __global uchar *dst_plane2_ptr, uint dst_plane2_stride_x, uint dst_plane2_step_x, uint dst_plane2_stride_y, uint dst_plane2_step_y, uint dst_plane2_offset_first_element_in_bytes, uint height)</td></tr>
142 <tr class="memdesc:a2ecdd5708954da1196aa12856e78a462"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function combines three planes to a single YUV444 or IYUV image.  <a href="#a2ecdd5708954da1196aa12856e78a462">More...</a><br/></td></tr>
143 <tr class="separator:a2ecdd5708954da1196aa12856e78a462"><td class="memSeparator" colspan="2">&#160;</td></tr>
144 </table>
145 <h2 class="groupheader">Function Documentation</h2>
146 <a class="anchor" id="a6eb00cba13d0cb12229e5ac18a1ef3c3"></a>
147 <div class="memitem">
148 <div class="memproto">
149       <table class="memname">
150         <tr>
151           <td class="memname">__kernel void channel_combine_NV </td>
152           <td>(</td>
153           <td class="paramtype">__global uchar *&#160;</td>
154           <td class="paramname"><em>src_plane0_ptr</em>, </td>
155         </tr>
156         <tr>
157           <td class="paramkey"></td>
158           <td></td>
159           <td class="paramtype">uint&#160;</td>
160           <td class="paramname"><em>src_plane0_stride_x</em>, </td>
161         </tr>
162         <tr>
163           <td class="paramkey"></td>
164           <td></td>
165           <td class="paramtype">uint&#160;</td>
166           <td class="paramname"><em>src_plane0_step_x</em>, </td>
167         </tr>
168         <tr>
169           <td class="paramkey"></td>
170           <td></td>
171           <td class="paramtype">uint&#160;</td>
172           <td class="paramname"><em>src_plane0_stride_y</em>, </td>
173         </tr>
174         <tr>
175           <td class="paramkey"></td>
176           <td></td>
177           <td class="paramtype">uint&#160;</td>
178           <td class="paramname"><em>src_plane0_step_y</em>, </td>
179         </tr>
180         <tr>
181           <td class="paramkey"></td>
182           <td></td>
183           <td class="paramtype">uint&#160;</td>
184           <td class="paramname"><em>src_plane0_offset_first_element_in_bytes</em>, </td>
185         </tr>
186         <tr>
187           <td class="paramkey"></td>
188           <td></td>
189           <td class="paramtype">__global uchar *&#160;</td>
190           <td class="paramname"><em>src_plane1_ptr</em>, </td>
191         </tr>
192         <tr>
193           <td class="paramkey"></td>
194           <td></td>
195           <td class="paramtype">uint&#160;</td>
196           <td class="paramname"><em>src_plane1_stride_x</em>, </td>
197         </tr>
198         <tr>
199           <td class="paramkey"></td>
200           <td></td>
201           <td class="paramtype">uint&#160;</td>
202           <td class="paramname"><em>src_plane1_step_x</em>, </td>
203         </tr>
204         <tr>
205           <td class="paramkey"></td>
206           <td></td>
207           <td class="paramtype">uint&#160;</td>
208           <td class="paramname"><em>src_plane1_stride_y</em>, </td>
209         </tr>
210         <tr>
211           <td class="paramkey"></td>
212           <td></td>
213           <td class="paramtype">uint&#160;</td>
214           <td class="paramname"><em>src_plane1_step_y</em>, </td>
215         </tr>
216         <tr>
217           <td class="paramkey"></td>
218           <td></td>
219           <td class="paramtype">uint&#160;</td>
220           <td class="paramname"><em>src_plane1_offset_first_element_in_bytes</em>, </td>
221         </tr>
222         <tr>
223           <td class="paramkey"></td>
224           <td></td>
225           <td class="paramtype">__global uchar *&#160;</td>
226           <td class="paramname"><em>src_plane2_ptr</em>, </td>
227         </tr>
228         <tr>
229           <td class="paramkey"></td>
230           <td></td>
231           <td class="paramtype">uint&#160;</td>
232           <td class="paramname"><em>src_plane2_stride_x</em>, </td>
233         </tr>
234         <tr>
235           <td class="paramkey"></td>
236           <td></td>
237           <td class="paramtype">uint&#160;</td>
238           <td class="paramname"><em>src_plane2_step_x</em>, </td>
239         </tr>
240         <tr>
241           <td class="paramkey"></td>
242           <td></td>
243           <td class="paramtype">uint&#160;</td>
244           <td class="paramname"><em>src_plane2_stride_y</em>, </td>
245         </tr>
246         <tr>
247           <td class="paramkey"></td>
248           <td></td>
249           <td class="paramtype">uint&#160;</td>
250           <td class="paramname"><em>src_plane2_step_y</em>, </td>
251         </tr>
252         <tr>
253           <td class="paramkey"></td>
254           <td></td>
255           <td class="paramtype">uint&#160;</td>
256           <td class="paramname"><em>src_plane2_offset_first_element_in_bytes</em>, </td>
257         </tr>
258         <tr>
259           <td class="paramkey"></td>
260           <td></td>
261           <td class="paramtype">__global uchar *&#160;</td>
262           <td class="paramname"><em>dst_plane0_ptr</em>, </td>
263         </tr>
264         <tr>
265           <td class="paramkey"></td>
266           <td></td>
267           <td class="paramtype">uint&#160;</td>
268           <td class="paramname"><em>dst_plane0_stride_x</em>, </td>
269         </tr>
270         <tr>
271           <td class="paramkey"></td>
272           <td></td>
273           <td class="paramtype">uint&#160;</td>
274           <td class="paramname"><em>dst_plane0_step_x</em>, </td>
275         </tr>
276         <tr>
277           <td class="paramkey"></td>
278           <td></td>
279           <td class="paramtype">uint&#160;</td>
280           <td class="paramname"><em>dst_plane0_stride_y</em>, </td>
281         </tr>
282         <tr>
283           <td class="paramkey"></td>
284           <td></td>
285           <td class="paramtype">uint&#160;</td>
286           <td class="paramname"><em>dst_plane0_step_y</em>, </td>
287         </tr>
288         <tr>
289           <td class="paramkey"></td>
290           <td></td>
291           <td class="paramtype">uint&#160;</td>
292           <td class="paramname"><em>dst_plane0_offset_first_element_in_bytes</em>, </td>
293         </tr>
294         <tr>
295           <td class="paramkey"></td>
296           <td></td>
297           <td class="paramtype">__global uchar *&#160;</td>
298           <td class="paramname"><em>dst_plane1_ptr</em>, </td>
299         </tr>
300         <tr>
301           <td class="paramkey"></td>
302           <td></td>
303           <td class="paramtype">uint&#160;</td>
304           <td class="paramname"><em>dst_plane1_stride_x</em>, </td>
305         </tr>
306         <tr>
307           <td class="paramkey"></td>
308           <td></td>
309           <td class="paramtype">uint&#160;</td>
310           <td class="paramname"><em>dst_plane1_step_x</em>, </td>
311         </tr>
312         <tr>
313           <td class="paramkey"></td>
314           <td></td>
315           <td class="paramtype">uint&#160;</td>
316           <td class="paramname"><em>dst_plane1_stride_y</em>, </td>
317         </tr>
318         <tr>
319           <td class="paramkey"></td>
320           <td></td>
321           <td class="paramtype">uint&#160;</td>
322           <td class="paramname"><em>dst_plane1_step_y</em>, </td>
323         </tr>
324         <tr>
325           <td class="paramkey"></td>
326           <td></td>
327           <td class="paramtype">uint&#160;</td>
328           <td class="paramname"><em>dst_plane1_offset_first_element_in_bytes</em>, </td>
329         </tr>
330         <tr>
331           <td class="paramkey"></td>
332           <td></td>
333           <td class="paramtype">uint&#160;</td>
334           <td class="paramname"><em>height</em>&#160;</td>
335         </tr>
336         <tr>
337           <td></td>
338           <td>)</td>
339           <td></td><td></td>
340         </tr>
341       </table>
342 </div><div class="memdoc">
343
344 <p>This function combines three planes to a single NV12/NV21 image. </p>
345 <dl class="section note"><dt>Note</dt><dd>NV12 or NV21 has to be specified through preprocessor macro. eg. -DNV12 performs NV12 channel combine.</dd></dl>
346 <dl class="params"><dt>Parameters</dt><dd>
347   <table class="params">
348     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_ptr</td><td>Pointer to the first plane. Supported Format: U8 </td></tr>
349     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_stride_x</td><td>Stride of the first plane in X dimension (in bytes) </td></tr>
350     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_step_x</td><td>src_plane0_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
351     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_stride_y</td><td>Stride of the first plane in Y dimension (in bytes) </td></tr>
352     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_step_y</td><td>src_plane0_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
353     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_offset_first_element_in_bytes</td><td>The offset of the first element in the first plane </td></tr>
354     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_ptr</td><td>Pointer to the second plane. Supported Format: U8 </td></tr>
355     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_stride_x</td><td>Stride of the second plane in X dimension (in bytes) </td></tr>
356     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_step_x</td><td>src_plane1_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
357     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_stride_y</td><td>Stride of the second plane in Y dimension (in bytes) </td></tr>
358     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_step_y</td><td>src_plane1_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
359     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_offset_first_element_in_bytes</td><td>The offset of the first element in the second plane </td></tr>
360     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_ptr</td><td>Pointer to the third plane. Supported Format: U8 </td></tr>
361     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_stride_x</td><td>Stride of the third plane in X dimension (in bytes) </td></tr>
362     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_step_x</td><td>src_plane2_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
363     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_stride_y</td><td>Stride of the third plane in Y dimension (in bytes) </td></tr>
364     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_step_y</td><td>src_plane2_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
365     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_offset_first_element_in_bytes</td><td>The offset of the first element in the third plane </td></tr>
366     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_ptr</td><td>Pointer to the first plane of the destination image. Supported Format: U8 </td></tr>
367     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_stride_x</td><td>Stride of the first plane of the destination image in X dimension (in bytes) </td></tr>
368     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_step_x</td><td>dst_plane0_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
369     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_stride_y</td><td>Stride of the first plane of the destination image in Y dimension (in bytes) </td></tr>
370     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_step_y</td><td>dst_plane0_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
371     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_offset_first_element_in_bytes</td><td>The offset of the first element in the first plane of the destination image </td></tr>
372     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_ptr</td><td>Pointer to the second plane of the destination image. Supported Format: UV88 </td></tr>
373     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_stride_x</td><td>Stride of the second plane of the destination image in X dimension (in bytes) </td></tr>
374     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_step_x</td><td>dst_plane1_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
375     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_stride_y</td><td>Stride of the second plane of the destination image in Y dimension (in bytes) </td></tr>
376     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_step_y</td><td>dst_plane1_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
377     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_offset_first_element_in_bytes</td><td>The offset of the first element in the second plane of the destination image </td></tr>
378     <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Sub-sampled height </td></tr>
379   </table>
380   </dd>
381 </dl>
382
383 <p>Definition at line <a class="el" href="channel__combine_8cl_source.xhtml#l00317">317</a> of file <a class="el" href="channel__combine_8cl_source.xhtml">channel_combine.cl</a>.</p>
384
385 <p>References <a class="el" href="helpers_8h_source.xhtml#l00096">CONVERT_TO_IMAGE_STRUCT</a>, <a class="el" href="helpers_8h_source.xhtml#l00295">offset()</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Image::ptr</a>.</p>
386 <div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;{</div>
387 <div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <span class="comment">// Get pixels pointer</span></div>
388 <div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> src_plane0 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(src_plane0);</div>
389 <div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> src_plane1 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(src_plane1);</div>
390 <div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> src_plane2 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(src_plane2);</div>
391 <div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst_plane0 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst_plane0);</div>
392 <div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst_plane1 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst_plane1);</div>
393 <div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div>
394 <div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <span class="comment">// Copy plane data</span></div>
395 <div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    vstore16(vload16(0, src_plane0.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>), 0, dst_plane0.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
396 <div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    vstore16(vload16(0, <a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>(&amp;src_plane0, 0, height)), 0, (__global uchar *)<a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>(&amp;dst_plane0, 0, height));</div>
397 <div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
398 <div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="comment">// Create UV place</span></div>
399 <div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    uchar8 data1 = vload8(0, src_plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
400 <div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    uchar8 data2 = vload8(0, src_plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
401 <div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
402 <div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">#ifdef NV12</span></div>
403 <div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor"></span>    vstore16(shuffle2(data1, data2, (uchar16)(0, 2, 4, 6, 8, 10, 12, 14, 1, 3, 5, 7, 9, 11, 13, 15)), 0, dst_plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
404 <div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">#elif defined(NV21)</span></div>
405 <div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor"></span>    vstore16(shuffle2(data2, data1, (uchar16)(0, 2, 4, 6, 8, 10, 12, 14, 1, 3, 5, 7, 9, 11, 13, 15)), 0, dst_plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
406 <div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* NV12 or NV21 */</span><span class="preprocessor"></span></div>
407 <div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor"></span>}</div>
408 <div class="ttc" id="helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00295">helpers.h:295</a></div></div>
409 <div class="ttc" id="helpers_8h_xhtml_aebe814363556c244be043b13e7969197"><div class="ttname"><a href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a></div><div class="ttdeci">#define CONVERT_TO_IMAGE_STRUCT(name)</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00096">helpers.h:96</a></div></div>
410 <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#l00134">helpers.h:134</a></div></div>
411 <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#l00136">helpers.h:136</a></div></div>
412 </div><!-- fragment -->
413 </div>
414 </div>
415 <a class="anchor" id="a4059c118efa918cf5248381185411d59"></a>
416 <div class="memitem">
417 <div class="memproto">
418       <table class="memname">
419         <tr>
420           <td class="memname">__kernel void channel_combine_RGB888 </td>
421           <td>(</td>
422           <td class="paramtype">__global uchar *&#160;</td>
423           <td class="paramname"><em>plane0_ptr</em>, </td>
424         </tr>
425         <tr>
426           <td class="paramkey"></td>
427           <td></td>
428           <td class="paramtype">uint&#160;</td>
429           <td class="paramname"><em>plane0_stride_x</em>, </td>
430         </tr>
431         <tr>
432           <td class="paramkey"></td>
433           <td></td>
434           <td class="paramtype">uint&#160;</td>
435           <td class="paramname"><em>plane0_step_x</em>, </td>
436         </tr>
437         <tr>
438           <td class="paramkey"></td>
439           <td></td>
440           <td class="paramtype">uint&#160;</td>
441           <td class="paramname"><em>plane0_stride_y</em>, </td>
442         </tr>
443         <tr>
444           <td class="paramkey"></td>
445           <td></td>
446           <td class="paramtype">uint&#160;</td>
447           <td class="paramname"><em>plane0_step_y</em>, </td>
448         </tr>
449         <tr>
450           <td class="paramkey"></td>
451           <td></td>
452           <td class="paramtype">uint&#160;</td>
453           <td class="paramname"><em>plane0_offset_first_element_in_bytes</em>, </td>
454         </tr>
455         <tr>
456           <td class="paramkey"></td>
457           <td></td>
458           <td class="paramtype">__global uchar *&#160;</td>
459           <td class="paramname"><em>plane1_ptr</em>, </td>
460         </tr>
461         <tr>
462           <td class="paramkey"></td>
463           <td></td>
464           <td class="paramtype">uint&#160;</td>
465           <td class="paramname"><em>plane1_stride_x</em>, </td>
466         </tr>
467         <tr>
468           <td class="paramkey"></td>
469           <td></td>
470           <td class="paramtype">uint&#160;</td>
471           <td class="paramname"><em>plane1_step_x</em>, </td>
472         </tr>
473         <tr>
474           <td class="paramkey"></td>
475           <td></td>
476           <td class="paramtype">uint&#160;</td>
477           <td class="paramname"><em>plane1_stride_y</em>, </td>
478         </tr>
479         <tr>
480           <td class="paramkey"></td>
481           <td></td>
482           <td class="paramtype">uint&#160;</td>
483           <td class="paramname"><em>plane1_step_y</em>, </td>
484         </tr>
485         <tr>
486           <td class="paramkey"></td>
487           <td></td>
488           <td class="paramtype">uint&#160;</td>
489           <td class="paramname"><em>plane1_offset_first_element_in_bytes</em>, </td>
490         </tr>
491         <tr>
492           <td class="paramkey"></td>
493           <td></td>
494           <td class="paramtype">__global uchar *&#160;</td>
495           <td class="paramname"><em>plane2_ptr</em>, </td>
496         </tr>
497         <tr>
498           <td class="paramkey"></td>
499           <td></td>
500           <td class="paramtype">uint&#160;</td>
501           <td class="paramname"><em>plane2_stride_x</em>, </td>
502         </tr>
503         <tr>
504           <td class="paramkey"></td>
505           <td></td>
506           <td class="paramtype">uint&#160;</td>
507           <td class="paramname"><em>plane2_step_x</em>, </td>
508         </tr>
509         <tr>
510           <td class="paramkey"></td>
511           <td></td>
512           <td class="paramtype">uint&#160;</td>
513           <td class="paramname"><em>plane2_stride_y</em>, </td>
514         </tr>
515         <tr>
516           <td class="paramkey"></td>
517           <td></td>
518           <td class="paramtype">uint&#160;</td>
519           <td class="paramname"><em>plane2_step_y</em>, </td>
520         </tr>
521         <tr>
522           <td class="paramkey"></td>
523           <td></td>
524           <td class="paramtype">uint&#160;</td>
525           <td class="paramname"><em>plane2_offset_first_element_in_bytes</em>, </td>
526         </tr>
527         <tr>
528           <td class="paramkey"></td>
529           <td></td>
530           <td class="paramtype">__global uchar *&#160;</td>
531           <td class="paramname"><em>dst_ptr</em>, </td>
532         </tr>
533         <tr>
534           <td class="paramkey"></td>
535           <td></td>
536           <td class="paramtype">uint&#160;</td>
537           <td class="paramname"><em>dst_stride_x</em>, </td>
538         </tr>
539         <tr>
540           <td class="paramkey"></td>
541           <td></td>
542           <td class="paramtype">uint&#160;</td>
543           <td class="paramname"><em>dst_step_x</em>, </td>
544         </tr>
545         <tr>
546           <td class="paramkey"></td>
547           <td></td>
548           <td class="paramtype">uint&#160;</td>
549           <td class="paramname"><em>dst_stride_y</em>, </td>
550         </tr>
551         <tr>
552           <td class="paramkey"></td>
553           <td></td>
554           <td class="paramtype">uint&#160;</td>
555           <td class="paramname"><em>dst_step_y</em>, </td>
556         </tr>
557         <tr>
558           <td class="paramkey"></td>
559           <td></td>
560           <td class="paramtype">uint&#160;</td>
561           <td class="paramname"><em>dst_offset_first_element_in_bytes</em>&#160;</td>
562         </tr>
563         <tr>
564           <td></td>
565           <td>)</td>
566           <td></td><td></td>
567         </tr>
568       </table>
569 </div><div class="memdoc">
570
571 <p>This function combines three planes to a single RGB image. </p>
572 <dl class="params"><dt>Parameters</dt><dd>
573   <table class="params">
574     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_ptr</td><td>Pointer to the first plane. Supported Format: U8 </td></tr>
575     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_stride_x</td><td>Stride of the first plane in X dimension (in bytes) </td></tr>
576     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_step_x</td><td>plane0_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
577     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_stride_y</td><td>Stride of the first plane in Y dimension (in bytes) </td></tr>
578     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_step_y</td><td>plane0_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
579     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_offset_first_element_in_bytes</td><td>The offset of the first element in the first plane </td></tr>
580     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_ptr</td><td>Pointer to the second plane. Supported Format: U8 </td></tr>
581     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_stride_x</td><td>Stride of the second plane in X dimension (in bytes) </td></tr>
582     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_step_x</td><td>plane1_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
583     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_stride_y</td><td>Stride of the second plane in Y dimension (in bytes) </td></tr>
584     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_step_y</td><td>plane1_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
585     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_offset_first_element_in_bytes</td><td>The offset of the first element in the second plane </td></tr>
586     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_ptr</td><td>Pointer to the third plane. Supported Format: U8 </td></tr>
587     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_stride_x</td><td>Stride of the third plane in X dimension (in bytes) </td></tr>
588     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_step_x</td><td>plane2_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
589     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_stride_y</td><td>Stride of the third plane in Y dimension (in bytes) </td></tr>
590     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_step_y</td><td>plane2_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
591     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_offset_first_element_in_bytes</td><td>The offset of the first element in the third plane </td></tr>
592     <tr><td class="paramdir">[in]</td><td class="paramname">dst_ptr</td><td>Pointer to the destination image. Supported Format: RGB </td></tr>
593     <tr><td class="paramdir">[in]</td><td class="paramname">dst_stride_x</td><td>Stride of the destination image in X dimension (in bytes) </td></tr>
594     <tr><td class="paramdir">[in]</td><td class="paramname">dst_step_x</td><td>dst_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
595     <tr><td class="paramdir">[in]</td><td class="paramname">dst_stride_y</td><td>Stride of the destination image in Y dimension (in bytes) </td></tr>
596     <tr><td class="paramdir">[in]</td><td class="paramname">dst_step_y</td><td>dst_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
597     <tr><td class="paramdir">[in]</td><td class="paramname">dst_offset_first_element_in_bytes</td><td>The offset of the first element in the destination image </td></tr>
598   </table>
599   </dd>
600 </dl>
601
602 <p>Definition at line <a class="el" href="channel__combine_8cl_source.xhtml#l00053">53</a> of file <a class="el" href="channel__combine_8cl_source.xhtml">channel_combine.cl</a>.</p>
603
604 <p>References <a class="el" href="helpers_8h_source.xhtml#l00096">CONVERT_TO_IMAGE_STRUCT</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Image::ptr</a>.</p>
605 <div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;{</div>
606 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="comment">// Get pixels pointer</span></div>
607 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane0 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane0);</div>
608 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane1 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane1);</div>
609 <div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane2 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane2);</div>
610 <div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst    = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst);</div>
611 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
612 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    uchar16 data0 = vload16(0, plane0.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
613 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    uchar16 data1 = vload16(0, plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
614 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    uchar16 data2 = vload16(0, plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
615 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
616 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    uchar16 out0 = (uchar16)(data0.s0, data1.s0, data2.s0,</div>
617 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                             data0.s1, data1.s1, data2.s1,</div>
618 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                             data0.s2, data1.s2, data2.s2,</div>
619 <div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                             data0.s3, data1.s3, data2.s3,</div>
620 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                             data0.s4, data1.s4, data2.s4,</div>
621 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                             data0.s5);</div>
622 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    vstore16(out0, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
623 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
624 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    uchar16 out1 = (uchar16)(data1.s5, data2.s5, data0.s6,</div>
625 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                             data1.s6, data2.s6, data0.s7,</div>
626 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                             data1.s7, data2.s7, data0.s8,</div>
627 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                             data1.s8, data2.s8, data0.s9,</div>
628 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                             data1.s9, data2.s9, data0.sA,</div>
629 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                             data1.sA);</div>
630 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    vstore16(out1, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + 16);</div>
631 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
632 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    uchar16 out2 = (uchar16)(data2.sA, data0.sB, data1.sB,</div>
633 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                             data2.sB, data0.sC, data1.sC,</div>
634 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                             data2.sC, data0.sD, data1.sD,</div>
635 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                             data2.sD, data0.sE, data1.sE,</div>
636 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                             data2.sE, data0.sF, data1.sF,</div>
637 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                             data2.sF);</div>
638 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    vstore16(out2, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + 32);</div>
639 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;}</div>
640 <div class="ttc" id="helpers_8h_xhtml_aebe814363556c244be043b13e7969197"><div class="ttname"><a href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a></div><div class="ttdeci">#define CONVERT_TO_IMAGE_STRUCT(name)</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00096">helpers.h:96</a></div></div>
641 <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#l00134">helpers.h:134</a></div></div>
642 <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#l00136">helpers.h:136</a></div></div>
643 </div><!-- fragment -->
644 </div>
645 </div>
646 <a class="anchor" id="a98e381fa0dce5bd838990d03d8779246"></a>
647 <div class="memitem">
648 <div class="memproto">
649       <table class="memname">
650         <tr>
651           <td class="memname">__kernel void channel_combine_RGBA8888 </td>
652           <td>(</td>
653           <td class="paramtype">__global uchar *&#160;</td>
654           <td class="paramname"><em>plane0_ptr</em>, </td>
655         </tr>
656         <tr>
657           <td class="paramkey"></td>
658           <td></td>
659           <td class="paramtype">uint&#160;</td>
660           <td class="paramname"><em>plane0_stride_x</em>, </td>
661         </tr>
662         <tr>
663           <td class="paramkey"></td>
664           <td></td>
665           <td class="paramtype">uint&#160;</td>
666           <td class="paramname"><em>plane0_step_x</em>, </td>
667         </tr>
668         <tr>
669           <td class="paramkey"></td>
670           <td></td>
671           <td class="paramtype">uint&#160;</td>
672           <td class="paramname"><em>plane0_stride_y</em>, </td>
673         </tr>
674         <tr>
675           <td class="paramkey"></td>
676           <td></td>
677           <td class="paramtype">uint&#160;</td>
678           <td class="paramname"><em>plane0_step_y</em>, </td>
679         </tr>
680         <tr>
681           <td class="paramkey"></td>
682           <td></td>
683           <td class="paramtype">uint&#160;</td>
684           <td class="paramname"><em>plane0_offset_first_element_in_bytes</em>, </td>
685         </tr>
686         <tr>
687           <td class="paramkey"></td>
688           <td></td>
689           <td class="paramtype">__global uchar *&#160;</td>
690           <td class="paramname"><em>plane1_ptr</em>, </td>
691         </tr>
692         <tr>
693           <td class="paramkey"></td>
694           <td></td>
695           <td class="paramtype">uint&#160;</td>
696           <td class="paramname"><em>plane1_stride_x</em>, </td>
697         </tr>
698         <tr>
699           <td class="paramkey"></td>
700           <td></td>
701           <td class="paramtype">uint&#160;</td>
702           <td class="paramname"><em>plane1_step_x</em>, </td>
703         </tr>
704         <tr>
705           <td class="paramkey"></td>
706           <td></td>
707           <td class="paramtype">uint&#160;</td>
708           <td class="paramname"><em>plane1_stride_y</em>, </td>
709         </tr>
710         <tr>
711           <td class="paramkey"></td>
712           <td></td>
713           <td class="paramtype">uint&#160;</td>
714           <td class="paramname"><em>plane1_step_y</em>, </td>
715         </tr>
716         <tr>
717           <td class="paramkey"></td>
718           <td></td>
719           <td class="paramtype">uint&#160;</td>
720           <td class="paramname"><em>plane1_offset_first_element_in_bytes</em>, </td>
721         </tr>
722         <tr>
723           <td class="paramkey"></td>
724           <td></td>
725           <td class="paramtype">__global uchar *&#160;</td>
726           <td class="paramname"><em>plane2_ptr</em>, </td>
727         </tr>
728         <tr>
729           <td class="paramkey"></td>
730           <td></td>
731           <td class="paramtype">uint&#160;</td>
732           <td class="paramname"><em>plane2_stride_x</em>, </td>
733         </tr>
734         <tr>
735           <td class="paramkey"></td>
736           <td></td>
737           <td class="paramtype">uint&#160;</td>
738           <td class="paramname"><em>plane2_step_x</em>, </td>
739         </tr>
740         <tr>
741           <td class="paramkey"></td>
742           <td></td>
743           <td class="paramtype">uint&#160;</td>
744           <td class="paramname"><em>plane2_stride_y</em>, </td>
745         </tr>
746         <tr>
747           <td class="paramkey"></td>
748           <td></td>
749           <td class="paramtype">uint&#160;</td>
750           <td class="paramname"><em>plane2_step_y</em>, </td>
751         </tr>
752         <tr>
753           <td class="paramkey"></td>
754           <td></td>
755           <td class="paramtype">uint&#160;</td>
756           <td class="paramname"><em>plane2_offset_first_element_in_bytes</em>, </td>
757         </tr>
758         <tr>
759           <td class="paramkey"></td>
760           <td></td>
761           <td class="paramtype">__global uchar *&#160;</td>
762           <td class="paramname"><em>plane3_ptr</em>, </td>
763         </tr>
764         <tr>
765           <td class="paramkey"></td>
766           <td></td>
767           <td class="paramtype">uint&#160;</td>
768           <td class="paramname"><em>plane3_stride_x</em>, </td>
769         </tr>
770         <tr>
771           <td class="paramkey"></td>
772           <td></td>
773           <td class="paramtype">uint&#160;</td>
774           <td class="paramname"><em>plane3_step_x</em>, </td>
775         </tr>
776         <tr>
777           <td class="paramkey"></td>
778           <td></td>
779           <td class="paramtype">uint&#160;</td>
780           <td class="paramname"><em>plane3_stride_y</em>, </td>
781         </tr>
782         <tr>
783           <td class="paramkey"></td>
784           <td></td>
785           <td class="paramtype">uint&#160;</td>
786           <td class="paramname"><em>plane3_step_y</em>, </td>
787         </tr>
788         <tr>
789           <td class="paramkey"></td>
790           <td></td>
791           <td class="paramtype">uint&#160;</td>
792           <td class="paramname"><em>plane3_offset_first_element_in_bytes</em>, </td>
793         </tr>
794         <tr>
795           <td class="paramkey"></td>
796           <td></td>
797           <td class="paramtype">__global uchar *&#160;</td>
798           <td class="paramname"><em>dst_ptr</em>, </td>
799         </tr>
800         <tr>
801           <td class="paramkey"></td>
802           <td></td>
803           <td class="paramtype">uint&#160;</td>
804           <td class="paramname"><em>dst_stride_x</em>, </td>
805         </tr>
806         <tr>
807           <td class="paramkey"></td>
808           <td></td>
809           <td class="paramtype">uint&#160;</td>
810           <td class="paramname"><em>dst_step_x</em>, </td>
811         </tr>
812         <tr>
813           <td class="paramkey"></td>
814           <td></td>
815           <td class="paramtype">uint&#160;</td>
816           <td class="paramname"><em>dst_stride_y</em>, </td>
817         </tr>
818         <tr>
819           <td class="paramkey"></td>
820           <td></td>
821           <td class="paramtype">uint&#160;</td>
822           <td class="paramname"><em>dst_step_y</em>, </td>
823         </tr>
824         <tr>
825           <td class="paramkey"></td>
826           <td></td>
827           <td class="paramtype">uint&#160;</td>
828           <td class="paramname"><em>dst_offset_first_element_in_bytes</em>&#160;</td>
829         </tr>
830         <tr>
831           <td></td>
832           <td>)</td>
833           <td></td><td></td>
834         </tr>
835       </table>
836 </div><div class="memdoc">
837
838 <p>This function combines three planes to a single RGBA image. </p>
839 <dl class="params"><dt>Parameters</dt><dd>
840   <table class="params">
841     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_ptr</td><td>Pointer to the first plane. Supported Format: U8 </td></tr>
842     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_stride_x</td><td>Stride of the first plane in X dimension (in bytes) </td></tr>
843     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_step_x</td><td>plane0_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
844     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_stride_y</td><td>Stride of the first plane in Y dimension (in bytes) </td></tr>
845     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_step_y</td><td>plane0_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
846     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_offset_first_element_in_bytes</td><td>The offset of the first element in the first plane </td></tr>
847     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_ptr</td><td>Pointer to the second plane. Supported Format: U8 </td></tr>
848     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_stride_x</td><td>Stride of the second plane in X dimension (in bytes) </td></tr>
849     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_step_x</td><td>plane1_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
850     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_stride_y</td><td>Stride of the second plane in Y dimension (in bytes) </td></tr>
851     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_step_y</td><td>plane1_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
852     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_offset_first_element_in_bytes</td><td>The offset of the first element in the second plane </td></tr>
853     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_ptr</td><td>Pointer to the third plane. Supported Format: U8 </td></tr>
854     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_stride_x</td><td>Stride of the third plane in X dimension (in bytes) </td></tr>
855     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_step_x</td><td>plane2_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
856     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_stride_y</td><td>Stride of the third plane in Y dimension (in bytes) </td></tr>
857     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_step_y</td><td>plane2_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
858     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_offset_first_element_in_bytes</td><td>The offset of the first element in the third plane </td></tr>
859     <tr><td class="paramdir">[in]</td><td class="paramname">plane3_ptr</td><td>Pointer to the fourth plane. Supported Format: U8 </td></tr>
860     <tr><td class="paramdir">[in]</td><td class="paramname">plane3_stride_x</td><td>Stride of the fourth plane in X dimension (in bytes) </td></tr>
861     <tr><td class="paramdir">[in]</td><td class="paramname">plane3_step_x</td><td>plane3_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
862     <tr><td class="paramdir">[in]</td><td class="paramname">plane3_stride_y</td><td>Stride of the fourth plane in Y dimension (in bytes) </td></tr>
863     <tr><td class="paramdir">[in]</td><td class="paramname">plane3_step_y</td><td>plane3_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
864     <tr><td class="paramdir">[in]</td><td class="paramname">plane3_offset_first_element_in_bytes</td><td>The offset of the first element in the fourth plane </td></tr>
865     <tr><td class="paramdir">[in]</td><td class="paramname">dst_ptr</td><td>Pointer to the destination image. Supported Format: RGBA </td></tr>
866     <tr><td class="paramdir">[in]</td><td class="paramname">dst_stride_x</td><td>Stride of the destination image in X dimension (in bytes) </td></tr>
867     <tr><td class="paramdir">[in]</td><td class="paramname">dst_step_x</td><td>dst_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
868     <tr><td class="paramdir">[in]</td><td class="paramname">dst_stride_y</td><td>Stride of the destination image in Y dimension (in bytes) </td></tr>
869     <tr><td class="paramdir">[in]</td><td class="paramname">dst_step_y</td><td>dst_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
870     <tr><td class="paramdir">[in]</td><td class="paramname">dst_offset_first_element_in_bytes</td><td>The offset of the first element in the destination image </td></tr>
871   </table>
872   </dd>
873 </dl>
874
875 <p>Definition at line <a class="el" href="channel__combine_8cl_source.xhtml#l00127">127</a> of file <a class="el" href="channel__combine_8cl_source.xhtml">channel_combine.cl</a>.</p>
876
877 <p>References <a class="el" href="helpers_8h_source.xhtml#l00096">CONVERT_TO_IMAGE_STRUCT</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Image::ptr</a>.</p>
878 <div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;{</div>
879 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="comment">// Get pixels pointer</span></div>
880 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane0 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane0);</div>
881 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane1 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane1);</div>
882 <div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane2 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane2);</div>
883 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane3 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane3);</div>
884 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst    = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst);</div>
885 <div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
886 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    uchar16 data0 = vload16(0, plane0.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
887 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    uchar16 data1 = vload16(0, plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
888 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    uchar16 data2 = vload16(0, plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
889 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    uchar16 data3 = vload16(0, plane3.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
890 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
891 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    uchar16 out0 = (uchar16)(data0.s0, data1.s0, data2.s0, data3.s0,</div>
892 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                             data0.s1, data1.s1, data2.s1, data3.s1,</div>
893 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                             data0.s2, data1.s2, data2.s2, data3.s2,</div>
894 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                             data0.s3, data1.s3, data2.s3, data3.s3);</div>
895 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    vstore16(out0, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
896 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div>
897 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    uchar16 out1 = (uchar16)(data0.s4, data1.s4, data2.s4, data3.s4,</div>
898 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                             data0.s5, data1.s5, data2.s5, data3.s5,</div>
899 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;                             data0.s6, data1.s6, data2.s6, data3.s6,</div>
900 <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                             data0.s7, data1.s7, data2.s7, data3.s7);</div>
901 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    vstore16(out1, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + 16);</div>
902 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
903 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    uchar16 out2 = (uchar16)(data0.s8, data1.s8, data2.s8, data3.s8,</div>
904 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                             data0.s9, data1.s9, data2.s9, data3.s9,</div>
905 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                             data0.sA, data1.sA, data2.sA, data3.sA,</div>
906 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                             data0.sB, data1.sB, data2.sB, data3.sB);</div>
907 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    vstore16(out2, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + 32);</div>
908 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div>
909 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    uchar16 out3 = (uchar16)(data0.sC, data1.sC, data2.sC, data3.sC,</div>
910 <div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                             data0.sD, data1.sD, data2.sD, data3.sD,</div>
911 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                             data0.sE, data1.sE, data2.sE, data3.sE,</div>
912 <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                             data0.sF, data1.sF, data2.sF, data3.sF);</div>
913 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    vstore16(out3, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + 48);</div>
914 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;}</div>
915 <div class="ttc" id="helpers_8h_xhtml_aebe814363556c244be043b13e7969197"><div class="ttname"><a href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a></div><div class="ttdeci">#define CONVERT_TO_IMAGE_STRUCT(name)</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00096">helpers.h:96</a></div></div>
916 <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#l00134">helpers.h:134</a></div></div>
917 <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#l00136">helpers.h:136</a></div></div>
918 </div><!-- fragment -->
919 </div>
920 </div>
921 <a class="anchor" id="a72eb5d0161bfc3bca9ceb770ce7ef1ad"></a>
922 <div class="memitem">
923 <div class="memproto">
924       <table class="memname">
925         <tr>
926           <td class="memname">__kernel void channel_combine_UYVY422 </td>
927           <td>(</td>
928           <td class="paramtype">__global uchar *&#160;</td>
929           <td class="paramname"><em>plane0_ptr</em>, </td>
930         </tr>
931         <tr>
932           <td class="paramkey"></td>
933           <td></td>
934           <td class="paramtype">uint&#160;</td>
935           <td class="paramname"><em>plane0_stride_x</em>, </td>
936         </tr>
937         <tr>
938           <td class="paramkey"></td>
939           <td></td>
940           <td class="paramtype">uint&#160;</td>
941           <td class="paramname"><em>plane0_step_x</em>, </td>
942         </tr>
943         <tr>
944           <td class="paramkey"></td>
945           <td></td>
946           <td class="paramtype">uint&#160;</td>
947           <td class="paramname"><em>plane0_stride_y</em>, </td>
948         </tr>
949         <tr>
950           <td class="paramkey"></td>
951           <td></td>
952           <td class="paramtype">uint&#160;</td>
953           <td class="paramname"><em>plane0_step_y</em>, </td>
954         </tr>
955         <tr>
956           <td class="paramkey"></td>
957           <td></td>
958           <td class="paramtype">uint&#160;</td>
959           <td class="paramname"><em>plane0_offset_first_element_in_bytes</em>, </td>
960         </tr>
961         <tr>
962           <td class="paramkey"></td>
963           <td></td>
964           <td class="paramtype">__global uchar *&#160;</td>
965           <td class="paramname"><em>plane1_ptr</em>, </td>
966         </tr>
967         <tr>
968           <td class="paramkey"></td>
969           <td></td>
970           <td class="paramtype">uint&#160;</td>
971           <td class="paramname"><em>plane1_stride_x</em>, </td>
972         </tr>
973         <tr>
974           <td class="paramkey"></td>
975           <td></td>
976           <td class="paramtype">uint&#160;</td>
977           <td class="paramname"><em>plane1_step_x</em>, </td>
978         </tr>
979         <tr>
980           <td class="paramkey"></td>
981           <td></td>
982           <td class="paramtype">uint&#160;</td>
983           <td class="paramname"><em>plane1_stride_y</em>, </td>
984         </tr>
985         <tr>
986           <td class="paramkey"></td>
987           <td></td>
988           <td class="paramtype">uint&#160;</td>
989           <td class="paramname"><em>plane1_step_y</em>, </td>
990         </tr>
991         <tr>
992           <td class="paramkey"></td>
993           <td></td>
994           <td class="paramtype">uint&#160;</td>
995           <td class="paramname"><em>plane1_offset_first_element_in_bytes</em>, </td>
996         </tr>
997         <tr>
998           <td class="paramkey"></td>
999           <td></td>
1000           <td class="paramtype">__global uchar *&#160;</td>
1001           <td class="paramname"><em>plane2_ptr</em>, </td>
1002         </tr>
1003         <tr>
1004           <td class="paramkey"></td>
1005           <td></td>
1006           <td class="paramtype">uint&#160;</td>
1007           <td class="paramname"><em>plane2_stride_x</em>, </td>
1008         </tr>
1009         <tr>
1010           <td class="paramkey"></td>
1011           <td></td>
1012           <td class="paramtype">uint&#160;</td>
1013           <td class="paramname"><em>plane2_step_x</em>, </td>
1014         </tr>
1015         <tr>
1016           <td class="paramkey"></td>
1017           <td></td>
1018           <td class="paramtype">uint&#160;</td>
1019           <td class="paramname"><em>plane2_stride_y</em>, </td>
1020         </tr>
1021         <tr>
1022           <td class="paramkey"></td>
1023           <td></td>
1024           <td class="paramtype">uint&#160;</td>
1025           <td class="paramname"><em>plane2_step_y</em>, </td>
1026         </tr>
1027         <tr>
1028           <td class="paramkey"></td>
1029           <td></td>
1030           <td class="paramtype">uint&#160;</td>
1031           <td class="paramname"><em>plane2_offset_first_element_in_bytes</em>, </td>
1032         </tr>
1033         <tr>
1034           <td class="paramkey"></td>
1035           <td></td>
1036           <td class="paramtype">__global uchar *&#160;</td>
1037           <td class="paramname"><em>dst_ptr</em>, </td>
1038         </tr>
1039         <tr>
1040           <td class="paramkey"></td>
1041           <td></td>
1042           <td class="paramtype">uint&#160;</td>
1043           <td class="paramname"><em>dst_stride_x</em>, </td>
1044         </tr>
1045         <tr>
1046           <td class="paramkey"></td>
1047           <td></td>
1048           <td class="paramtype">uint&#160;</td>
1049           <td class="paramname"><em>dst_step_x</em>, </td>
1050         </tr>
1051         <tr>
1052           <td class="paramkey"></td>
1053           <td></td>
1054           <td class="paramtype">uint&#160;</td>
1055           <td class="paramname"><em>dst_stride_y</em>, </td>
1056         </tr>
1057         <tr>
1058           <td class="paramkey"></td>
1059           <td></td>
1060           <td class="paramtype">uint&#160;</td>
1061           <td class="paramname"><em>dst_step_y</em>, </td>
1062         </tr>
1063         <tr>
1064           <td class="paramkey"></td>
1065           <td></td>
1066           <td class="paramtype">uint&#160;</td>
1067           <td class="paramname"><em>dst_offset_first_element_in_bytes</em>&#160;</td>
1068         </tr>
1069         <tr>
1070           <td></td>
1071           <td>)</td>
1072           <td></td><td></td>
1073         </tr>
1074       </table>
1075 </div><div class="memdoc">
1076
1077 <p>This function combines three planes to a single UYUV image. </p>
1078 <dl class="params"><dt>Parameters</dt><dd>
1079   <table class="params">
1080     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_ptr</td><td>Pointer to the first plane. Supported Format: U8 </td></tr>
1081     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_stride_x</td><td>Stride of the first plane in X dimension (in bytes) </td></tr>
1082     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_step_x</td><td>plane0_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1083     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_stride_y</td><td>Stride of the first plane in Y dimension (in bytes) </td></tr>
1084     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_step_y</td><td>plane0_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1085     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_offset_first_element_in_bytes</td><td>The offset of the first element in the first plane </td></tr>
1086     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_ptr</td><td>Pointer to the second plane. Supported Format: U8 </td></tr>
1087     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_stride_x</td><td>Stride of the second plane in X dimension (in bytes) </td></tr>
1088     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_step_x</td><td>plane1_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1089     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_stride_y</td><td>Stride of the second plane in Y dimension (in bytes) </td></tr>
1090     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_step_y</td><td>plane1_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1091     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_offset_first_element_in_bytes</td><td>The offset of the first element in the second plane </td></tr>
1092     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_ptr</td><td>Pointer to the third plane. Supported Format: U8 </td></tr>
1093     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_stride_x</td><td>Stride of the third plane in X dimension (in bytes) </td></tr>
1094     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_step_x</td><td>plane2_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1095     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_stride_y</td><td>Stride of the third plane in Y dimension (in bytes) </td></tr>
1096     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_step_y</td><td>plane2_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1097     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_offset_first_element_in_bytes</td><td>The offset of the first element in the third plane </td></tr>
1098     <tr><td class="paramdir">[in]</td><td class="paramname">dst_ptr</td><td>Pointer to the destination image. Supported Format: UYUV </td></tr>
1099     <tr><td class="paramdir">[in]</td><td class="paramname">dst_stride_x</td><td>Stride of the destination image in X dimension (in bytes) </td></tr>
1100     <tr><td class="paramdir">[in]</td><td class="paramname">dst_step_x</td><td>dst_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1101     <tr><td class="paramdir">[in]</td><td class="paramname">dst_stride_y</td><td>Stride of the destination image in Y dimension (in bytes) </td></tr>
1102     <tr><td class="paramdir">[in]</td><td class="paramname">dst_step_y</td><td>dst_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1103     <tr><td class="paramdir">[in]</td><td class="paramname">dst_offset_first_element_in_bytes</td><td>The offset of the first element in the destination image </td></tr>
1104   </table>
1105   </dd>
1106 </dl>
1107
1108 <p>Definition at line <a class="el" href="channel__combine_8cl_source.xhtml#l00253">253</a> of file <a class="el" href="channel__combine_8cl_source.xhtml">channel_combine.cl</a>.</p>
1109
1110 <p>References <a class="el" href="helpers_8h_source.xhtml#l00096">CONVERT_TO_IMAGE_STRUCT</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Image::ptr</a>.</p>
1111 <div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;{</div>
1112 <div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="comment">// Get pixels pointer</span></div>
1113 <div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane0 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane0);</div>
1114 <div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane1 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane1);</div>
1115 <div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane2 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane2);</div>
1116 <div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst    = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst);</div>
1117 <div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div>
1118 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    uchar16 data0 = vload16(0, plane0.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1119 <div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    uchar8  data1 = vload8(0, plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1120 <div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    uchar8  data2 = vload8(0, plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1121 <div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div>
1122 <div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    uchar16 out0 = (uchar16)(data1.s0, data0.s0, data2.s0, data0.s1,</div>
1123 <div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;                             data1.s1, data0.s2, data2.s1, data0.s3,</div>
1124 <div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;                             data1.s2, data0.s4, data2.s2, data0.s5,</div>
1125 <div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;                             data1.s3, data0.s6, data2.s3, data0.s7);</div>
1126 <div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    vstore16(out0, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1127 <div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    uchar16 out1 = (uchar16)(data1.s4, data0.s8, data2.s4, data0.s9,</div>
1128 <div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                             data1.s5, data0.sA, data2.s5, data0.sB,</div>
1129 <div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                             data1.s6, data0.sC, data2.s6, data0.sD,</div>
1130 <div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                             data1.s7, data0.sE, data2.s7, data0.sF);</div>
1131 <div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    vstore16(out1, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + 16);</div>
1132 <div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;}</div>
1133 <div class="ttc" id="helpers_8h_xhtml_aebe814363556c244be043b13e7969197"><div class="ttname"><a href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a></div><div class="ttdeci">#define CONVERT_TO_IMAGE_STRUCT(name)</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00096">helpers.h:96</a></div></div>
1134 <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#l00134">helpers.h:134</a></div></div>
1135 <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#l00136">helpers.h:136</a></div></div>
1136 </div><!-- fragment -->
1137 </div>
1138 </div>
1139 <a class="anchor" id="a410770921ba530aaf00498478ff7f475"></a>
1140 <div class="memitem">
1141 <div class="memproto">
1142       <table class="memname">
1143         <tr>
1144           <td class="memname">__kernel void channel_combine_YUYV422 </td>
1145           <td>(</td>
1146           <td class="paramtype">__global uchar *&#160;</td>
1147           <td class="paramname"><em>plane0_ptr</em>, </td>
1148         </tr>
1149         <tr>
1150           <td class="paramkey"></td>
1151           <td></td>
1152           <td class="paramtype">uint&#160;</td>
1153           <td class="paramname"><em>plane0_stride_x</em>, </td>
1154         </tr>
1155         <tr>
1156           <td class="paramkey"></td>
1157           <td></td>
1158           <td class="paramtype">uint&#160;</td>
1159           <td class="paramname"><em>plane0_step_x</em>, </td>
1160         </tr>
1161         <tr>
1162           <td class="paramkey"></td>
1163           <td></td>
1164           <td class="paramtype">uint&#160;</td>
1165           <td class="paramname"><em>plane0_stride_y</em>, </td>
1166         </tr>
1167         <tr>
1168           <td class="paramkey"></td>
1169           <td></td>
1170           <td class="paramtype">uint&#160;</td>
1171           <td class="paramname"><em>plane0_step_y</em>, </td>
1172         </tr>
1173         <tr>
1174           <td class="paramkey"></td>
1175           <td></td>
1176           <td class="paramtype">uint&#160;</td>
1177           <td class="paramname"><em>plane0_offset_first_element_in_bytes</em>, </td>
1178         </tr>
1179         <tr>
1180           <td class="paramkey"></td>
1181           <td></td>
1182           <td class="paramtype">__global uchar *&#160;</td>
1183           <td class="paramname"><em>plane1_ptr</em>, </td>
1184         </tr>
1185         <tr>
1186           <td class="paramkey"></td>
1187           <td></td>
1188           <td class="paramtype">uint&#160;</td>
1189           <td class="paramname"><em>plane1_stride_x</em>, </td>
1190         </tr>
1191         <tr>
1192           <td class="paramkey"></td>
1193           <td></td>
1194           <td class="paramtype">uint&#160;</td>
1195           <td class="paramname"><em>plane1_step_x</em>, </td>
1196         </tr>
1197         <tr>
1198           <td class="paramkey"></td>
1199           <td></td>
1200           <td class="paramtype">uint&#160;</td>
1201           <td class="paramname"><em>plane1_stride_y</em>, </td>
1202         </tr>
1203         <tr>
1204           <td class="paramkey"></td>
1205           <td></td>
1206           <td class="paramtype">uint&#160;</td>
1207           <td class="paramname"><em>plane1_step_y</em>, </td>
1208         </tr>
1209         <tr>
1210           <td class="paramkey"></td>
1211           <td></td>
1212           <td class="paramtype">uint&#160;</td>
1213           <td class="paramname"><em>plane1_offset_first_element_in_bytes</em>, </td>
1214         </tr>
1215         <tr>
1216           <td class="paramkey"></td>
1217           <td></td>
1218           <td class="paramtype">__global uchar *&#160;</td>
1219           <td class="paramname"><em>plane2_ptr</em>, </td>
1220         </tr>
1221         <tr>
1222           <td class="paramkey"></td>
1223           <td></td>
1224           <td class="paramtype">uint&#160;</td>
1225           <td class="paramname"><em>plane2_stride_x</em>, </td>
1226         </tr>
1227         <tr>
1228           <td class="paramkey"></td>
1229           <td></td>
1230           <td class="paramtype">uint&#160;</td>
1231           <td class="paramname"><em>plane2_step_x</em>, </td>
1232         </tr>
1233         <tr>
1234           <td class="paramkey"></td>
1235           <td></td>
1236           <td class="paramtype">uint&#160;</td>
1237           <td class="paramname"><em>plane2_stride_y</em>, </td>
1238         </tr>
1239         <tr>
1240           <td class="paramkey"></td>
1241           <td></td>
1242           <td class="paramtype">uint&#160;</td>
1243           <td class="paramname"><em>plane2_step_y</em>, </td>
1244         </tr>
1245         <tr>
1246           <td class="paramkey"></td>
1247           <td></td>
1248           <td class="paramtype">uint&#160;</td>
1249           <td class="paramname"><em>plane2_offset_first_element_in_bytes</em>, </td>
1250         </tr>
1251         <tr>
1252           <td class="paramkey"></td>
1253           <td></td>
1254           <td class="paramtype">__global uchar *&#160;</td>
1255           <td class="paramname"><em>dst_ptr</em>, </td>
1256         </tr>
1257         <tr>
1258           <td class="paramkey"></td>
1259           <td></td>
1260           <td class="paramtype">uint&#160;</td>
1261           <td class="paramname"><em>dst_stride_x</em>, </td>
1262         </tr>
1263         <tr>
1264           <td class="paramkey"></td>
1265           <td></td>
1266           <td class="paramtype">uint&#160;</td>
1267           <td class="paramname"><em>dst_step_x</em>, </td>
1268         </tr>
1269         <tr>
1270           <td class="paramkey"></td>
1271           <td></td>
1272           <td class="paramtype">uint&#160;</td>
1273           <td class="paramname"><em>dst_stride_y</em>, </td>
1274         </tr>
1275         <tr>
1276           <td class="paramkey"></td>
1277           <td></td>
1278           <td class="paramtype">uint&#160;</td>
1279           <td class="paramname"><em>dst_step_y</em>, </td>
1280         </tr>
1281         <tr>
1282           <td class="paramkey"></td>
1283           <td></td>
1284           <td class="paramtype">uint&#160;</td>
1285           <td class="paramname"><em>dst_offset_first_element_in_bytes</em>&#160;</td>
1286         </tr>
1287         <tr>
1288           <td></td>
1289           <td>)</td>
1290           <td></td><td></td>
1291         </tr>
1292       </table>
1293 </div><div class="memdoc">
1294
1295 <p>This function combines three planes to a single YUYV image. </p>
1296 <dl class="params"><dt>Parameters</dt><dd>
1297   <table class="params">
1298     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_ptr</td><td>Pointer to the first plane. Supported Format: U8 </td></tr>
1299     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_stride_x</td><td>Stride of the first plane in X dimension (in bytes) </td></tr>
1300     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_step_x</td><td>plane0_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1301     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_stride_y</td><td>Stride of the first plane in Y dimension (in bytes) </td></tr>
1302     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_step_y</td><td>plane0_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1303     <tr><td class="paramdir">[in]</td><td class="paramname">plane0_offset_first_element_in_bytes</td><td>The offset of the first element in the first plane </td></tr>
1304     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_ptr</td><td>Pointer to the second plane. Supported Format: U8 </td></tr>
1305     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_stride_x</td><td>Stride of the second plane in X dimension (in bytes) </td></tr>
1306     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_step_x</td><td>plane1_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1307     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_stride_y</td><td>Stride of the second plane in Y dimension (in bytes) </td></tr>
1308     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_step_y</td><td>plane1_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1309     <tr><td class="paramdir">[in]</td><td class="paramname">plane1_offset_first_element_in_bytes</td><td>The offset of the first element in the second plane </td></tr>
1310     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_ptr</td><td>Pointer to the third plane. Supported Format: U8 </td></tr>
1311     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_stride_x</td><td>Stride of the third plane in X dimension (in bytes) </td></tr>
1312     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_step_x</td><td>plane2_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1313     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_stride_y</td><td>Stride of the third plane in Y dimension (in bytes) </td></tr>
1314     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_step_y</td><td>plane2_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1315     <tr><td class="paramdir">[in]</td><td class="paramname">plane2_offset_first_element_in_bytes</td><td>The offset of the first element in the third plane </td></tr>
1316     <tr><td class="paramdir">[in]</td><td class="paramname">dst_ptr</td><td>Pointer to the destination image. Supported Format: YUYV </td></tr>
1317     <tr><td class="paramdir">[in]</td><td class="paramname">dst_stride_x</td><td>Stride of the destination image in X dimension (in bytes) </td></tr>
1318     <tr><td class="paramdir">[in]</td><td class="paramname">dst_step_x</td><td>dst_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1319     <tr><td class="paramdir">[in]</td><td class="paramname">dst_stride_y</td><td>Stride of the destination image in Y dimension (in bytes) </td></tr>
1320     <tr><td class="paramdir">[in]</td><td class="paramname">dst_step_y</td><td>dst_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1321     <tr><td class="paramdir">[in]</td><td class="paramname">dst_offset_first_element_in_bytes</td><td>The offset of the first element in the destination image </td></tr>
1322   </table>
1323   </dd>
1324 </dl>
1325
1326 <p>Definition at line <a class="el" href="channel__combine_8cl_source.xhtml#l00198">198</a> of file <a class="el" href="channel__combine_8cl_source.xhtml">channel_combine.cl</a>.</p>
1327
1328 <p>References <a class="el" href="helpers_8h_source.xhtml#l00096">CONVERT_TO_IMAGE_STRUCT</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Image::ptr</a>.</p>
1329 <div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;{</div>
1330 <div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="comment">// Get pixels pointer</span></div>
1331 <div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane0 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane0);</div>
1332 <div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane1 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane1);</div>
1333 <div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> plane2 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(plane2);</div>
1334 <div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst    = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst);</div>
1335 <div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div>
1336 <div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    uchar16 data0 = vload16(0, plane0.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1337 <div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    uchar8  data1 = vload8(0, plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1338 <div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    uchar8  data2 = vload8(0, plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1339 <div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div>
1340 <div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    uchar16 out0 = (uchar16)(data0.s0, data1.s0, data0.s1, data2.s0,</div>
1341 <div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;                             data0.s2, data1.s1, data0.s3, data2.s1,</div>
1342 <div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;                             data0.s4, data1.s2, data0.s5, data2.s2,</div>
1343 <div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;                             data0.s6, data1.s3, data0.s7, data2.s3);</div>
1344 <div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    vstore16(out0, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1345 <div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    uchar16 out1 = (uchar16)(data0.s8, data1.s4, data0.s9, data2.s4,</div>
1346 <div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;                             data0.sA, data1.s5, data0.sB, data2.s5,</div>
1347 <div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                             data0.sC, data1.s6, data0.sD, data2.s6,</div>
1348 <div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;                             data0.sE, data1.s7, data0.sF, data2.s7);</div>
1349 <div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    vstore16(out1, 0, dst.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a> + 16);</div>
1350 <div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;}</div>
1351 <div class="ttc" id="helpers_8h_xhtml_aebe814363556c244be043b13e7969197"><div class="ttname"><a href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a></div><div class="ttdeci">#define CONVERT_TO_IMAGE_STRUCT(name)</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00096">helpers.h:96</a></div></div>
1352 <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#l00134">helpers.h:134</a></div></div>
1353 <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#l00136">helpers.h:136</a></div></div>
1354 </div><!-- fragment -->
1355 </div>
1356 </div>
1357 <a class="anchor" id="a2ecdd5708954da1196aa12856e78a462"></a>
1358 <div class="memitem">
1359 <div class="memproto">
1360       <table class="memname">
1361         <tr>
1362           <td class="memname">__kernel void copy_planes_3p </td>
1363           <td>(</td>
1364           <td class="paramtype">__global uchar *&#160;</td>
1365           <td class="paramname"><em>src_plane0_ptr</em>, </td>
1366         </tr>
1367         <tr>
1368           <td class="paramkey"></td>
1369           <td></td>
1370           <td class="paramtype">uint&#160;</td>
1371           <td class="paramname"><em>src_plane0_stride_x</em>, </td>
1372         </tr>
1373         <tr>
1374           <td class="paramkey"></td>
1375           <td></td>
1376           <td class="paramtype">uint&#160;</td>
1377           <td class="paramname"><em>src_plane0_step_x</em>, </td>
1378         </tr>
1379         <tr>
1380           <td class="paramkey"></td>
1381           <td></td>
1382           <td class="paramtype">uint&#160;</td>
1383           <td class="paramname"><em>src_plane0_stride_y</em>, </td>
1384         </tr>
1385         <tr>
1386           <td class="paramkey"></td>
1387           <td></td>
1388           <td class="paramtype">uint&#160;</td>
1389           <td class="paramname"><em>src_plane0_step_y</em>, </td>
1390         </tr>
1391         <tr>
1392           <td class="paramkey"></td>
1393           <td></td>
1394           <td class="paramtype">uint&#160;</td>
1395           <td class="paramname"><em>src_plane0_offset_first_element_in_bytes</em>, </td>
1396         </tr>
1397         <tr>
1398           <td class="paramkey"></td>
1399           <td></td>
1400           <td class="paramtype">__global uchar *&#160;</td>
1401           <td class="paramname"><em>src_plane1_ptr</em>, </td>
1402         </tr>
1403         <tr>
1404           <td class="paramkey"></td>
1405           <td></td>
1406           <td class="paramtype">uint&#160;</td>
1407           <td class="paramname"><em>src_plane1_stride_x</em>, </td>
1408         </tr>
1409         <tr>
1410           <td class="paramkey"></td>
1411           <td></td>
1412           <td class="paramtype">uint&#160;</td>
1413           <td class="paramname"><em>src_plane1_step_x</em>, </td>
1414         </tr>
1415         <tr>
1416           <td class="paramkey"></td>
1417           <td></td>
1418           <td class="paramtype">uint&#160;</td>
1419           <td class="paramname"><em>src_plane1_stride_y</em>, </td>
1420         </tr>
1421         <tr>
1422           <td class="paramkey"></td>
1423           <td></td>
1424           <td class="paramtype">uint&#160;</td>
1425           <td class="paramname"><em>src_plane1_step_y</em>, </td>
1426         </tr>
1427         <tr>
1428           <td class="paramkey"></td>
1429           <td></td>
1430           <td class="paramtype">uint&#160;</td>
1431           <td class="paramname"><em>src_plane1_offset_first_element_in_bytes</em>, </td>
1432         </tr>
1433         <tr>
1434           <td class="paramkey"></td>
1435           <td></td>
1436           <td class="paramtype">__global uchar *&#160;</td>
1437           <td class="paramname"><em>src_plane2_ptr</em>, </td>
1438         </tr>
1439         <tr>
1440           <td class="paramkey"></td>
1441           <td></td>
1442           <td class="paramtype">uint&#160;</td>
1443           <td class="paramname"><em>src_plane2_stride_x</em>, </td>
1444         </tr>
1445         <tr>
1446           <td class="paramkey"></td>
1447           <td></td>
1448           <td class="paramtype">uint&#160;</td>
1449           <td class="paramname"><em>src_plane2_step_x</em>, </td>
1450         </tr>
1451         <tr>
1452           <td class="paramkey"></td>
1453           <td></td>
1454           <td class="paramtype">uint&#160;</td>
1455           <td class="paramname"><em>src_plane2_stride_y</em>, </td>
1456         </tr>
1457         <tr>
1458           <td class="paramkey"></td>
1459           <td></td>
1460           <td class="paramtype">uint&#160;</td>
1461           <td class="paramname"><em>src_plane2_step_y</em>, </td>
1462         </tr>
1463         <tr>
1464           <td class="paramkey"></td>
1465           <td></td>
1466           <td class="paramtype">uint&#160;</td>
1467           <td class="paramname"><em>src_plane2_offset_first_element_in_bytes</em>, </td>
1468         </tr>
1469         <tr>
1470           <td class="paramkey"></td>
1471           <td></td>
1472           <td class="paramtype">__global uchar *&#160;</td>
1473           <td class="paramname"><em>dst_plane0_ptr</em>, </td>
1474         </tr>
1475         <tr>
1476           <td class="paramkey"></td>
1477           <td></td>
1478           <td class="paramtype">uint&#160;</td>
1479           <td class="paramname"><em>dst_plane0_stride_x</em>, </td>
1480         </tr>
1481         <tr>
1482           <td class="paramkey"></td>
1483           <td></td>
1484           <td class="paramtype">uint&#160;</td>
1485           <td class="paramname"><em>dst_plane0_step_x</em>, </td>
1486         </tr>
1487         <tr>
1488           <td class="paramkey"></td>
1489           <td></td>
1490           <td class="paramtype">uint&#160;</td>
1491           <td class="paramname"><em>dst_plane0_stride_y</em>, </td>
1492         </tr>
1493         <tr>
1494           <td class="paramkey"></td>
1495           <td></td>
1496           <td class="paramtype">uint&#160;</td>
1497           <td class="paramname"><em>dst_plane0_step_y</em>, </td>
1498         </tr>
1499         <tr>
1500           <td class="paramkey"></td>
1501           <td></td>
1502           <td class="paramtype">uint&#160;</td>
1503           <td class="paramname"><em>dst_plane0_offset_first_element_in_bytes</em>, </td>
1504         </tr>
1505         <tr>
1506           <td class="paramkey"></td>
1507           <td></td>
1508           <td class="paramtype">__global uchar *&#160;</td>
1509           <td class="paramname"><em>dst_plane1_ptr</em>, </td>
1510         </tr>
1511         <tr>
1512           <td class="paramkey"></td>
1513           <td></td>
1514           <td class="paramtype">uint&#160;</td>
1515           <td class="paramname"><em>dst_plane1_stride_x</em>, </td>
1516         </tr>
1517         <tr>
1518           <td class="paramkey"></td>
1519           <td></td>
1520           <td class="paramtype">uint&#160;</td>
1521           <td class="paramname"><em>dst_plane1_step_x</em>, </td>
1522         </tr>
1523         <tr>
1524           <td class="paramkey"></td>
1525           <td></td>
1526           <td class="paramtype">uint&#160;</td>
1527           <td class="paramname"><em>dst_plane1_stride_y</em>, </td>
1528         </tr>
1529         <tr>
1530           <td class="paramkey"></td>
1531           <td></td>
1532           <td class="paramtype">uint&#160;</td>
1533           <td class="paramname"><em>dst_plane1_step_y</em>, </td>
1534         </tr>
1535         <tr>
1536           <td class="paramkey"></td>
1537           <td></td>
1538           <td class="paramtype">uint&#160;</td>
1539           <td class="paramname"><em>dst_plane1_offset_first_element_in_bytes</em>, </td>
1540         </tr>
1541         <tr>
1542           <td class="paramkey"></td>
1543           <td></td>
1544           <td class="paramtype">__global uchar *&#160;</td>
1545           <td class="paramname"><em>dst_plane2_ptr</em>, </td>
1546         </tr>
1547         <tr>
1548           <td class="paramkey"></td>
1549           <td></td>
1550           <td class="paramtype">uint&#160;</td>
1551           <td class="paramname"><em>dst_plane2_stride_x</em>, </td>
1552         </tr>
1553         <tr>
1554           <td class="paramkey"></td>
1555           <td></td>
1556           <td class="paramtype">uint&#160;</td>
1557           <td class="paramname"><em>dst_plane2_step_x</em>, </td>
1558         </tr>
1559         <tr>
1560           <td class="paramkey"></td>
1561           <td></td>
1562           <td class="paramtype">uint&#160;</td>
1563           <td class="paramname"><em>dst_plane2_stride_y</em>, </td>
1564         </tr>
1565         <tr>
1566           <td class="paramkey"></td>
1567           <td></td>
1568           <td class="paramtype">uint&#160;</td>
1569           <td class="paramname"><em>dst_plane2_step_y</em>, </td>
1570         </tr>
1571         <tr>
1572           <td class="paramkey"></td>
1573           <td></td>
1574           <td class="paramtype">uint&#160;</td>
1575           <td class="paramname"><em>dst_plane2_offset_first_element_in_bytes</em>, </td>
1576         </tr>
1577         <tr>
1578           <td class="paramkey"></td>
1579           <td></td>
1580           <td class="paramtype">uint&#160;</td>
1581           <td class="paramname"><em>height</em>&#160;</td>
1582         </tr>
1583         <tr>
1584           <td></td>
1585           <td>)</td>
1586           <td></td><td></td>
1587         </tr>
1588       </table>
1589 </div><div class="memdoc">
1590
1591 <p>This function combines three planes to a single YUV444 or IYUV image. </p>
1592 <dl class="section note"><dt>Note</dt><dd>YUV444 or IYUV has to be specified through preprocessor macro. eg. -DIYUV performs IYUV channel combine.</dd></dl>
1593 <dl class="params"><dt>Parameters</dt><dd>
1594   <table class="params">
1595     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_ptr</td><td>Pointer to the first plane. Supported Format: U8 </td></tr>
1596     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_stride_x</td><td>Stride of the first plane in X dimension (in bytes) </td></tr>
1597     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_step_x</td><td>src_plane0_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1598     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_stride_y</td><td>Stride of the first plane in Y dimension (in bytes) </td></tr>
1599     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_step_y</td><td>src_plane0_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1600     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane0_offset_first_element_in_bytes</td><td>The offset of the first element in the first plane </td></tr>
1601     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_ptr</td><td>Pointer to the second plane. Supported Format: U8 </td></tr>
1602     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_stride_x</td><td>Stride of the second plane in X dimension (in bytes) </td></tr>
1603     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_step_x</td><td>src_plane1_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1604     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_stride_y</td><td>Stride of the second plane in Y dimension (in bytes) </td></tr>
1605     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_step_y</td><td>src_plane1_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1606     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane1_offset_first_element_in_bytes</td><td>The offset of the first element in the second plane </td></tr>
1607     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_ptr</td><td>Pointer to the third plane. Supported Format: U8 </td></tr>
1608     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_stride_x</td><td>Stride of the third plane in X dimension (in bytes) </td></tr>
1609     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_step_x</td><td>src_plane2_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1610     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_stride_y</td><td>Stride of the third plane in Y dimension (in bytes) </td></tr>
1611     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_step_y</td><td>src_plane2_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1612     <tr><td class="paramdir">[in]</td><td class="paramname">src_plane2_offset_first_element_in_bytes</td><td>The offset of the first element in the third plane </td></tr>
1613     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_ptr</td><td>Pointer to the first plane of the destination image. Supported Format: U8 </td></tr>
1614     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_stride_x</td><td>Stride of the first plane of the destination image in X dimension (in bytes) </td></tr>
1615     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_step_x</td><td>dst_plane0_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1616     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_stride_y</td><td>Stride of the first plane of the destination image in Y dimension (in bytes) </td></tr>
1617     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_step_y</td><td>dst_plane0_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1618     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane0_offset_first_element_in_bytes</td><td>The offset of the first element in the first plane of the destination image </td></tr>
1619     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_ptr</td><td>Pointer to the second plane of the destination image. Supported Format: U8 </td></tr>
1620     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_stride_x</td><td>Stride of the second plane of the destination image in X dimension (in bytes) </td></tr>
1621     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_step_x</td><td>dst_plane1_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1622     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_stride_y</td><td>Stride of the second plane of the destination image in Y dimension (in bytes) </td></tr>
1623     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_step_y</td><td>dst_plane1_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1624     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane1_offset_first_element_in_bytes</td><td>The offset of the first element in the second plane of the destination image </td></tr>
1625     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane2_ptr</td><td>Pointer to the third plane of the destination image. Supported Format: U8 </td></tr>
1626     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane2_stride_x</td><td>Stride of the third plane of the destination image in X dimension (in bytes) </td></tr>
1627     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane2_step_x</td><td>dst_plane2_stride_x * number of elements along X processed per workitem(in bytes) </td></tr>
1628     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane2_stride_y</td><td>Stride of the third plane of the destination image in Y dimension (in bytes) </td></tr>
1629     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane2_step_y</td><td>dst_plane2_stride_y * number of elements along Y processed per workitem(in bytes) </td></tr>
1630     <tr><td class="paramdir">[in]</td><td class="paramname">dst_plane2_offset_first_element_in_bytes</td><td>The offset of the first element in the third plane of the destination image </td></tr>
1631     <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Sub-sampled height </td></tr>
1632   </table>
1633   </dd>
1634 </dl>
1635
1636 <p>Definition at line <a class="el" href="channel__combine_8cl_source.xhtml#l00389">389</a> of file <a class="el" href="channel__combine_8cl_source.xhtml">channel_combine.cl</a>.</p>
1637
1638 <p>References <a class="el" href="helpers_8h_source.xhtml#l00096">CONVERT_TO_IMAGE_STRUCT</a>, <a class="el" href="helpers_8h_source.xhtml#l00295">offset()</a>, and <a class="el" href="helpers_8h_source.xhtml#l00136">Image::ptr</a>.</p>
1639 <div class="fragment"><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;{</div>
1640 <div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="comment">// Get pixels pointer</span></div>
1641 <div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> src_plane0 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(src_plane0);</div>
1642 <div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> src_plane1 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(src_plane1);</div>
1643 <div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> src_plane2 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(src_plane2);</div>
1644 <div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst_plane0 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst_plane0);</div>
1645 <div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst_plane1 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst_plane1);</div>
1646 <div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <a class="code" href="struct_image.xhtml">Image</a> dst_plane2 = <a class="code" href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a>(dst_plane2);</div>
1647 <div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;</div>
1648 <div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="comment">// Copy plane data</span></div>
1649 <div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    vstore16(vload16(0, src_plane0.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>), 0, dst_plane0.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1650 <div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">#ifdef YUV444</span></div>
1651 <div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor"></span>    vstore16(vload16(0, src_plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>), 0, dst_plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1652 <div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    vstore16(vload16(0, src_plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>), 0, dst_plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1653 <div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">#elif defined(IYUV)</span></div>
1654 <div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor"></span>    vstore16(vload16(0, <a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>(&amp;src_plane0, 0, height)), 0, (__global uchar *)<a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>(&amp;dst_plane0, 0, height));</div>
1655 <div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    vstore8(vload8(0, src_plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>), 0, dst_plane1.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1656 <div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    vstore8(vload8(0, src_plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>), 0, dst_plane2.<a class="code" href="struct_image.xhtml#acf52c23cbd7424606c10a606524e3e32">ptr</a>);</div>
1657 <div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* YUV444 or IYUV */</span><span class="preprocessor"></span></div>
1658 <div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor"></span>}</div>
1659 <div class="ttc" id="helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00295">helpers.h:295</a></div></div>
1660 <div class="ttc" id="helpers_8h_xhtml_aebe814363556c244be043b13e7969197"><div class="ttname"><a href="helpers_8h.xhtml#aebe814363556c244be043b13e7969197">CONVERT_TO_IMAGE_STRUCT</a></div><div class="ttdeci">#define CONVERT_TO_IMAGE_STRUCT(name)</div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00096">helpers.h:96</a></div></div>
1661 <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#l00134">helpers.h:134</a></div></div>
1662 <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#l00136">helpers.h:136</a></div></div>
1663 </div><!-- fragment -->
1664 </div>
1665 </div>
1666 </div><!-- contents -->
1667 </div><!-- doc-content -->
1668 <!-- start footer part -->
1669 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1670   <ul>
1671     <li class="navelem"><a class="el" href="dir_55b5a5006e943fb664ff8cff3cfe7768.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_f6c3ae42d7e27145d0a3c3e38ca1c000.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_1b7ae9123c88e650426d50d95c19d414.xhtml">CL</a></li><li class="navelem"><a class="el" href="dir_b7c3d80b0dadb2139bc73b7161751c12.xhtml">cl_kernels</a></li><li class="navelem"><a class="el" href="channel__combine_8cl.xhtml">channel_combine.cl</a></li>
1672     <li class="footer">Generated on Thu Oct 12 2017 14:26:35 for Compute Library by
1673     <a href="http://www.doxygen.org/index.html">
1674     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
1675   </ul>
1676 </div>
1677 </body>
1678 </html>