Imported Upstream version 3.0.1
[platform/upstream/libjpeg-turbo.git] / java / doc / org / libjpegturbo / turbojpeg / TJCustomFilter.html
1 <!DOCTYPE HTML>
2 <!-- NewPage -->
3 <html lang="en">
4 <head>
5 <!-- Generated by javadoc -->
6 <title>TJCustomFilter</title>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
8 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
9 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.min.css" title="Style">
10 <link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
11 <script type="text/javascript" src="../../../script.js"></script>
12 <script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
13 <script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
14 <!--[if IE]>
15 <script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
16 <![endif]-->
17 <script type="text/javascript" src="../../../jquery/jquery-3.6.0.min.js"></script>
18 <script type="text/javascript" src="../../../jquery/jquery-ui.min.js"></script>
19 </head>
20 <body>
21 <script type="text/javascript"><!--
22     try {
23         if (location.href.indexOf('is-external=true') == -1) {
24             parent.document.title="TJCustomFilter";
25         }
26     }
27     catch(err) {
28     }
29 //-->
30 var data = {"i0":6};
31 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
32 var altColor = "altColor";
33 var rowColor = "rowColor";
34 var tableTab = "tableTab";
35 var activeTableTab = "activeTableTab";
36 var pathtoroot = "../../../";
37 var useModuleDirectories = true;
38 loadScripts(document, 'script');</script>
39 <noscript>
40 <div>JavaScript is disabled on your browser.</div>
41 </noscript>
42 <header role="banner">
43 <nav role="navigation">
44 <div class="fixedNav">
45 <!-- ========= START OF TOP NAVBAR ======= -->
46 <div class="topNav"><a id="navbar.top">
47 <!--   -->
48 </a>
49 <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
50 <a id="navbar.top.firstrow">
51 <!--   -->
52 </a>
53 <ul class="navList" title="Navigation">
54 <li><a href="package-summary.html">Package</a></li>
55 <li class="navBarCell1Rev">Class</li>
56 <li><a href="package-tree.html">Tree</a></li>
57 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
58 <li><a href="../../../index-all.html">Index</a></li>
59 <li><a href="../../../help-doc.html">Help</a></li>
60 </ul>
61 </div>
62 <div class="subNav">
63 <ul class="navList" id="allclasses_navbar_top">
64 <li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
65 </ul>
66 <ul class="navListSearch">
67 <li><label for="search">SEARCH:</label>
68 <input type="text" id="search" value="search" disabled="disabled">
69 <input type="reset" id="reset" value="reset" disabled="disabled">
70 </li>
71 </ul>
72 <div>
73 <script type="text/javascript"><!--
74   allClassesLink = document.getElementById("allclasses_navbar_top");
75   if(window==top) {
76     allClassesLink.style.display = "block";
77   }
78   else {
79     allClassesLink.style.display = "none";
80   }
81   //-->
82 </script>
83 <noscript>
84 <div>JavaScript is disabled on your browser.</div>
85 </noscript>
86 </div>
87 <div>
88 <ul class="subNavList">
89 <li>Summary:&nbsp;</li>
90 <li>Nested&nbsp;|&nbsp;</li>
91 <li>Field&nbsp;|&nbsp;</li>
92 <li>Constr&nbsp;|&nbsp;</li>
93 <li><a href="#method.summary">Method</a></li>
94 </ul>
95 <ul class="subNavList">
96 <li>Detail:&nbsp;</li>
97 <li>Field&nbsp;|&nbsp;</li>
98 <li>Constr&nbsp;|&nbsp;</li>
99 <li><a href="#method.detail">Method</a></li>
100 </ul>
101 </div>
102 <a id="skip.navbar.top">
103 <!--   -->
104 </a></div>
105 <!-- ========= END OF TOP NAVBAR ========= -->
106 </div>
107 <div class="navPadding">&nbsp;</div>
108 <script type="text/javascript"><!--
109 $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
110 //-->
111 </script>
112 </nav>
113 </header>
114 <!-- ======== START OF CLASS DATA ======== -->
115 <main role="main">
116 <div class="header">
117 <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.libjpegturbo.turbojpeg</a></div>
118 <h2 title="Interface TJCustomFilter" class="title">Interface TJCustomFilter</h2>
119 </div>
120 <div class="contentContainer">
121 <div class="description">
122 <ul class="blockList">
123 <li class="blockList">
124 <hr>
125 <pre>public interface <span class="typeNameLabel">TJCustomFilter</span></pre>
126 <div class="block">Custom filter callback interface</div>
127 </li>
128 </ul>
129 </div>
130 <div class="summary">
131 <ul class="blockList">
132 <li class="blockList">
133 <!-- ========== METHOD SUMMARY =========== -->
134 <section>
135 <ul class="blockList">
136 <li class="blockList"><a id="method.summary">
137 <!--   -->
138 </a>
139 <h3>Method Summary</h3>
140 <table class="memberSummary">
141 <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
142 <tr>
143 <th class="colFirst" scope="col">Modifier and Type</th>
144 <th class="colSecond" scope="col">Method</th>
145 <th class="colLast" scope="col">Description</th>
146 </tr>
147 <tr id="i0" class="altColor">
148 <td class="colFirst"><code>void</code></td>
149 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#customFilter(java.nio.ShortBuffer,java.awt.Rectangle,java.awt.Rectangle,int,int,org.libjpegturbo.turbojpeg.TJTransform)">customFilter</a></span>&#8203;(java.nio.ShortBuffer&nbsp;coeffBuffer,
150             java.awt.Rectangle&nbsp;bufferRegion,
151             java.awt.Rectangle&nbsp;planeRegion,
152             int&nbsp;componentID,
153             int&nbsp;transformID,
154             <a href="TJTransform.html" title="class in org.libjpegturbo.turbojpeg">TJTransform</a>&nbsp;transform)</code></th>
155 <td class="colLast">
156 <div class="block">A callback function that can be used to modify the DCT coefficients after
157  they are losslessly transformed but before they are transcoded to a new
158  JPEG image.</div>
159 </td>
160 </tr>
161 </table>
162 </li>
163 </ul>
164 </section>
165 </li>
166 </ul>
167 </div>
168 <div class="details">
169 <ul class="blockList">
170 <li class="blockList">
171 <!-- ============ METHOD DETAIL ========== -->
172 <section>
173 <ul class="blockList">
174 <li class="blockList"><a id="method.detail">
175 <!--   -->
176 </a>
177 <h3>Method Detail</h3>
178 <a id="customFilter(java.nio.ShortBuffer,java.awt.Rectangle,java.awt.Rectangle,int,int,org.libjpegturbo.turbojpeg.TJTransform)">
179 <!--   -->
180 </a>
181 <ul class="blockListLast">
182 <li class="blockList">
183 <h4>customFilter</h4>
184 <pre class="methodSignature">void&nbsp;customFilter&#8203;(java.nio.ShortBuffer&nbsp;coeffBuffer,
185                   java.awt.Rectangle&nbsp;bufferRegion,
186                   java.awt.Rectangle&nbsp;planeRegion,
187                   int&nbsp;componentID,
188                   int&nbsp;transformID,
189                   <a href="TJTransform.html" title="class in org.libjpegturbo.turbojpeg">TJTransform</a>&nbsp;transform)
190            throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
191 <div class="block">A callback function that can be used to modify the DCT coefficients after
192  they are losslessly transformed but before they are transcoded to a new
193  JPEG image.  This allows for custom filters or other transformations to be
194  applied in the frequency domain.</div>
195 <dl>
196 <dt><span class="paramLabel">Parameters:</span></dt>
197 <dd><code>coeffBuffer</code> - a buffer containing transformed DCT coefficients.
198  (NOTE: this buffer is not guaranteed to be valid once the callback
199  returns, so applications wishing to hand off the DCT coefficients to
200  another function or library should make a copy of them within the body of
201  the callback.)</dd>
202 <dd><code>bufferRegion</code> - rectangle containing the width and height of
203  <code>coeffBuffer</code> as well as its offset relative to the component
204  plane.  TurboJPEG implementations may choose to split each component plane
205  into multiple DCT coefficient buffers and call the callback function once
206  for each buffer.</dd>
207 <dd><code>planeRegion</code> - rectangle containing the width and height of the
208  component plane to which <code>coeffBuffer</code> belongs</dd>
209 <dd><code>componentID</code> - ID number of the component plane to which
210  <code>coeffBuffer</code> belongs.  (Y, Cb, and Cr have, respectively, ID's
211  of 0, 1, and 2 in typical JPEG images.)</dd>
212 <dd><code>transformID</code> - ID number of the transformed image to which
213  <code>coeffBuffer</code> belongs.  This is the same as the index of the
214  transform in the <code>transforms</code> array that was passed to
215  <a href="TJTransformer.html#transform(byte%5B%5D%5B%5D,org.libjpegturbo.turbojpeg.TJTransform%5B%5D)"><code>TJTransformer.transform()</code></a>.</dd>
216 <dd><code>transform</code> - a <a href="TJTransform.html" title="class in org.libjpegturbo.turbojpeg"><code>TJTransform</code></a> instance that specifies the
217  parameters and/or cropping region for this transform</dd>
218 <dt><span class="throwsLabel">Throws:</span></dt>
219 <dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
220 </dl>
221 </li>
222 </ul>
223 </li>
224 </ul>
225 </section>
226 </li>
227 </ul>
228 </div>
229 </div>
230 </main>
231 <!-- ========= END OF CLASS DATA ========= -->
232 <footer role="contentinfo">
233 <nav role="navigation">
234 <!-- ======= START OF BOTTOM NAVBAR ====== -->
235 <div class="bottomNav"><a id="navbar.bottom">
236 <!--   -->
237 </a>
238 <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
239 <a id="navbar.bottom.firstrow">
240 <!--   -->
241 </a>
242 <ul class="navList" title="Navigation">
243 <li><a href="package-summary.html">Package</a></li>
244 <li class="navBarCell1Rev">Class</li>
245 <li><a href="package-tree.html">Tree</a></li>
246 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
247 <li><a href="../../../index-all.html">Index</a></li>
248 <li><a href="../../../help-doc.html">Help</a></li>
249 </ul>
250 </div>
251 <div class="subNav">
252 <ul class="navList" id="allclasses_navbar_bottom">
253 <li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
254 </ul>
255 <div>
256 <script type="text/javascript"><!--
257   allClassesLink = document.getElementById("allclasses_navbar_bottom");
258   if(window==top) {
259     allClassesLink.style.display = "block";
260   }
261   else {
262     allClassesLink.style.display = "none";
263   }
264   //-->
265 </script>
266 <noscript>
267 <div>JavaScript is disabled on your browser.</div>
268 </noscript>
269 </div>
270 <div>
271 <ul class="subNavList">
272 <li>Summary:&nbsp;</li>
273 <li>Nested&nbsp;|&nbsp;</li>
274 <li>Field&nbsp;|&nbsp;</li>
275 <li>Constr&nbsp;|&nbsp;</li>
276 <li><a href="#method.summary">Method</a></li>
277 </ul>
278 <ul class="subNavList">
279 <li>Detail:&nbsp;</li>
280 <li>Field&nbsp;|&nbsp;</li>
281 <li>Constr&nbsp;|&nbsp;</li>
282 <li><a href="#method.detail">Method</a></li>
283 </ul>
284 </div>
285 <a id="skip.navbar.bottom">
286 <!--   -->
287 </a></div>
288 <!-- ======== END OF BOTTOM NAVBAR ======= -->
289 </nav>
290 </footer>
291 </body>
292 </html>