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">|</span> 18 <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 <gst/codecparsers/gstjpegparser.h> 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>