stdex/structstdex_1_1wav_1_1format.html

232 lines
18 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>stdex: stdex::wav::format Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">stdex
</div>
<div id="projectbrief">Additional custom or not Standard C++ covered algorithms</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>stdex</b></li><li class="navelem"><b>wav</b></li><li class="navelem"><a class="el" href="structstdex_1_1wav_1_1format.html">format</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="structstdex_1_1wav_1_1format-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">stdex::wav::format Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Waveform format.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="wav_8hpp_source.html">stdex/wav.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a9e48aadca63b92583abda67513aa4553" id="r_a9e48aadca63b92583abda67513aa4553"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9e48aadca63b92583abda67513aa4553">compression_t</a> : uint16_t { <br />
&#160;&#160;<a class="el" href="#a9e48aadca63b92583abda67513aa4553aad921d60486366258809553a3db49a4a">unknown</a> = 0x0000
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553aec5c8103218f27aa6ecfd3f11e1a6b45">pcm</a> = 0x0001
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553aeb80a477a2c667de92ada178f52c3508">microsoft_adpcm</a> = 0x0002
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553ac00e16f1478ac9f85214649555b3313b">pcm_float</a> = 0x0003
, <br />
&#160;&#160;<a class="el" href="#a9e48aadca63b92583abda67513aa4553a49aa00965cc0b1ff88d30355744ebf2c">itu_g711_a_law</a> = 0x0006
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553a67888b7069da4d83bebe88c0e4f41fc8">itu_g711_mu_law</a> = 0x0007
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553a04984c51e6d66d2a85c2f5741f528c62">ima_adpcm</a> = 0x0011
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553a4f4918e9489ba6475c99ee45b29d0ae5">itu_g_723_adpcm</a> = 0x0016
, <br />
&#160;&#160;<a class="el" href="#a9e48aadca63b92583abda67513aa4553a65272ddf98e4ddbea87abd0e2aebba6c">gsm_6_10</a> = 0x0031
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553aaf9fbf9c2fa9d447e7c297c0ce6aa1bc">itu_g_721_adpcm</a> = 0x0040
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553a28444c0d7c9a981a6a414f9fd5a7ea35">mpeg</a> = 0x0050
, <a class="el" href="#a9e48aadca63b92583abda67513aa4553aac15dd302601bdac753596694ac78093">experimental</a> = 0xffff
<br />
}</td></tr>
<tr class="separator:a9e48aadca63b92583abda67513aa4553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace0449e736c4c963d6a280e22e1e7a32" id="r_ace0449e736c4c963d6a280e22e1e7a32"><td class="memItemLeft" align="right" valign="top"><a id="ace0449e736c4c963d6a280e22e1e7a32" name="ace0449e736c4c963d6a280e22e1e7a32"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>record</b> = <a class="el" href="classstdex_1_1idrec_1_1record.html">stdex::idrec::record</a>&lt;<a class="el" href="structstdex_1_1wav_1_1format.html">format</a>, id_t, 0x20746D66 , length_t, align&gt;</td></tr>
<tr class="separator:ace0449e736c4c963d6a280e22e1e7a32"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a90d39427490442ea5315b9a0200cf8c5" id="r_a90d39427490442ea5315b9a0200cf8c5"><td class="memItemLeft" align="right" valign="top"><a id="a90d39427490442ea5315b9a0200cf8c5" name="a90d39427490442ea5315b9a0200cf8c5"></a>
enum <a class="el" href="#a9e48aadca63b92583abda67513aa4553">stdex::wav::format::compression_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>compression</b> = <a class="el" href="#a9e48aadca63b92583abda67513aa4553aad921d60486366258809553a3db49a4a">compression_t::unknown</a></td></tr>
<tr class="memdesc:a90d39427490442ea5315b9a0200cf8c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waveform compression. <br /></td></tr>
<tr class="separator:a90d39427490442ea5315b9a0200cf8c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2e701c78ac7fa1861220552ac0f9477" id="r_ac2e701c78ac7fa1861220552ac0f9477"><td class="memItemLeft" align="right" valign="top"><a id="ac2e701c78ac7fa1861220552ac0f9477" name="ac2e701c78ac7fa1861220552ac0f9477"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>num_channels</b> = 0</td></tr>
<tr class="memdesc:ac2e701c78ac7fa1861220552ac0f9477"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of channels specifies how many separate audio signals that are encoded in the wave data chunk (1 - mono, 2 - stereo) <br /></td></tr>
<tr class="separator:ac2e701c78ac7fa1861220552ac0f9477"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5acb6af39b217522c26c565c886d5954" id="r_a5acb6af39b217522c26c565c886d5954"><td class="memItemLeft" align="right" valign="top"><a id="a5acb6af39b217522c26c565c886d5954" name="a5acb6af39b217522c26c565c886d5954"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>sample_rate</b> = 0</td></tr>
<tr class="memdesc:a5acb6af39b217522c26c565c886d5954"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of sample slices per second (Hz). This value is unaffected by the number of channels. <br /></td></tr>
<tr class="separator:a5acb6af39b217522c26c565c886d5954"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09a6dc6744dbd0331c2dd50379679497" id="r_a09a6dc6744dbd0331c2dd50379679497"><td class="memItemLeft" align="right" valign="top"><a id="a09a6dc6744dbd0331c2dd50379679497" name="a09a6dc6744dbd0331c2dd50379679497"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>bytes_per_second</b> = 0</td></tr>
<tr class="memdesc:a09a6dc6744dbd0331c2dd50379679497"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many bytes of wave data must be streamed to a D/A converter per second in order to play the wave file. This information is useful when determining if data can be streamed from the source fast enough to keep up with playback. This value can be easily calculated with the formula: <code>sample_rate * block_align</code> <br /></td></tr>
<tr class="separator:a09a6dc6744dbd0331c2dd50379679497"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1e8389dc2e46f4a89ca19bb5b9804f5" id="r_ad1e8389dc2e46f4a89ca19bb5b9804f5"><td class="memItemLeft" align="right" valign="top"><a id="ad1e8389dc2e46f4a89ca19bb5b9804f5" name="ad1e8389dc2e46f4a89ca19bb5b9804f5"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>block_align</b> = 0</td></tr>
<tr class="memdesc:ad1e8389dc2e46f4a89ca19bb5b9804f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of bytes per sample slice (all channels). This value is not affected by the number of channels and can be calculated with the formula: <code>bits_per_channel / 8 * num_channels</code> <br /></td></tr>
<tr class="separator:ad1e8389dc2e46f4a89ca19bb5b9804f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67f8c858e962c30f4f38f08bfc02354f" id="r_a67f8c858e962c30f4f38f08bfc02354f"><td class="memItemLeft" align="right" valign="top"><a id="a67f8c858e962c30f4f38f08bfc02354f" name="a67f8c858e962c30f4f38f08bfc02354f"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>bits_per_channel</b> = 0</td></tr>
<tr class="memdesc:a67f8c858e962c30f4f38f08bfc02354f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of bits used to define each sample. This value is usually 8, 16, 24 or 32. If the number of bits is not byte aligned (a multiple of 8) then the number of bytes used per sample is rounded up to the nearest byte size and the unused bytes are set to 0 and ignored. <br /></td></tr>
<tr class="separator:a67f8c858e962c30f4f38f08bfc02354f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87fad34087b6372c05a9d2c449a49123" id="r_a87fad34087b6372c05a9d2c449a49123"><td class="memItemLeft" align="right" valign="top"><a id="a87fad34087b6372c05a9d2c449a49123" name="a87fad34087b6372c05a9d2c449a49123"></a>
<a class="el" href="classstdex_1_1stream_1_1memory__file.html">stdex::stream::memory_file</a>&#160;</td><td class="memItemRight" valign="bottom"><b>extra</b></td></tr>
<tr class="memdesc:a87fad34087b6372c05a9d2c449a49123"><td class="mdescLeft">&#160;</td><td class="mdescRight">Additional format data. <br /></td></tr>
<tr class="separator:a87fad34087b6372c05a9d2c449a49123"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a447cd99577e4d2854e0eb38726bee0a5" id="r_a447cd99577e4d2854e0eb38726bee0a5"><td class="memItemLeft" align="right" valign="top"><a id="a447cd99577e4d2854e0eb38726bee0a5" name="a447cd99577e4d2854e0eb38726bee0a5"></a>
<a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (<a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a> &amp;dat, const <a class="el" href="structstdex_1_1wav_1_1format.html">format</a> &amp;<a class="el" href="structstdex_1_1wav_1_1data.html">data</a>)</td></tr>
<tr class="separator:a447cd99577e4d2854e0eb38726bee0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33f4526f3528fb596eb18aabc5d7cfe5" id="r_a33f4526f3528fb596eb18aabc5d7cfe5"><td class="memItemLeft" align="right" valign="top"><a id="a33f4526f3528fb596eb18aabc5d7cfe5" name="a33f4526f3528fb596eb18aabc5d7cfe5"></a>
<a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (<a class="el" href="classstdex_1_1stream_1_1basic.html">stdex::stream::basic</a> &amp;dat, <a class="el" href="structstdex_1_1wav_1_1format.html">format</a> &amp;<a class="el" href="structstdex_1_1wav_1_1data.html">data</a>)</td></tr>
<tr class="separator:a33f4526f3528fb596eb18aabc5d7cfe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Waveform format. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a9e48aadca63b92583abda67513aa4553" name="a9e48aadca63b92583abda67513aa4553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e48aadca63b92583abda67513aa4553">&#9670;&#160;</a></span>compression_t</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="#a9e48aadca63b92583abda67513aa4553">stdex::wav::format::compression_t</a> : uint16_t</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553aad921d60486366258809553a3db49a4a" name="a9e48aadca63b92583abda67513aa4553aad921d60486366258809553a3db49a4a"></a>unknown&#160;</td><td class="fielddoc"><p>Unknown. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553aec5c8103218f27aa6ecfd3f11e1a6b45" name="a9e48aadca63b92583abda67513aa4553aec5c8103218f27aa6ecfd3f11e1a6b45"></a>pcm&#160;</td><td class="fielddoc"><p>PCM/uncompressed integral. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553aeb80a477a2c667de92ada178f52c3508" name="a9e48aadca63b92583abda67513aa4553aeb80a477a2c667de92ada178f52c3508"></a>microsoft_adpcm&#160;</td><td class="fielddoc"><p>Microsoft ADPCM. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553ac00e16f1478ac9f85214649555b3313b" name="a9e48aadca63b92583abda67513aa4553ac00e16f1478ac9f85214649555b3313b"></a>pcm_float&#160;</td><td class="fielddoc"><p>PCM/uncompressed floating point. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553a49aa00965cc0b1ff88d30355744ebf2c" name="a9e48aadca63b92583abda67513aa4553a49aa00965cc0b1ff88d30355744ebf2c"></a>itu_g711_a_law&#160;</td><td class="fielddoc"><p>ITU G.711 a-law. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553a67888b7069da4d83bebe88c0e4f41fc8" name="a9e48aadca63b92583abda67513aa4553a67888b7069da4d83bebe88c0e4f41fc8"></a>itu_g711_mu_law&#160;</td><td class="fielddoc"><p>ITU G.711 µ-law. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553a04984c51e6d66d2a85c2f5741f528c62" name="a9e48aadca63b92583abda67513aa4553a04984c51e6d66d2a85c2f5741f528c62"></a>ima_adpcm&#160;</td><td class="fielddoc"><p>IMA ADPCM. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553a4f4918e9489ba6475c99ee45b29d0ae5" name="a9e48aadca63b92583abda67513aa4553a4f4918e9489ba6475c99ee45b29d0ae5"></a>itu_g_723_adpcm&#160;</td><td class="fielddoc"><p>ITU G.723 ADPCM (Yamaha) </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553a65272ddf98e4ddbea87abd0e2aebba6c" name="a9e48aadca63b92583abda67513aa4553a65272ddf98e4ddbea87abd0e2aebba6c"></a>gsm_6_10&#160;</td><td class="fielddoc"><p>GSM 6.10. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553aaf9fbf9c2fa9d447e7c297c0ce6aa1bc" name="a9e48aadca63b92583abda67513aa4553aaf9fbf9c2fa9d447e7c297c0ce6aa1bc"></a>itu_g_721_adpcm&#160;</td><td class="fielddoc"><p>ITU G.721 ADPCM. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553a28444c0d7c9a981a6a414f9fd5a7ea35" name="a9e48aadca63b92583abda67513aa4553a28444c0d7c9a981a6a414f9fd5a7ea35"></a>mpeg&#160;</td><td class="fielddoc"><p>MPEG. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9e48aadca63b92583abda67513aa4553aac15dd302601bdac753596694ac78093" name="a9e48aadca63b92583abda67513aa4553aac15dd302601bdac753596694ac78093"></a>experimental&#160;</td><td class="fielddoc"><p>Experimental. </p>
</td></tr>
</table>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/stdex/<a class="el" href="wav_8hpp_source.html">wav.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Nov 19 2024 09:18:44 for stdex by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>