Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(464)

Side by Side Diff: java/doc/org/libjpegturbo/turbojpeg/YUVImage.html

Issue 1934113002: Update libjpeg_turbo to 1.4.90 from https://github.com/libjpeg-turbo/ (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.or g/TR/html4/loose.dtd">
2 <!-- NewPage -->
3 <html lang="en">
4 <head>
5 <title>YUVImage</title>
6 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Sty le">
7 </head>
8 <body>
9 <script type="text/javascript"><!--
10 if (location.href.indexOf('is-external=true') == -1) {
11 parent.document.title="YUVImage";
12 }
13 //-->
14 </script>
15 <noscript>
16 <div>JavaScript is disabled on your browser.</div>
17 </noscript>
18 <!-- ========= START OF TOP NAVBAR ======= -->
19 <div class="topNav"><a name="navbar_top">
20 <!-- -->
21 </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar _top_firstrow">
22 <!-- -->
23 </a>
24 <ul class="navList" title="Navigation">
25 <li><a href="../../../org/libjpegturbo/turbojpeg/package-summary.html">Package</ a></li>
26 <li class="navBarCell1Rev">Class</li>
27 <li><a href="package-tree.html">Tree</a></li>
28 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
29 <li><a href="../../../index-all.html">Index</a></li>
30 <li><a href="../../../help-doc.html">Help</a></li>
31 </ul>
32 </div>
33 <div class="subNav">
34 <ul class="navList">
35 <li><a href="../../../org/libjpegturbo/turbojpeg/TJTransformer.html" title="clas s in org.libjpegturbo.turbojpeg"><span class="strong">Prev Class</span></a></li>
36 <li>Next Class</li>
37 </ul>
38 <ul class="navList">
39 <li><a href="../../../index.html?org/libjpegturbo/turbojpeg/YUVImage.html" targe t="_top">Frames</a></li>
40 <li><a href="YUVImage.html" target="_top">No Frames</a></li>
41 </ul>
42 <ul class="navList" id="allclasses_navbar_top">
43 <li><a href="../../../allclasses-noframe.html">All Classes</a></li>
44 </ul>
45 <div>
46 <script type="text/javascript"><!--
47 allClassesLink = document.getElementById("allclasses_navbar_top");
48 if(window==top) {
49 allClassesLink.style.display = "block";
50 }
51 else {
52 allClassesLink.style.display = "none";
53 }
54 //-->
55 </script>
56 </div>
57 <div>
58 <ul class="subNavList">
59 <li>Summary:&nbsp;</li>
60 <li>Nested&nbsp;|&nbsp;</li>
61 <li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
62 <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
63 <li><a href="#method_summary">Method</a></li>
64 </ul>
65 <ul class="subNavList">
66 <li>Detail:&nbsp;</li>
67 <li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
68 <li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
69 <li><a href="#method_detail">Method</a></li>
70 </ul>
71 </div>
72 <a name="skip-navbar_top">
73 <!-- -->
74 </a></div>
75 <!-- ========= END OF TOP NAVBAR ========= -->
76 <!-- ======== START OF CLASS DATA ======== -->
77 <div class="header">
78 <div class="subTitle">org.libjpegturbo.turbojpeg</div>
79 <h2 title="Class YUVImage" class="title">Class YUVImage</h2>
80 </div>
81 <div class="contentContainer">
82 <ul class="inheritance">
83 <li>java.lang.Object</li>
84 <li>
85 <ul class="inheritance">
86 <li>org.libjpegturbo.turbojpeg.YUVImage</li>
87 </ul>
88 </li>
89 </ul>
90 <div class="description">
91 <ul class="blockList">
92 <li class="blockList">
93 <hr>
94 <br>
95 <pre>public class <span class="strong">YUVImage</span>
96 extends java.lang.Object</pre>
97 <div class="block">This class encapsulates a YUV planar image and the metadata
98 associated with it. The TurboJPEG API allows both the JPEG compression and
99 decompression pipelines to be split into stages: YUV encode, compress from
100 YUV, decompress to YUV, and YUV decode. A <code>YUVImage</code> instance
101 serves as the destination image for YUV encode and decompress-to-YUV
102 operations and as the source image for compress-from-YUV and YUV decode
103 operations.
104 <p>
105 Technically, the JPEG format uses the YCbCr colorspace (which technically is
106 not a "colorspace" but rather a "color transform"), but per the convention
107 of the digital video community, the TurboJPEG API uses "YUV" to refer to an
108 image format consisting of Y, Cb, and Cr image planes.
109 <p>
110 Each plane is simply a 2D array of bytes, each byte representing the value
111 of one of the components (Y, Cb, or Cr) at a particular location in the
112 image. The width and height of each plane are determined by the image
113 width, height, and level of chrominance subsampling. The luminance plane
114 width is the image width padded to the nearest multiple of the horizontal
115 subsampling factor (2 in the case of 4:2:0 and 4:2:2, 4 in the case of
116 4:1:1, 1 in the case of 4:4:4 or grayscale.) Similarly, the luminance plane
117 height is the image height padded to the nearest multiple of the vertical
118 subsampling factor (2 in the case of 4:2:0 or 4:4:0, 1 in the case of 4:4:4
119 or grayscale.) The chrominance plane width is equal to the luminance plane
120 width divided by the horizontal subsampling factor, and the chrominance
121 plane height is equal to the luminance plane height divided by the vertical
122 subsampling factor.
123 <p>
124 For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is
125 used, then the luminance plane would be 36 x 35 bytes, and each of the
126 chrominance planes would be 18 x 35 bytes. If you specify a line padding of
127 4 bytes on top of this, then the luminance plane would be 36 x 35 bytes, and
128 each of the chrominance planes would be 20 x 35 bytes.</div>
129 </li>
130 </ul>
131 </div>
132 <div class="summary">
133 <ul class="blockList">
134 <li class="blockList">
135 <!-- =========== FIELD SUMMARY =========== -->
136 <ul class="blockList">
137 <li class="blockList"><a name="field_summary">
138 <!-- -->
139 </a>
140 <h3>Field Summary</h3>
141 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summar y="Field Summary table, listing fields, and an explanation">
142 <caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
143 <tr>
144 <th class="colFirst" scope="col">Modifier and Type</th>
145 <th class="colLast" scope="col">Field and Description</th>
146 </tr>
147 <tr class="altColor">
148 <td class="colFirst"><code>protected long</code></td>
149 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#handle">handle</a></strong></code>&nbsp;</td>
150 </tr>
151 <tr class="rowColor">
152 <td class="colFirst"><code>protected int</code></td>
153 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#yuvHeight">yuvHeight</a></strong></code>&nbsp;</td>
154 </tr>
155 <tr class="altColor">
156 <td class="colFirst"><code>protected int[]</code></td>
157 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#yuvOffsets">yuvOffsets</a></strong></code>&nbsp;</td>
158 </tr>
159 <tr class="rowColor">
160 <td class="colFirst"><code>protected int</code></td>
161 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#yuvPad">yuvPad</a></strong></code>&nbsp;</td>
162 </tr>
163 <tr class="altColor">
164 <td class="colFirst"><code>protected byte[][]</code></td>
165 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#yuvPlanes">yuvPlanes</a></strong></code>&nbsp;</td>
166 </tr>
167 <tr class="rowColor">
168 <td class="colFirst"><code>protected int[]</code></td>
169 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#yuvStrides">yuvStrides</a></strong></code>&nbsp;</td>
170 </tr>
171 <tr class="altColor">
172 <td class="colFirst"><code>protected int</code></td>
173 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#yuvSubsamp">yuvSubsamp</a></strong></code>&nbsp;</td>
174 </tr>
175 <tr class="rowColor">
176 <td class="colFirst"><code>protected int</code></td>
177 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#yuvWidth">yuvWidth</a></strong></code>&nbsp;</td>
178 </tr>
179 </table>
180 </li>
181 </ul>
182 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
183 <ul class="blockList">
184 <li class="blockList"><a name="constructor_summary">
185 <!-- -->
186 </a>
187 <h3>Constructor Summary</h3>
188 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summar y="Constructor Summary table, listing constructors, and an explanation">
189 <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
190 <tr>
191 <th class="colOne" scope="col">Constructor and Description</th>
192 </tr>
193 <tr class="altColor">
194 <td class="colOne"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/YU VImage.html#YUVImage(byte[][],%20int[],%20int,%20int[],%20int,%20int)">YUVImage< /a></strong>(byte[][]&nbsp;planes,
195 int[]&nbsp;offsets,
196 int&nbsp;width,
197 int[]&nbsp;strides,
198 int&nbsp;height,
199 int&nbsp;subsamp)</code>
200 <div class="block">Create a new <code>YUVImage</code> instance from a set of exi sting image
201 planes.</div>
202 </td>
203 </tr>
204 <tr class="rowColor">
205 <td class="colOne"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/YU VImage.html#YUVImage(byte[],%20int,%20int,%20int,%20int)">YUVImage</a></strong>( byte[]&nbsp;yuvImage,
206 int&nbsp;width,
207 int&nbsp;pad,
208 int&nbsp;height,
209 int&nbsp;subsamp)</code>
210 <div class="block">Create a new <code>YUVImage</code> instance from an existing unified image
211 buffer.</div>
212 </td>
213 </tr>
214 <tr class="altColor">
215 <td class="colOne"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/YU VImage.html#YUVImage(int,%20int[],%20int,%20int)">YUVImage</a></strong>(int&nbsp ;width,
216 int[]&nbsp;strides,
217 int&nbsp;height,
218 int&nbsp;subsamp)</code>
219 <div class="block">Create a new <code>YUVImage</code> instance backed by separat e image
220 planes, and allocate memory for the image planes.</div>
221 </td>
222 </tr>
223 <tr class="rowColor">
224 <td class="colOne"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/YU VImage.html#YUVImage(int,%20int,%20int,%20int)">YUVImage</a></strong>(int&nbsp;w idth,
225 int&nbsp;pad,
226 int&nbsp;height,
227 int&nbsp;subsamp)</code>
228 <div class="block">Create a new <code>YUVImage</code> instance backed by a unifi ed image
229 buffer, and allocate memory for the image buffer.</div>
230 </td>
231 </tr>
232 </table>
233 </li>
234 </ul>
235 <!-- ========== METHOD SUMMARY =========== -->
236 <ul class="blockList">
237 <li class="blockList"><a name="method_summary">
238 <!-- -->
239 </a>
240 <h3>Method Summary</h3>
241 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summar y="Method Summary table, listing methods, and an explanation">
242 <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
243 <tr>
244 <th class="colFirst" scope="col">Modifier and Type</th>
245 <th class="colLast" scope="col">Method and Description</th>
246 </tr>
247 <tr class="altColor">
248 <td class="colFirst"><code>byte[]</code></td>
249 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getBuf()">getBuf</a></strong>()</code>
250 <div class="block">Returns the YUV image buffer (if this image is stored in a un ified
251 buffer rather than separate image planes.)</div>
252 </td>
253 </tr>
254 <tr class="rowColor">
255 <td class="colFirst"><code>int</code></td>
256 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getHeight()">getHeight</a></strong>()</code>
257 <div class="block">Returns the height of the YUV image (or subregion.)</div>
258 </td>
259 </tr>
260 <tr class="altColor">
261 <td class="colFirst"><code>int[]</code></td>
262 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getOffsets()">getOffsets</a></strong>()</code>
263 <div class="block">Returns the offsets (in bytes) of each plane within the plane s of a larger
264 YUV image.</div>
265 </td>
266 </tr>
267 <tr class="rowColor">
268 <td class="colFirst"><code>int</code></td>
269 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getPad()">getPad</a></strong>()</code>
270 <div class="block">Returns the line padding used in the YUV image buffer (if thi s image is
271 stored in a unified buffer rather than separate image planes.)</div>
272 </td>
273 </tr>
274 <tr class="altColor">
275 <td class="colFirst"><code>byte[][]</code></td>
276 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getPlanes()">getPlanes</a></strong>()</code>
277 <div class="block">Returns the YUV image planes.</div>
278 </td>
279 </tr>
280 <tr class="rowColor">
281 <td class="colFirst"><code>int</code></td>
282 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getSize()">getSize</a></strong>()</code>
283 <div class="block">Returns the size (in bytes) of the YUV image buffer (if this image is
284 stored in a unified buffer rather than separate image planes.)</div>
285 </td>
286 </tr>
287 <tr class="altColor">
288 <td class="colFirst"><code>int[]</code></td>
289 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getStrides()">getStrides</a></strong>()</code>
290 <div class="block">Returns the number of bytes per line of each plane in the YUV image.</div>
291 </td>
292 </tr>
293 <tr class="rowColor">
294 <td class="colFirst"><code>int</code></td>
295 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getSubsamp()">getSubsamp</a></strong>()</code>
296 <div class="block">Returns the level of chrominance subsampling used in the YUV image.</div>
297 </td>
298 </tr>
299 <tr class="altColor">
300 <td class="colFirst"><code>int</code></td>
301 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#getWidth()">getWidth</a></strong>()</code>
302 <div class="block">Returns the width of the YUV image (or subregion.)</div>
303 </td>
304 </tr>
305 <tr class="rowColor">
306 <td class="colFirst"><code>void</code></td>
307 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#setBuf(byte[][],%20int[],%20int,%20int[],%20int,%20int)">setBuf</a> </strong>(byte[][]&nbsp;planes,
308 int[]&nbsp;offsets,
309 int&nbsp;width,
310 int[]&nbsp;strides,
311 int&nbsp;height,
312 int&nbsp;subsamp)</code>
313 <div class="block">Assign a set of image planes to this <code>YUVImage</code> in stance.</div>
314 </td>
315 </tr>
316 <tr class="altColor">
317 <td class="colFirst"><code>void</code></td>
318 <td class="colLast"><code><strong><a href="../../../org/libjpegturbo/turbojpeg/Y UVImage.html#setBuf(byte[],%20int,%20int,%20int,%20int)">setBuf</a></strong>(byt e[]&nbsp;yuvImage,
319 int&nbsp;width,
320 int&nbsp;pad,
321 int&nbsp;height,
322 int&nbsp;subsamp)</code>
323 <div class="block">Assign a unified image buffer to this <code>YUVImage</code> i nstance.</div>
324 </td>
325 </tr>
326 </table>
327 <ul class="blockList">
328 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
329 <!-- -->
330 </a>
331 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
332 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
333 </ul>
334 </li>
335 </ul>
336 </li>
337 </ul>
338 </div>
339 <div class="details">
340 <ul class="blockList">
341 <li class="blockList">
342 <!-- ============ FIELD DETAIL =========== -->
343 <ul class="blockList">
344 <li class="blockList"><a name="field_detail">
345 <!-- -->
346 </a>
347 <h3>Field Detail</h3>
348 <a name="handle">
349 <!-- -->
350 </a>
351 <ul class="blockList">
352 <li class="blockList">
353 <h4>handle</h4>
354 <pre>protected&nbsp;long handle</pre>
355 </li>
356 </ul>
357 <a name="yuvPlanes">
358 <!-- -->
359 </a>
360 <ul class="blockList">
361 <li class="blockList">
362 <h4>yuvPlanes</h4>
363 <pre>protected&nbsp;byte[][] yuvPlanes</pre>
364 </li>
365 </ul>
366 <a name="yuvOffsets">
367 <!-- -->
368 </a>
369 <ul class="blockList">
370 <li class="blockList">
371 <h4>yuvOffsets</h4>
372 <pre>protected&nbsp;int[] yuvOffsets</pre>
373 </li>
374 </ul>
375 <a name="yuvStrides">
376 <!-- -->
377 </a>
378 <ul class="blockList">
379 <li class="blockList">
380 <h4>yuvStrides</h4>
381 <pre>protected&nbsp;int[] yuvStrides</pre>
382 </li>
383 </ul>
384 <a name="yuvPad">
385 <!-- -->
386 </a>
387 <ul class="blockList">
388 <li class="blockList">
389 <h4>yuvPad</h4>
390 <pre>protected&nbsp;int yuvPad</pre>
391 </li>
392 </ul>
393 <a name="yuvWidth">
394 <!-- -->
395 </a>
396 <ul class="blockList">
397 <li class="blockList">
398 <h4>yuvWidth</h4>
399 <pre>protected&nbsp;int yuvWidth</pre>
400 </li>
401 </ul>
402 <a name="yuvHeight">
403 <!-- -->
404 </a>
405 <ul class="blockList">
406 <li class="blockList">
407 <h4>yuvHeight</h4>
408 <pre>protected&nbsp;int yuvHeight</pre>
409 </li>
410 </ul>
411 <a name="yuvSubsamp">
412 <!-- -->
413 </a>
414 <ul class="blockListLast">
415 <li class="blockList">
416 <h4>yuvSubsamp</h4>
417 <pre>protected&nbsp;int yuvSubsamp</pre>
418 </li>
419 </ul>
420 </li>
421 </ul>
422 <!-- ========= CONSTRUCTOR DETAIL ======== -->
423 <ul class="blockList">
424 <li class="blockList"><a name="constructor_detail">
425 <!-- -->
426 </a>
427 <h3>Constructor Detail</h3>
428 <a name="YUVImage(int, int[], int, int)">
429 <!-- -->
430 </a>
431 <ul class="blockList">
432 <li class="blockList">
433 <h4>YUVImage</h4>
434 <pre>public&nbsp;YUVImage(int&nbsp;width,
435 int[]&nbsp;strides,
436 int&nbsp;height,
437 int&nbsp;subsamp)</pre>
438 <div class="block">Create a new <code>YUVImage</code> instance backed by separat e image
439 planes, and allocate memory for the image planes.</div>
440 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>width</code> - wid th (in pixels) of the YUV image</dd><dd><code>strides</code> - an array of integ ers, each specifying the number of bytes
441 per line in the corresponding plane of the YUV image. Setting the stride
442 for any plane to 0 is the same as setting it to the plane width (see
443 <a href="../../../org/libjpegturbo/turbojpeg/YUVImage.html" title="class in org .libjpegturbo.turbojpeg"><code>above</code></a>.) If <code>strides</code> is nu ll, then the
444 strides for all planes will be set to their respective plane widths. When
445 using this constructor, the stride for each plane must be equal to or
446 greater than the plane width.</dd><dd><code>height</code> - height (in pixels) of the YUV image</dd><dd><code>subsamp</code> - the level of chrominance subsamp ling to be used in the YUV
447 image (one of <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#SAMP_444"><c ode>TJ.SAMP_*</code></a>)</dd></dl>
448 </li>
449 </ul>
450 <a name="YUVImage(int, int, int, int)">
451 <!-- -->
452 </a>
453 <ul class="blockList">
454 <li class="blockList">
455 <h4>YUVImage</h4>
456 <pre>public&nbsp;YUVImage(int&nbsp;width,
457 int&nbsp;pad,
458 int&nbsp;height,
459 int&nbsp;subsamp)</pre>
460 <div class="block">Create a new <code>YUVImage</code> instance backed by a unifi ed image
461 buffer, and allocate memory for the image buffer.</div>
462 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>width</code> - wid th (in pixels) of the YUV image</dd><dd><code>pad</code> - Each line of each pla ne in the YUV image buffer will be padded
463 to this number of bytes (must be a power of 2.)</dd><dd><code>height</code> - h eight (in pixels) of the YUV image</dd><dd><code>subsamp</code> - the level of c hrominance subsampling to be used in the YUV
464 image (one of <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#SAMP_444"><c ode>TJ.SAMP_*</code></a>)</dd></dl>
465 </li>
466 </ul>
467 <a name="YUVImage(byte[][], int[], int, int[], int, int)">
468 <!-- -->
469 </a>
470 <ul class="blockList">
471 <li class="blockList">
472 <h4>YUVImage</h4>
473 <pre>public&nbsp;YUVImage(byte[][]&nbsp;planes,
474 int[]&nbsp;offsets,
475 int&nbsp;width,
476 int[]&nbsp;strides,
477 int&nbsp;height,
478 int&nbsp;subsamp)</pre>
479 <div class="block">Create a new <code>YUVImage</code> instance from a set of exi sting image
480 planes.</div>
481 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>planes</code> - an array of buffers representing the Y, U (Cb), and V (Cr)
482 image planes (or just the Y plane, if the image is grayscale.) These
483 planes can be contiguous or non-contiguous in memory. Plane
484 <code>i</code> should be at least <code>offsets[i] +
485 <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#planeSizeYUV(int,%20int,%2 0int,%20int,%20int)"><code>TJ.planeSizeYUV</code></a>(i, width, strides[i], heig ht, subsamp)</code>
486 bytes in size.</dd><dd><code>offsets</code> - If this <code>YUVImage</code> ins tance represents a
487 subregion of a larger image, then <code>offsets[i]</code> specifies the
488 offset (in bytes) of the subregion within plane <code>i</code> of the
489 larger image. Setting this to null is the same as setting the offsets for
490 all planes to 0.</dd><dd><code>width</code> - width (in pixels) of the new YUV image (or subregion)</dd><dd><code>strides</code> - an array of integers, each s pecifying the number of bytes
491 per line in the corresponding plane of the YUV image. Setting the stride
492 for any plane to 0 is the same as setting it to the plane width (see
493 <a href="../../../org/libjpegturbo/turbojpeg/YUVImage.html" title="class in org .libjpegturbo.turbojpeg"><code>above</code></a>.) If <code>strides</code> is nu ll, then the
494 strides for all planes will be set to their respective plane widths. You
495 can adjust the strides in order to add an arbitrary amount of line padding
496 to each plane or to specify that this <code>YUVImage</code> instance is a
497 subregion of a larger image (in which case, <code>strides[i]</code> should
498 be set to the plane width of plane <code>i</code> in the larger image.)</dd><dd ><code>height</code> - height (in pixels) of the new YUV image (or subregion)</d d><dd><code>subsamp</code> - the level of chrominance subsampling used in the YU V
499 image (one of <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#SAMP_444"><c ode>TJ.SAMP_*</code></a>)</dd></dl>
500 </li>
501 </ul>
502 <a name="YUVImage(byte[], int, int, int, int)">
503 <!-- -->
504 </a>
505 <ul class="blockListLast">
506 <li class="blockList">
507 <h4>YUVImage</h4>
508 <pre>public&nbsp;YUVImage(byte[]&nbsp;yuvImage,
509 int&nbsp;width,
510 int&nbsp;pad,
511 int&nbsp;height,
512 int&nbsp;subsamp)</pre>
513 <div class="block">Create a new <code>YUVImage</code> instance from an existing unified image
514 buffer.</div>
515 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>yuvImage</code> - image buffer that contains or will contain YUV planar
516 image data. Use <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#bufSizeYU V(int,%20int,%20int,%20int)"><code>TJ.bufSizeYUV(int, int, int, int)</code></a> to determine the minimum size for
517 this buffer. The Y, U (Cb), and V (Cr) image planes are stored
518 sequentially in the buffer (see <a href="../../../org/libjpegturbo/turbojpeg/YU VImage.html" title="class in org.libjpegturbo.turbojpeg"><code>above</code></a> for a description
519 of the image format.)</dd><dd><code>width</code> - width (in pixels) of the YUV image</dd><dd><code>pad</code> - the line padding used in the YUV image buffer. For
520 instance, if each line in each plane of the buffer is padded to the
521 nearest multiple of 4 bytes, then <code>pad</code> should be set to 4.</dd><dd> <code>height</code> - height (in pixels) of the YUV image</dd><dd><code>subsamp< /code> - the level of chrominance subsampling used in the YUV
522 image (one of <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#SAMP_444"><c ode>TJ.SAMP_*</code></a>)</dd></dl>
523 </li>
524 </ul>
525 </li>
526 </ul>
527 <!-- ============ METHOD DETAIL ========== -->
528 <ul class="blockList">
529 <li class="blockList"><a name="method_detail">
530 <!-- -->
531 </a>
532 <h3>Method Detail</h3>
533 <a name="setBuf(byte[][], int[], int, int[], int, int)">
534 <!-- -->
535 </a>
536 <ul class="blockList">
537 <li class="blockList">
538 <h4>setBuf</h4>
539 <pre>public&nbsp;void&nbsp;setBuf(byte[][]&nbsp;planes,
540 int[]&nbsp;offsets,
541 int&nbsp;width,
542 int[]&nbsp;strides,
543 int&nbsp;height,
544 int&nbsp;subsamp)</pre>
545 <div class="block">Assign a set of image planes to this <code>YUVImage</code> in stance.</div>
546 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>planes</code> - an array of buffers representing the Y, U (Cb), and V (Cr)
547 image planes (or just the Y plane, if the image is grayscale.) These
548 planes can be contiguous or non-contiguous in memory. Plane
549 <code>i</code> should be at least <code>offsets[i] +
550 <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#planeSizeYUV(int,%20int,%2 0int,%20int,%20int)"><code>TJ.planeSizeYUV</code></a>(i, width, strides[i], heig ht, subsamp)</code>
551 bytes in size.</dd><dd><code>offsets</code> - If this <code>YUVImage</code> ins tance represents a
552 subregion of a larger image, then <code>offsets[i]</code> specifies the
553 offset (in bytes) of the subregion within plane <code>i</code> of the
554 larger image. Setting this to null is the same as setting the offsets for
555 all planes to 0.</dd><dd><code>width</code> - width (in pixels) of the YUV imag e (or subregion)</dd><dd><code>strides</code> - an array of integers, each speci fying the number of bytes
556 per line in the corresponding plane of the YUV image. Setting the stride
557 for any plane to 0 is the same as setting it to the plane width (see
558 <a href="../../../org/libjpegturbo/turbojpeg/YUVImage.html" title="class in org .libjpegturbo.turbojpeg"><code>above</code></a>.) If <code>strides</code> is nu ll, then the
559 strides for all planes will be set to their respective plane widths. You
560 can adjust the strides in order to add an arbitrary amount of line padding
561 to each plane or to specify that this <code>YUVImage</code> image is a
562 subregion of a larger image (in which case, <code>strides[i]</code> should
563 be set to the plane width of plane <code>i</code> in the larger image.)</dd><dd ><code>height</code> - height (in pixels) of the YUV image (or subregion)</dd><d d><code>subsamp</code> - the level of chrominance subsampling used in the YUV
564 image (one of <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#SAMP_444"><c ode>TJ.SAMP_*</code></a>)</dd></dl>
565 </li>
566 </ul>
567 <a name="setBuf(byte[], int, int, int, int)">
568 <!-- -->
569 </a>
570 <ul class="blockList">
571 <li class="blockList">
572 <h4>setBuf</h4>
573 <pre>public&nbsp;void&nbsp;setBuf(byte[]&nbsp;yuvImage,
574 int&nbsp;width,
575 int&nbsp;pad,
576 int&nbsp;height,
577 int&nbsp;subsamp)</pre>
578 <div class="block">Assign a unified image buffer to this <code>YUVImage</code> i nstance.</div>
579 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>yuvImage</code> - image buffer that contains or will contain YUV planar
580 image data. Use <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#bufSizeYU V(int,%20int,%20int,%20int)"><code>TJ.bufSizeYUV(int, int, int, int)</code></a> to determine the minimum size for
581 this buffer. The Y, U (Cb), and V (Cr) image planes are stored
582 sequentially in the buffer (see <a href="../../../org/libjpegturbo/turbojpeg/YU VImage.html" title="class in org.libjpegturbo.turbojpeg"><code>above</code></a> for a description
583 of the image format.)</dd><dd><code>width</code> - width (in pixels) of the YUV image</dd><dd><code>pad</code> - the line padding used in the YUV image buffer. For
584 instance, if each line in each plane of the buffer is padded to the
585 nearest multiple of 4 bytes, then <code>pad</code> should be set to 4.</dd><dd> <code>height</code> - height (in pixels) of the YUV image</dd><dd><code>subsamp< /code> - the level of chrominance subsampling used in the YUV
586 image (one of <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#SAMP_444"><c ode>TJ.SAMP_*</code></a>)</dd></dl>
587 </li>
588 </ul>
589 <a name="getWidth()">
590 <!-- -->
591 </a>
592 <ul class="blockList">
593 <li class="blockList">
594 <h4>getWidth</h4>
595 <pre>public&nbsp;int&nbsp;getWidth()</pre>
596 <div class="block">Returns the width of the YUV image (or subregion.)</div>
597 <dl><dt><span class="strong">Returns:</span></dt><dd>the width of the YUV image (or subregion)</dd></dl>
598 </li>
599 </ul>
600 <a name="getHeight()">
601 <!-- -->
602 </a>
603 <ul class="blockList">
604 <li class="blockList">
605 <h4>getHeight</h4>
606 <pre>public&nbsp;int&nbsp;getHeight()</pre>
607 <div class="block">Returns the height of the YUV image (or subregion.)</div>
608 <dl><dt><span class="strong">Returns:</span></dt><dd>the height of the YUV image (or subregion)</dd></dl>
609 </li>
610 </ul>
611 <a name="getPad()">
612 <!-- -->
613 </a>
614 <ul class="blockList">
615 <li class="blockList">
616 <h4>getPad</h4>
617 <pre>public&nbsp;int&nbsp;getPad()</pre>
618 <div class="block">Returns the line padding used in the YUV image buffer (if thi s image is
619 stored in a unified buffer rather than separate image planes.)</div>
620 <dl><dt><span class="strong">Returns:</span></dt><dd>the line padding used in th e YUV image buffer</dd></dl>
621 </li>
622 </ul>
623 <a name="getStrides()">
624 <!-- -->
625 </a>
626 <ul class="blockList">
627 <li class="blockList">
628 <h4>getStrides</h4>
629 <pre>public&nbsp;int[]&nbsp;getStrides()</pre>
630 <div class="block">Returns the number of bytes per line of each plane in the YUV image.</div>
631 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of bytes per lin e of each plane in the YUV image</dd></dl>
632 </li>
633 </ul>
634 <a name="getOffsets()">
635 <!-- -->
636 </a>
637 <ul class="blockList">
638 <li class="blockList">
639 <h4>getOffsets</h4>
640 <pre>public&nbsp;int[]&nbsp;getOffsets()</pre>
641 <div class="block">Returns the offsets (in bytes) of each plane within the plane s of a larger
642 YUV image.</div>
643 <dl><dt><span class="strong">Returns:</span></dt><dd>the offsets (in bytes) of e ach plane within the planes of a larger
644 YUV image</dd></dl>
645 </li>
646 </ul>
647 <a name="getSubsamp()">
648 <!-- -->
649 </a>
650 <ul class="blockList">
651 <li class="blockList">
652 <h4>getSubsamp</h4>
653 <pre>public&nbsp;int&nbsp;getSubsamp()</pre>
654 <div class="block">Returns the level of chrominance subsampling used in the YUV image. See
655 <a href="../../../org/libjpegturbo/turbojpeg/TJ.html#SAMP_444"><code>TJ.SAMP_*< /code></a>.</div>
656 <dl><dt><span class="strong">Returns:</span></dt><dd>the level of chrominance su bsampling used in the YUV image</dd></dl>
657 </li>
658 </ul>
659 <a name="getPlanes()">
660 <!-- -->
661 </a>
662 <ul class="blockList">
663 <li class="blockList">
664 <h4>getPlanes</h4>
665 <pre>public&nbsp;byte[][]&nbsp;getPlanes()</pre>
666 <div class="block">Returns the YUV image planes. If the image is stored in a un ified buffer,
667 then all image planes will point to that buffer.</div>
668 <dl><dt><span class="strong">Returns:</span></dt><dd>the YUV image planes</dd></ dl>
669 </li>
670 </ul>
671 <a name="getBuf()">
672 <!-- -->
673 </a>
674 <ul class="blockList">
675 <li class="blockList">
676 <h4>getBuf</h4>
677 <pre>public&nbsp;byte[]&nbsp;getBuf()</pre>
678 <div class="block">Returns the YUV image buffer (if this image is stored in a un ified
679 buffer rather than separate image planes.)</div>
680 <dl><dt><span class="strong">Returns:</span></dt><dd>the YUV image buffer</dd></ dl>
681 </li>
682 </ul>
683 <a name="getSize()">
684 <!-- -->
685 </a>
686 <ul class="blockListLast">
687 <li class="blockList">
688 <h4>getSize</h4>
689 <pre>public&nbsp;int&nbsp;getSize()</pre>
690 <div class="block">Returns the size (in bytes) of the YUV image buffer (if this image is
691 stored in a unified buffer rather than separate image planes.)</div>
692 <dl><dt><span class="strong">Returns:</span></dt><dd>the size (in bytes) of the YUV image buffer</dd></dl>
693 </li>
694 </ul>
695 </li>
696 </ul>
697 </li>
698 </ul>
699 </div>
700 </div>
701 <!-- ========= END OF CLASS DATA ========= -->
702 <!-- ======= START OF BOTTOM NAVBAR ====== -->
703 <div class="bottomNav"><a name="navbar_bottom">
704 <!-- -->
705 </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="nav bar_bottom_firstrow">
706 <!-- -->
707 </a>
708 <ul class="navList" title="Navigation">
709 <li><a href="../../../org/libjpegturbo/turbojpeg/package-summary.html">Package</ a></li>
710 <li class="navBarCell1Rev">Class</li>
711 <li><a href="package-tree.html">Tree</a></li>
712 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
713 <li><a href="../../../index-all.html">Index</a></li>
714 <li><a href="../../../help-doc.html">Help</a></li>
715 </ul>
716 </div>
717 <div class="subNav">
718 <ul class="navList">
719 <li><a href="../../../org/libjpegturbo/turbojpeg/TJTransformer.html" title="clas s in org.libjpegturbo.turbojpeg"><span class="strong">Prev Class</span></a></li>
720 <li>Next Class</li>
721 </ul>
722 <ul class="navList">
723 <li><a href="../../../index.html?org/libjpegturbo/turbojpeg/YUVImage.html" targe t="_top">Frames</a></li>
724 <li><a href="YUVImage.html" target="_top">No Frames</a></li>
725 </ul>
726 <ul class="navList" id="allclasses_navbar_bottom">
727 <li><a href="../../../allclasses-noframe.html">All Classes</a></li>
728 </ul>
729 <div>
730 <script type="text/javascript"><!--
731 allClassesLink = document.getElementById("allclasses_navbar_bottom");
732 if(window==top) {
733 allClassesLink.style.display = "block";
734 }
735 else {
736 allClassesLink.style.display = "none";
737 }
738 //-->
739 </script>
740 </div>
741 <div>
742 <ul class="subNavList">
743 <li>Summary:&nbsp;</li>
744 <li>Nested&nbsp;|&nbsp;</li>
745 <li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
746 <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
747 <li><a href="#method_summary">Method</a></li>
748 </ul>
749 <ul class="subNavList">
750 <li>Detail:&nbsp;</li>
751 <li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
752 <li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
753 <li><a href="#method_detail">Method</a></li>
754 </ul>
755 </div>
756 <a name="skip-navbar_bottom">
757 <!-- -->
758 </a></div>
759 <!-- ======== END OF BOTTOM NAVBAR ======= -->
760 </body>
761 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698