• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>GstJpegParser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
8<link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
9<link rel="prev" href="gst-plugins-bad-libs-h264parser.html" title="GstH264Parser">
10<link rel="next" href="gst-plugins-bad-libs-mpegvideoparser.html" title="GstMpegvideoParser">
11<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
12<link rel="stylesheet" href="style.css" type="text/css">
13</head>
14<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16<td width="100%" align="left" class="shortcuts">
17<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span18                  <a href="#gst-plugins-bad-libs-jpegparser.description" class="shortcut">Description</a></span>
19</td>
20<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21<td><a accesskey="u" href="codecparsers.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22<td><a accesskey="p" href="gst-plugins-bad-libs-h264parser.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23<td><a accesskey="n" href="gst-plugins-bad-libs-mpegvideoparser.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
24</tr></table>
25<div class="refentry">
26<a name="gst-plugins-bad-libs-jpegparser"></a><div class="titlepage"></div>
27<div class="refnamediv"><table width="100%"><tr>
28<td valign="top">
29<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-jpegparser.top_of_page"></a>GstJpegParser</span></h2>
30<p>GstJpegParser — Convenience library for JPEG bitstream parsing.</p>
31</td>
32<td class="gallery_image" valign="top" align="right"></td>
33</tr></table></div>
34<div class="refsect1">
35<a name="gst-plugins-bad-libs-jpegparser.functions"></a><h2>Functions</h2>
36<div class="informaltable"><table class="informaltable" width="100%" border="0">
37<colgroup>
38<col width="150px" class="functions_return">
39<col class="functions_name">
40</colgroup>
41<tbody>
42<tr>
43<td class="function_type">
44<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
45</td>
46<td class="function_name">
47<a class="link" href="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-parse" title="gst_jpeg_parse ()">gst_jpeg_parse</a> <span class="c_punctuation">()</span>
48</td>
49</tr>
50<tr>
51<td class="function_type">
52<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
53</td>
54<td class="function_name">
55<a class="link" href="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-frame-header" title="gst_jpeg_segment_parse_frame_header ()">gst_jpeg_segment_parse_frame_header</a> <span class="c_punctuation">()</span>
56</td>
57</tr>
58<tr>
59<td class="function_type">
60<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
61</td>
62<td class="function_name">
63<a class="link" href="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-scan-header" title="gst_jpeg_segment_parse_scan_header ()">gst_jpeg_segment_parse_scan_header</a> <span class="c_punctuation">()</span>
64</td>
65</tr>
66<tr>
67<td class="function_type">
68<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
69</td>
70<td class="function_name">
71<a class="link" href="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-huffman-table" title="gst_jpeg_segment_parse_huffman_table ()">gst_jpeg_segment_parse_huffman_table</a> <span class="c_punctuation">()</span>
72</td>
73</tr>
74<tr>
75<td class="function_type">
76<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
77</td>
78<td class="function_name">
79<a class="link" href="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-quantization-table" title="gst_jpeg_segment_parse_quantization_table ()">gst_jpeg_segment_parse_quantization_table</a> <span class="c_punctuation">()</span>
80</td>
81</tr>
82<tr>
83<td class="function_type">
84<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
85</td>
86<td class="function_name">
87<a class="link" href="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-restart-interval" title="gst_jpeg_segment_parse_restart_interval ()">gst_jpeg_segment_parse_restart_interval</a> <span class="c_punctuation">()</span>
88</td>
89</tr>
90<tr>
91<td class="function_type">
92<span class="returnvalue">void</span>
93</td>
94<td class="function_name">
95<a class="link" href="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-get-default-quantization-tables" title="gst_jpeg_get_default_quantization_tables ()">gst_jpeg_get_default_quantization_tables</a> <span class="c_punctuation">()</span>
96</td>
97</tr>
98<tr>
99<td class="function_type">
100<span class="returnvalue">void</span>
101</td>
102<td class="function_name">
103<a class="link" href="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-get-default-huffman-tables" title="gst_jpeg_get_default_huffman_tables ()">gst_jpeg_get_default_huffman_tables</a> <span class="c_punctuation">()</span>
104</td>
105</tr>
106</tbody>
107</table></div>
108</div>
109<div class="refsect1">
110<a name="gst-plugins-bad-libs-jpegparser.other"></a><h2>Types and Values</h2>
111<div class="informaltable"><table class="informaltable" width="100%" border="0">
112<colgroup>
113<col width="150px" class="name">
114<col class="description">
115</colgroup>
116<tbody>
117<tr>
118<td class="define_keyword">#define</td>
119<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-FRAME-COMPONENTS:CAPS" title="GST_JPEG_MAX_FRAME_COMPONENTS">GST_JPEG_MAX_FRAME_COMPONENTS</a></td>
120</tr>
121<tr>
122<td class="define_keyword">#define</td>
123<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-SCAN-COMPONENTS:CAPS" title="GST_JPEG_MAX_SCAN_COMPONENTS">GST_JPEG_MAX_SCAN_COMPONENTS</a></td>
124</tr>
125<tr>
126<td class="define_keyword">#define</td>
127<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-QUANT-ELEMENTS:CAPS" title="GST_JPEG_MAX_QUANT_ELEMENTS">GST_JPEG_MAX_QUANT_ELEMENTS</a></td>
128</tr>
129<tr>
130<td class="define_keyword">#define</td>
131<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-SOF-MIN:CAPS" title="GST_JPEG_MARKER_SOF_MIN">GST_JPEG_MARKER_SOF_MIN</a></td>
132</tr>
133<tr>
134<td class="define_keyword">#define</td>
135<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-SOF-MAX:CAPS" title="GST_JPEG_MARKER_SOF_MAX">GST_JPEG_MARKER_SOF_MAX</a></td>
136</tr>
137<tr>
138<td class="define_keyword">#define</td>
139<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-APP-MIN:CAPS" title="GST_JPEG_MARKER_APP_MIN">GST_JPEG_MARKER_APP_MIN</a></td>
140</tr>
141<tr>
142<td class="define_keyword">#define</td>
143<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-APP-MAX:CAPS" title="GST_JPEG_MARKER_APP_MAX">GST_JPEG_MARKER_APP_MAX</a></td>
144</tr>
145<tr>
146<td class="define_keyword">#define</td>
147<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-RST-MIN:CAPS" title="GST_JPEG_MARKER_RST_MIN">GST_JPEG_MARKER_RST_MIN</a></td>
148</tr>
149<tr>
150<td class="define_keyword">#define</td>
151<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-RST-MAX:CAPS" title="GST_JPEG_MARKER_RST_MAX">GST_JPEG_MARKER_RST_MAX</a></td>
152</tr>
153<tr>
154<td class="datatype_keyword">enum</td>
155<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegEntropyCodingMode" title="enum GstJpegEntropyCodingMode">GstJpegEntropyCodingMode</a></td>
156</tr>
157<tr>
158<td class="datatype_keyword">enum</td>
159<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegProfile" title="enum GstJpegProfile">GstJpegProfile</a></td>
160</tr>
161<tr>
162<td class="datatype_keyword">struct</td>
163<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment">GstJpegSegment</a></td>
164</tr>
165<tr>
166<td class="datatype_keyword">struct</td>
167<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr" title="struct GstJpegFrameHdr">GstJpegFrameHdr</a></td>
168</tr>
169<tr>
170<td class="datatype_keyword">struct</td>
171<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent" title="struct GstJpegFrameComponent">GstJpegFrameComponent</a></td>
172</tr>
173<tr>
174<td class="datatype_keyword">struct</td>
175<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr" title="struct GstJpegScanHdr">GstJpegScanHdr</a></td>
176</tr>
177<tr>
178<td class="datatype_keyword">struct</td>
179<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegScanComponent" title="struct GstJpegScanComponent">GstJpegScanComponent</a></td>
180</tr>
181<tr>
182<td class="datatype_keyword">struct</td>
183<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables" title="struct GstJpegHuffmanTables">GstJpegHuffmanTables</a></td>
184</tr>
185<tr>
186<td class="datatype_keyword">struct</td>
187<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable" title="struct GstJpegHuffmanTable">GstJpegHuffmanTable</a></td>
188</tr>
189<tr>
190<td class="datatype_keyword">struct</td>
191<td class="function_name"><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable" title="struct GstJpegQuantTable">GstJpegQuantTable</a></td>
192</tr>
193</tbody>
194</table></div>
195</div>
196<div class="refsect1">
197<a name="gst-plugins-bad-libs-jpegparser.includes"></a><h2>Includes</h2>
198<pre class="synopsis">#include &lt;gst/codecparsers/gstjpegparser.h&gt;
199</pre>
200</div>
201<div class="refsect1">
202<a name="gst-plugins-bad-libs-jpegparser.description"></a><h2>Description</h2>
203<p>Provides useful functions for parsing JPEG images</p>
204</div>
205<div class="refsect1">
206<a name="gst-plugins-bad-libs-jpegparser.functions_details"></a><h2>Functions</h2>
207<div class="refsect2">
208<a name="gst-jpeg-parse"></a><h3>gst_jpeg_parse ()</h3>
209<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
210gst_jpeg_parse (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *seg</code></em>,
211                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
212                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
213                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> offset</code></em>);</pre>
214<p>Parses the JPEG bitstream contained in <em class="parameter"><code>data</code></em>
215, and returns the
216detected segment as a <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a>.</p>
217<p>Note that a valid segment may be returned with a length that exceeds
218the available data. It is up to the caller to make sure there's enough
219data available when parsing the segment.</p>
220<div class="refsect3">
221<a name="gst-jpeg-parse.parameters"></a><h4>Parameters</h4>
222<div class="informaltable"><table class="informaltable" width="100%" border="0">
223<colgroup>
224<col width="150px" class="parameters_name">
225<col class="parameters_description">
226<col width="200px" class="parameters_annotations">
227</colgroup>
228<tbody>
229<tr>
230<td class="parameter_name"><p>segment</p></td>
231<td class="parameter_description"><p>pointer to a <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> structure to fill in. </p></td>
232<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
233</tr>
234<tr>
235<td class="parameter_name"><p>data</p></td>
236<td class="parameter_description"><p>The data to parse</p></td>
237<td class="parameter_annotations"> </td>
238</tr>
239<tr>
240<td class="parameter_name"><p>size</p></td>
241<td class="parameter_description"><p>The size of <em class="parameter"><code>data</code></em>
242</p></td>
243<td class="parameter_annotations"> </td>
244</tr>
245<tr>
246<td class="parameter_name"><p>offset</p></td>
247<td class="parameter_description"><p>The offset from which to start parsing</p></td>
248<td class="parameter_annotations"> </td>
249</tr>
250</tbody>
251</table></div>
252</div>
253<div class="refsect3">
254<a name="gst-jpeg-parse.returns"></a><h4>Returns</h4>
255<p> TRUE if a packet start code was found.</p>
256</div>
257<p class="since">Since: 1.6</p>
258</div>
259<hr>
260<div class="refsect2">
261<a name="gst-jpeg-segment-parse-frame-header"></a><h3>gst_jpeg_segment_parse_frame_header ()</h3>
262<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
263gst_jpeg_segment_parse_frame_header (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
264                                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr" title="struct GstJpegFrameHdr"><span class="type">GstJpegFrameHdr</span></a> *frame_hdr</code></em>);</pre>
265<p>Parses the <em class="parameter"><code>frame_hdr</code></em>
266 JPEG frame header structure members from <em class="parameter"><code>segment</code></em>
267.</p>
268<p>The caller must make sure there is enough data for the whole segment
269available.</p>
270<div class="refsect3">
271<a name="gst-jpeg-segment-parse-frame-header.parameters"></a><h4>Parameters</h4>
272<div class="informaltable"><table class="informaltable" width="100%" border="0">
273<colgroup>
274<col width="150px" class="parameters_name">
275<col class="parameters_description">
276<col width="200px" class="parameters_annotations">
277</colgroup>
278<tbody>
279<tr>
280<td class="parameter_name"><p>segment</p></td>
281<td class="parameter_description"><p>the JPEG segment</p></td>
282<td class="parameter_annotations"> </td>
283</tr>
284<tr>
285<td class="parameter_name"><p>frame_hdr</p></td>
286<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr" title="struct GstJpegFrameHdr"><span class="type">GstJpegFrameHdr</span></a> structure to fill in. </p></td>
287<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
288</tr>
289</tbody>
290</table></div>
291</div>
292<div class="refsect3">
293<a name="gst-jpeg-segment-parse-frame-header.returns"></a><h4>Returns</h4>
294<p> TRUE if the frame header was correctly parsed.</p>
295</div>
296<p class="since">Since: 1.6</p>
297</div>
298<hr>
299<div class="refsect2">
300<a name="gst-jpeg-segment-parse-scan-header"></a><h3>gst_jpeg_segment_parse_scan_header ()</h3>
301<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
302gst_jpeg_segment_parse_scan_header (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
303                                    <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr" title="struct GstJpegScanHdr"><span class="type">GstJpegScanHdr</span></a> *scan_hdr</code></em>);</pre>
304<p>Parses the <em class="parameter"><code>scan_hdr</code></em>
305 JPEG scan header structure members from <em class="parameter"><code>segment</code></em>
306.</p>
307<p>The caller must make sure there is enough data for the whole segment
308available.</p>
309<div class="refsect3">
310<a name="gst-jpeg-segment-parse-scan-header.parameters"></a><h4>Parameters</h4>
311<div class="informaltable"><table class="informaltable" width="100%" border="0">
312<colgroup>
313<col width="150px" class="parameters_name">
314<col class="parameters_description">
315<col width="200px" class="parameters_annotations">
316</colgroup>
317<tbody>
318<tr>
319<td class="parameter_name"><p>segment</p></td>
320<td class="parameter_description"><p>the JPEG segment</p></td>
321<td class="parameter_annotations"> </td>
322</tr>
323<tr>
324<td class="parameter_name"><p>scan_hdr</p></td>
325<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr" title="struct GstJpegScanHdr"><span class="type">GstJpegScanHdr</span></a> structure to fill in. </p></td>
326<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
327</tr>
328</tbody>
329</table></div>
330</div>
331<div class="refsect3">
332<a name="gst-jpeg-segment-parse-scan-header.returns"></a><h4>Returns</h4>
333<p> TRUE if the scan header was correctly parsed</p>
334</div>
335<p class="since">Since: 1.6</p>
336</div>
337<hr>
338<div class="refsect2">
339<a name="gst-jpeg-segment-parse-huffman-table"></a><h3>gst_jpeg_segment_parse_huffman_table ()</h3>
340<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
341gst_jpeg_segment_parse_huffman_table (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
342                                      <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables" title="struct GstJpegHuffmanTables"><span class="type">GstJpegHuffmanTables</span></a> *huff_tables</code></em>);</pre>
343<p>Parses the JPEG Huffman table structure members from <em class="parameter"><code>segment</code></em>
344.</p>
345<p>The caller must make sure there is enough data for the whole segment
346available.</p>
347<p>Note: <em class="parameter"><code>huf_tables</code></em>
348 represents the complete set of possible Huffman
349tables. However, the parser will only write to the Huffman table
350specified by the table destination identifier (Th). While doing so,
351the <em class="parameter"><code>valid</code></em>
352 flag of the specified Huffman table will also be set to
353<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>;</p>
354<div class="refsect3">
355<a name="gst-jpeg-segment-parse-huffman-table.parameters"></a><h4>Parameters</h4>
356<div class="informaltable"><table class="informaltable" width="100%" border="0">
357<colgroup>
358<col width="150px" class="parameters_name">
359<col class="parameters_description">
360<col width="200px" class="parameters_annotations">
361</colgroup>
362<tbody>
363<tr>
364<td class="parameter_name"><p>segment</p></td>
365<td class="parameter_description"><p>the JPEG segment</p></td>
366<td class="parameter_annotations"> </td>
367</tr>
368<tr>
369<td class="parameter_name"><p>huff_tables</p></td>
370<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables" title="struct GstJpegHuffmanTables"><span class="type">GstJpegHuffmanTables</span></a> structure to fill in. </p></td>
371<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
372</tr>
373</tbody>
374</table></div>
375</div>
376<div class="refsect3">
377<a name="gst-jpeg-segment-parse-huffman-table.returns"></a><h4>Returns</h4>
378<p> TRUE if the Huffman table was correctly parsed.</p>
379</div>
380<p class="since">Since: 1.6</p>
381</div>
382<hr>
383<div class="refsect2">
384<a name="gst-jpeg-segment-parse-quantization-table"></a><h3>gst_jpeg_segment_parse_quantization_table ()</h3>
385<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
386gst_jpeg_segment_parse_quantization_table
387                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
388                                <em class="parameter"><code><a href="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable"><span class="type">GstJpegQuantTables</span></a> *quant_tables</code></em>);</pre>
389<p>Parses the JPEG quantization table structure members from <em class="parameter"><code>segment</code></em>
390.</p>
391<p>The caller must make sure there is enough data for the whole segment
392available.</p>
393<p>Note: <em class="parameter"><code>quant_tables</code></em>
394 represents the complete set of possible
395quantization tables. However, the parser will only write to the
396quantization table specified by the table destination identifier
397(Tq). While doing so, the <em class="parameter"><code>valid</code></em>
398 flag of the specified quantization
399table will also be set to <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
400<div class="refsect3">
401<a name="gst-jpeg-segment-parse-quantization-table.parameters"></a><h4>Parameters</h4>
402<div class="informaltable"><table class="informaltable" width="100%" border="0">
403<colgroup>
404<col width="150px" class="parameters_name">
405<col class="parameters_description">
406<col width="200px" class="parameters_annotations">
407</colgroup>
408<tbody>
409<tr>
410<td class="parameter_name"><p>segment</p></td>
411<td class="parameter_description"><p>the JPEG segment</p></td>
412<td class="parameter_annotations"> </td>
413</tr>
414<tr>
415<td class="parameter_name"><p>quant_tables</p></td>
416<td class="parameter_description"><p>The <a href="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable"><span class="type">GstJpegQuantTables</span></a> structure to fill in. </p></td>
417<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
418</tr>
419</tbody>
420</table></div>
421</div>
422<div class="refsect3">
423<a name="gst-jpeg-segment-parse-quantization-table.returns"></a><h4>Returns</h4>
424<p> TRUE if the quantization table was correctly parsed.</p>
425</div>
426<p class="since">Since: 1.6</p>
427</div>
428<hr>
429<div class="refsect2">
430<a name="gst-jpeg-segment-parse-restart-interval"></a><h3>gst_jpeg_segment_parse_restart_interval ()</h3>
431<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
432gst_jpeg_segment_parse_restart_interval
433                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
434                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *interval</code></em>);</pre>
435<p>The caller must make sure there is enough data for the whole segment
436available.</p>
437<div class="refsect3">
438<a name="gst-jpeg-segment-parse-restart-interval.parameters"></a><h4>Parameters</h4>
439<div class="informaltable"><table class="informaltable" width="100%" border="0">
440<colgroup>
441<col width="150px" class="parameters_name">
442<col class="parameters_description">
443<col width="200px" class="parameters_annotations">
444</colgroup>
445<tbody>
446<tr>
447<td class="parameter_name"><p>segment</p></td>
448<td class="parameter_description"><p>the JPEG segment</p></td>
449<td class="parameter_annotations"> </td>
450</tr>
451<tr>
452<td class="parameter_name"><p>interval</p></td>
453<td class="parameter_description"><p>The parsed restart interval value. </p></td>
454<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
455</tr>
456</tbody>
457</table></div>
458</div>
459<div class="refsect3">
460<a name="gst-jpeg-segment-parse-restart-interval.returns"></a><h4>Returns</h4>
461<p> TRUE if the restart interval value was correctly parsed.</p>
462</div>
463<p class="since">Since: 1.6</p>
464</div>
465<hr>
466<div class="refsect2">
467<a name="gst-jpeg-get-default-quantization-tables"></a><h3>gst_jpeg_get_default_quantization_tables ()</h3>
468<pre class="programlisting"><span class="returnvalue">void</span>
469gst_jpeg_get_default_quantization_tables
470                               (<em class="parameter"><code><a href="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable"><span class="type">GstJpegQuantTables</span></a> *quant_tables</code></em>);</pre>
471</div>
472<hr>
473<div class="refsect2">
474<a name="gst-jpeg-get-default-huffman-tables"></a><h3>gst_jpeg_get_default_huffman_tables ()</h3>
475<pre class="programlisting"><span class="returnvalue">void</span>
476gst_jpeg_get_default_huffman_tables (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables" title="struct GstJpegHuffmanTables"><span class="type">GstJpegHuffmanTables</span></a> *huff_tables</code></em>);</pre>
477<p>Fills in <em class="parameter"><code>huf_tables</code></em>
478 with the default AC/DC Huffman tables, as
479specified by the JPEG standard.</p>
480<div class="refsect3">
481<a name="gst-jpeg-get-default-huffman-tables.parameters"></a><h4>Parameters</h4>
482<div class="informaltable"><table class="informaltable" width="100%" border="0">
483<colgroup>
484<col width="150px" class="parameters_name">
485<col class="parameters_description">
486<col width="200px" class="parameters_annotations">
487</colgroup>
488<tbody><tr>
489<td class="parameter_name"><p>huf_tables</p></td>
490<td class="parameter_description"><p>The default DC/AC Huffman tables to fill in. </p></td>
491<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
492</tr></tbody>
493</table></div>
494</div>
495<p class="since">Since: 1.6</p>
496</div>
497</div>
498<div class="refsect1">
499<a name="gst-plugins-bad-libs-jpegparser.other_details"></a><h2>Types and Values</h2>
500<div class="refsect2">
501<a name="GST-JPEG-MAX-FRAME-COMPONENTS:CAPS"></a><h3>GST_JPEG_MAX_FRAME_COMPONENTS</h3>
502<pre class="programlisting">#define GST_JPEG_MAX_FRAME_COMPONENTS   256
503</pre>
504<p>Maximum number of image components in a frame (Nf).</p>
505<p class="since">Since: 1.6</p>
506</div>
507<hr>
508<div class="refsect2">
509<a name="GST-JPEG-MAX-SCAN-COMPONENTS:CAPS"></a><h3>GST_JPEG_MAX_SCAN_COMPONENTS</h3>
510<pre class="programlisting">#define GST_JPEG_MAX_SCAN_COMPONENTS    4
511</pre>
512<p>Maximum number of image components in a scan (Ns).</p>
513<p class="since">Since: 1.6</p>
514</div>
515<hr>
516<div class="refsect2">
517<a name="GST-JPEG-MAX-QUANT-ELEMENTS:CAPS"></a><h3>GST_JPEG_MAX_QUANT_ELEMENTS</h3>
518<pre class="programlisting">#define GST_JPEG_MAX_QUANT_ELEMENTS     64
519</pre>
520<p>Number of elements in the quantization table.</p>
521<p class="since">Since: 1.6</p>
522</div>
523<hr>
524<div class="refsect2">
525<a name="GST-JPEG-MARKER-SOF-MIN:CAPS"></a><h3>GST_JPEG_MARKER_SOF_MIN</h3>
526<pre class="programlisting">#define GST_JPEG_MARKER_SOF_MIN GST_JPEG_MARKER_SOF0
527</pre>
528</div>
529<hr>
530<div class="refsect2">
531<a name="GST-JPEG-MARKER-SOF-MAX:CAPS"></a><h3>GST_JPEG_MARKER_SOF_MAX</h3>
532<pre class="programlisting">#define GST_JPEG_MARKER_SOF_MAX GST_JPEG_MARKER_SOF15
533</pre>
534</div>
535<hr>
536<div class="refsect2">
537<a name="GST-JPEG-MARKER-APP-MIN:CAPS"></a><h3>GST_JPEG_MARKER_APP_MIN</h3>
538<pre class="programlisting">#define GST_JPEG_MARKER_APP_MIN GST_JPEG_MARKER_APP0
539</pre>
540</div>
541<hr>
542<div class="refsect2">
543<a name="GST-JPEG-MARKER-APP-MAX:CAPS"></a><h3>GST_JPEG_MARKER_APP_MAX</h3>
544<pre class="programlisting">#define GST_JPEG_MARKER_APP_MAX GST_JPEG_MARKER_APP15
545</pre>
546</div>
547<hr>
548<div class="refsect2">
549<a name="GST-JPEG-MARKER-RST-MIN:CAPS"></a><h3>GST_JPEG_MARKER_RST_MIN</h3>
550<pre class="programlisting">#define GST_JPEG_MARKER_RST_MIN GST_JPEG_MARKER_RST0
551</pre>
552</div>
553<hr>
554<div class="refsect2">
555<a name="GST-JPEG-MARKER-RST-MAX:CAPS"></a><h3>GST_JPEG_MARKER_RST_MAX</h3>
556<pre class="programlisting">#define GST_JPEG_MARKER_RST_MAX GST_JPEG_MARKER_RST7
557</pre>
558</div>
559<hr>
560<div class="refsect2">
561<a name="GstJpegEntropyCodingMode"></a><h3>enum GstJpegEntropyCodingMode</h3>
562<p>JPEG entropy coding mode.</p>
563<div class="refsect3">
564<a name="GstJpegEntropyCodingMode.members"></a><h4>Members</h4>
565<div class="informaltable"><table class="informaltable" width="100%" border="0">
566<colgroup>
567<col width="300px" class="enum_members_name">
568<col class="enum_members_description">
569<col width="200px" class="enum_members_annotations">
570</colgroup>
571<tbody>
572<tr>
573<td class="enum_member_name"><p><a name="GST-JPEG-ENTROPY-CODING-HUFFMAN:CAPS"></a>GST_JPEG_ENTROPY_CODING_HUFFMAN</p></td>
574<td class="enum_member_description">
575<p>Huffman coding</p>
576</td>
577<td class="enum_member_annotations"> </td>
578</tr>
579<tr>
580<td class="enum_member_name"><p><a name="GST-JPEG-ENTROPY-CODING-ARITHMETIC:CAPS"></a>GST_JPEG_ENTROPY_CODING_ARITHMETIC</p></td>
581<td class="enum_member_description">
582<p>arithmetic coding</p>
583</td>
584<td class="enum_member_annotations"> </td>
585</tr>
586</tbody>
587</table></div>
588</div>
589<p class="since">Since: 1.6</p>
590</div>
591<hr>
592<div class="refsect2">
593<a name="GstJpegProfile"></a><h3>enum GstJpegProfile</h3>
594<p>JPEG encoding processes.</p>
595<div class="refsect3">
596<a name="GstJpegProfile.members"></a><h4>Members</h4>
597<div class="informaltable"><table class="informaltable" width="100%" border="0">
598<colgroup>
599<col width="300px" class="enum_members_name">
600<col class="enum_members_description">
601<col width="200px" class="enum_members_annotations">
602</colgroup>
603<tbody>
604<tr>
605<td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-BASELINE:CAPS"></a>GST_JPEG_PROFILE_BASELINE</p></td>
606<td class="enum_member_description">
607<p>Baseline DCT</p>
608</td>
609<td class="enum_member_annotations"> </td>
610</tr>
611<tr>
612<td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-EXTENDED:CAPS"></a>GST_JPEG_PROFILE_EXTENDED</p></td>
613<td class="enum_member_description">
614<p>Extended sequential DCT</p>
615</td>
616<td class="enum_member_annotations"> </td>
617</tr>
618<tr>
619<td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-PROGRESSIVE:CAPS"></a>GST_JPEG_PROFILE_PROGRESSIVE</p></td>
620<td class="enum_member_description">
621<p>Progressive DCT</p>
622</td>
623<td class="enum_member_annotations"> </td>
624</tr>
625<tr>
626<td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-LOSSLESS:CAPS"></a>GST_JPEG_PROFILE_LOSSLESS</p></td>
627<td class="enum_member_description">
628<p>Lossless (sequential)</p>
629</td>
630<td class="enum_member_annotations"> </td>
631</tr>
632</tbody>
633</table></div>
634</div>
635<p class="since">Since: 1.6</p>
636</div>
637<hr>
638<div class="refsect2">
639<a name="GstJpegSegment"></a><h3>struct GstJpegSegment</h3>
640<pre class="programlisting">struct GstJpegSegment {
641  GstJpegMarker marker;
642  const guint8 *data;
643  guint offset;
644  gssize size;
645};
646</pre>
647<p>A structure that contains the type of a segment, its offset and its size.</p>
648<div class="refsect3">
649<a name="GstJpegSegment.members"></a><h4>Members</h4>
650<div class="informaltable"><table class="informaltable" width="100%" border="0">
651<colgroup>
652<col width="300px" class="struct_members_name">
653<col class="struct_members_description">
654<col width="200px" class="struct_members_annotations">
655</colgroup>
656<tbody>
657<tr>
658<td class="struct_member_name"><p><span class="type">GstJpegMarker</span> <em class="structfield"><code><a name="GstJpegSegment.marker"></a>marker</code></em>;</p></td>
659<td class="struct_member_description"><p>The type of the segment that starts at <em class="parameter"><code>offset</code></em>
660</p></td>
661<td class="struct_member_annotations"> </td>
662</tr>
663<tr>
664<td class="struct_member_name"><p>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstJpegSegment.data"></a>data</code></em>;</p></td>
665<td class="struct_member_description"><p>the data containing the jpeg segment starting at <em class="parameter"><code>offset</code></em>
666</p></td>
667<td class="struct_member_annotations"> </td>
668</tr>
669<tr>
670<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstJpegSegment.offset"></a>offset</code></em>;</p></td>
671<td class="struct_member_description"><p>The offset to the segment start in bytes. This is the
672exact start of the segment, no marker code included</p></td>
673<td class="struct_member_annotations"> </td>
674</tr>
675<tr>
676<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> <em class="structfield"><code><a name="GstJpegSegment.size"></a>size</code></em>;</p></td>
677<td class="struct_member_description"><p>The size of the segment in bytes, or -1 if the end was not
678found. It is the exact size of the segment, without the sync byte and
679marker code but including any length bytes.</p></td>
680<td class="struct_member_annotations"> </td>
681</tr>
682</tbody>
683</table></div>
684</div>
685<p class="since">Since: 1.6</p>
686</div>
687<hr>
688<div class="refsect2">
689<a name="GstJpegFrameHdr"></a><h3>struct GstJpegFrameHdr</h3>
690<pre class="programlisting">struct GstJpegFrameHdr {
691  guint8 sample_precision;              /* 2 .. 16      */
692  guint16 width;                        /* 1 .. 65535   */
693  guint16 height;                       /* 0 .. 65535   */
694  guint8 num_components;                /* 1 .. 255     */
695  GstJpegFrameComponent components[GST_JPEG_MAX_FRAME_COMPONENTS];
696};
697</pre>
698<p>Frame header.</p>
699<div class="refsect3">
700<a name="GstJpegFrameHdr.members"></a><h4>Members</h4>
701<div class="informaltable"><table class="informaltable" width="100%" border="0">
702<colgroup>
703<col width="300px" class="struct_members_name">
704<col class="struct_members_description">
705<col width="200px" class="struct_members_annotations">
706</colgroup>
707<tbody>
708<tr>
709<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegFrameHdr.sample-precision"></a>sample_precision</code></em>;</p></td>
710<td class="struct_member_description"><p>Sample precision (P)</p></td>
711<td class="struct_member_annotations"> </td>
712</tr>
713<tr>
714<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstJpegFrameHdr.width"></a>width</code></em>;</p></td>
715<td class="struct_member_description"><p>Number of samples per line (X)</p></td>
716<td class="struct_member_annotations"> </td>
717</tr>
718<tr>
719<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstJpegFrameHdr.height"></a>height</code></em>;</p></td>
720<td class="struct_member_description"><p>Number of lines (Y)</p></td>
721<td class="struct_member_annotations"> </td>
722</tr>
723<tr>
724<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegFrameHdr.num-components"></a>num_components</code></em>;</p></td>
725<td class="struct_member_description"><p>Number of image components in frame (Nf)</p></td>
726<td class="struct_member_annotations"> </td>
727</tr>
728<tr>
729<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent" title="struct GstJpegFrameComponent"><span class="type">GstJpegFrameComponent</span></a> <em class="structfield"><code><a name="GstJpegFrameHdr.components"></a>components</code></em>[GST_JPEG_MAX_FRAME_COMPONENTS];</p></td>
730<td class="struct_member_description"><p>Image components</p></td>
731<td class="struct_member_annotations"> </td>
732</tr>
733</tbody>
734</table></div>
735</div>
736<p class="since">Since: 1.6</p>
737</div>
738<hr>
739<div class="refsect2">
740<a name="GstJpegFrameComponent"></a><h3>struct GstJpegFrameComponent</h3>
741<pre class="programlisting">struct GstJpegFrameComponent {
742  guint8 identifier;                    /* 0 .. 255     */
743  guint8 horizontal_factor;             /* 1 .. 4       */
744  guint8 vertical_factor;               /* 1 .. 4       */
745  guint8 quant_table_selector;          /* 0 .. 3       */
746};
747</pre>
748<p>Component-specification parameters.</p>
749<div class="refsect3">
750<a name="GstJpegFrameComponent.members"></a><h4>Members</h4>
751<div class="informaltable"><table class="informaltable" width="100%" border="0">
752<colgroup>
753<col width="300px" class="struct_members_name">
754<col class="struct_members_description">
755<col width="200px" class="struct_members_annotations">
756</colgroup>
757<tbody>
758<tr>
759<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegFrameComponent.identifier"></a>identifier</code></em>;</p></td>
760<td class="struct_member_description"><p>Component identifier (Ci)</p></td>
761<td class="struct_member_annotations"> </td>
762</tr>
763<tr>
764<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegFrameComponent.horizontal-factor"></a>horizontal_factor</code></em>;</p></td>
765<td class="struct_member_description"><p>Horizontal sampling factor (Hi)</p></td>
766<td class="struct_member_annotations"> </td>
767</tr>
768<tr>
769<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegFrameComponent.vertical-factor"></a>vertical_factor</code></em>;</p></td>
770<td class="struct_member_description"><p>Vertical sampling factor (Vi)</p></td>
771<td class="struct_member_annotations"> </td>
772</tr>
773<tr>
774<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegFrameComponent.quant-table-selector"></a>quant_table_selector</code></em>;</p></td>
775<td class="struct_member_description"><p>Quantization table destination selector (Tqi)</p></td>
776<td class="struct_member_annotations"> </td>
777</tr>
778</tbody>
779</table></div>
780</div>
781<p class="since">Since: 1.6</p>
782</div>
783<hr>
784<div class="refsect2">
785<a name="GstJpegScanHdr"></a><h3>struct GstJpegScanHdr</h3>
786<pre class="programlisting">struct GstJpegScanHdr {
787  guint8 num_components;                /* 1 .. 4       */
788  GstJpegScanComponent components[GST_JPEG_MAX_SCAN_COMPONENTS];
789};
790</pre>
791<p>Scan header.</p>
792<div class="refsect3">
793<a name="GstJpegScanHdr.members"></a><h4>Members</h4>
794<div class="informaltable"><table class="informaltable" width="100%" border="0">
795<colgroup>
796<col width="300px" class="struct_members_name">
797<col class="struct_members_description">
798<col width="200px" class="struct_members_annotations">
799</colgroup>
800<tbody>
801<tr>
802<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegScanHdr.num-components"></a>num_components</code></em>;</p></td>
803<td class="struct_member_description"><p>Number of image components in scan (Ns)</p></td>
804<td class="struct_member_annotations"> </td>
805</tr>
806<tr>
807<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegScanComponent" title="struct GstJpegScanComponent"><span class="type">GstJpegScanComponent</span></a> <em class="structfield"><code><a name="GstJpegScanHdr.components"></a>components</code></em>[GST_JPEG_MAX_SCAN_COMPONENTS];</p></td>
808<td class="struct_member_description"><p>Image components</p></td>
809<td class="struct_member_annotations"> </td>
810</tr>
811</tbody>
812</table></div>
813</div>
814<p class="since">Since: 1.6</p>
815</div>
816<hr>
817<div class="refsect2">
818<a name="GstJpegScanComponent"></a><h3>struct GstJpegScanComponent</h3>
819<pre class="programlisting">struct GstJpegScanComponent {
820    guint8 component_selector;          /* 0 .. 255     */
821    guint8 dc_selector;                 /* 0 .. 3       */
822    guint8 ac_selector;                 /* 0 .. 3       */
823};
824</pre>
825<p>Component-specification parameters.</p>
826<div class="refsect3">
827<a name="GstJpegScanComponent.members"></a><h4>Members</h4>
828<div class="informaltable"><table class="informaltable" width="100%" border="0">
829<colgroup>
830<col width="300px" class="struct_members_name">
831<col class="struct_members_description">
832<col width="200px" class="struct_members_annotations">
833</colgroup>
834<tbody>
835<tr>
836<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegScanComponent.component-selector"></a>component_selector</code></em>;</p></td>
837<td class="struct_member_description"><p>Scan component selector (Csj)</p></td>
838<td class="struct_member_annotations"> </td>
839</tr>
840<tr>
841<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegScanComponent.dc-selector"></a>dc_selector</code></em>;</p></td>
842<td class="struct_member_description"><p>DC entropy coding table destination selector (Tdj)</p></td>
843<td class="struct_member_annotations"> </td>
844</tr>
845<tr>
846<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegScanComponent.ac-selector"></a>ac_selector</code></em>;</p></td>
847<td class="struct_member_description"><p>AC entropy coding table destination selector (Taj)</p></td>
848<td class="struct_member_annotations"> </td>
849</tr>
850</tbody>
851</table></div>
852</div>
853<p class="since">Since: 1.6</p>
854</div>
855<hr>
856<div class="refsect2">
857<a name="GstJpegHuffmanTables"></a><h3>struct GstJpegHuffmanTables</h3>
858<pre class="programlisting">struct GstJpegHuffmanTables {
859  GstJpegHuffmanTable dc_tables[GST_JPEG_MAX_SCAN_COMPONENTS];
860  GstJpegHuffmanTable ac_tables[GST_JPEG_MAX_SCAN_COMPONENTS];
861};
862</pre>
863<p>Helper data structure that holds all AC/DC Huffman tables used to
864decode an image.</p>
865<div class="refsect3">
866<a name="GstJpegHuffmanTables.members"></a><h4>Members</h4>
867<div class="informaltable"><table class="informaltable" width="100%" border="0">
868<colgroup>
869<col width="300px" class="struct_members_name">
870<col class="struct_members_description">
871<col width="200px" class="struct_members_annotations">
872</colgroup>
873<tbody>
874<tr>
875<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable" title="struct GstJpegHuffmanTable"><span class="type">GstJpegHuffmanTable</span></a> <em class="structfield"><code><a name="GstJpegHuffmanTables.dc-tables"></a>dc_tables</code></em>[GST_JPEG_MAX_SCAN_COMPONENTS];</p></td>
876<td class="struct_member_description"><p>DC Huffman tables</p></td>
877<td class="struct_member_annotations"> </td>
878</tr>
879<tr>
880<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable" title="struct GstJpegHuffmanTable"><span class="type">GstJpegHuffmanTable</span></a> <em class="structfield"><code><a name="GstJpegHuffmanTables.ac-tables"></a>ac_tables</code></em>[GST_JPEG_MAX_SCAN_COMPONENTS];</p></td>
881<td class="struct_member_description"><p>AC Huffman tables</p></td>
882<td class="struct_member_annotations"> </td>
883</tr>
884</tbody>
885</table></div>
886</div>
887<p class="since">Since: 1.6</p>
888</div>
889<hr>
890<div class="refsect2">
891<a name="GstJpegHuffmanTable"></a><h3>struct GstJpegHuffmanTable</h3>
892<pre class="programlisting">struct GstJpegHuffmanTable {
893  guint8 huf_bits[16];
894  guint8 huf_values[256];
895  gboolean valid;
896};
897</pre>
898<p>Huffman table.</p>
899<div class="refsect3">
900<a name="GstJpegHuffmanTable.members"></a><h4>Members</h4>
901<div class="informaltable"><table class="informaltable" width="100%" border="0">
902<colgroup>
903<col width="300px" class="struct_members_name">
904<col class="struct_members_description">
905<col width="200px" class="struct_members_annotations">
906</colgroup>
907<tbody>
908<tr>
909<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegHuffmanTable.huf-bits"></a>huf_bits</code></em>[16];</p></td>
910<td class="struct_member_description"><p>Number of Huffman codes of length i + 1 (Li)</p></td>
911<td class="struct_member_annotations"> </td>
912</tr>
913<tr>
914<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegHuffmanTable.huf-values"></a>huf_values</code></em>[256];</p></td>
915<td> </td>
916<td> </td>
917</tr>
918<tr>
919<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstJpegHuffmanTable.valid"></a>valid</code></em>;</p></td>
920<td class="struct_member_description"><p>If the Huffman table is valid, which means it has already
921been parsed</p></td>
922<td class="struct_member_annotations"> </td>
923</tr>
924</tbody>
925</table></div>
926</div>
927<p class="since">Since: 1.6</p>
928</div>
929<hr>
930<div class="refsect2">
931<a name="GstJpegQuantTable"></a><h3>struct GstJpegQuantTable</h3>
932<pre class="programlisting">struct GstJpegQuantTable {
933  guint8 quant_precision;
934  guint16 quant_table[GST_JPEG_MAX_QUANT_ELEMENTS];
935  gboolean valid;
936};
937</pre>
938<p>Quantization table.</p>
939<div class="refsect3">
940<a name="GstJpegQuantTable.members"></a><h4>Members</h4>
941<div class="informaltable"><table class="informaltable" width="100%" border="0">
942<colgroup>
943<col width="300px" class="struct_members_name">
944<col class="struct_members_description">
945<col width="200px" class="struct_members_annotations">
946</colgroup>
947<tbody>
948<tr>
949<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstJpegQuantTable.quant-precision"></a>quant_precision</code></em>;</p></td>
950<td class="struct_member_description"><p>Quantization table element precision (Pq)</p></td>
951<td class="struct_member_annotations"> </td>
952</tr>
953<tr>
954<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstJpegQuantTable.quant-table"></a>quant_table</code></em>[GST_JPEG_MAX_QUANT_ELEMENTS];</p></td>
955<td class="struct_member_description"><p>Quantization table elements (Qk)</p></td>
956<td class="struct_member_annotations"> </td>
957</tr>
958<tr>
959<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstJpegQuantTable.valid"></a>valid</code></em>;</p></td>
960<td class="struct_member_description"><p>If the quantization table is valid, which means it has
961already been parsed</p></td>
962<td class="struct_member_annotations"> </td>
963</tr>
964</tbody>
965</table></div>
966</div>
967<p class="since">Since: 1.6</p>
968</div>
969</div>
970</div>
971<div class="footer">
972<hr>Generated by GTK-Doc V1.28</div>
973</body>
974</html>