Sophie

Sophie

distrib > Mageia > 6 > armv7hl > by-pkgid > b4d0ffc838646a67b3dd59a6006ff212 > files > 55

libgavl-devel-1.4.0-7.mga6.armv7hl.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>gavl: Peak detector</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>
<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 style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">gavl
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Peak detector<div class="ingroups"><a class="el" href="group__audio.html">Audio</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Detect peaks in the volume for steering normalizers and dynamic range compressors.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga1974488d678c0e0f8fc55a5ecaa24e1c"><td class="memItemLeft" align="right" valign="top">typedef struct gavl_peak_detector_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a></td></tr>
<tr class="memdesc:ga1974488d678c0e0f8fc55a5ecaa24e1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque structure for peak detector.  <a href="#ga1974488d678c0e0f8fc55a5ecaa24e1c">More...</a><br /></td></tr>
<tr class="separator:ga1974488d678c0e0f8fc55a5ecaa24e1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gacfd0d1870f12dc9b2d498317f9487dd4"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peak__detection.html#gacfd0d1870f12dc9b2d498317f9487dd4">gavl_peak_detector_create</a> ()</td></tr>
<tr class="memdesc:gacfd0d1870f12dc9b2d498317f9487dd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create peak detector.  <a href="#gacfd0d1870f12dc9b2d498317f9487dd4">More...</a><br /></td></tr>
<tr class="separator:gacfd0d1870f12dc9b2d498317f9487dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffc05b8a605cfab813bf368f27592bb3"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peak__detection.html#gaffc05b8a605cfab813bf368f27592bb3">gavl_peak_detector_destroy</a> (<a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *pd)</td></tr>
<tr class="memdesc:gaffc05b8a605cfab813bf368f27592bb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys a peak detector and frees all associated memory.  <a href="#gaffc05b8a605cfab813bf368f27592bb3">More...</a><br /></td></tr>
<tr class="separator:gaffc05b8a605cfab813bf368f27592bb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47d5a567add1e12fdb57e55053ce6ecc"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peak__detection.html#ga47d5a567add1e12fdb57e55053ce6ecc">gavl_peak_detector_set_format</a> (<a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *pd, const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format)</td></tr>
<tr class="memdesc:ga47d5a567add1e12fdb57e55053ce6ecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set format for a peak detector.  <a href="#ga47d5a567add1e12fdb57e55053ce6ecc">More...</a><br /></td></tr>
<tr class="separator:ga47d5a567add1e12fdb57e55053ce6ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68a33fb2e39b014897bab9cbd6b97c1a"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peak__detection.html#ga68a33fb2e39b014897bab9cbd6b97c1a">gavl_peak_detector_update</a> (<a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *pd, <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *frame)</td></tr>
<tr class="memdesc:ga68a33fb2e39b014897bab9cbd6b97c1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Feed the peak detector with a new frame.  <a href="#ga68a33fb2e39b014897bab9cbd6b97c1a">More...</a><br /></td></tr>
<tr class="separator:ga68a33fb2e39b014897bab9cbd6b97c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab72a6993c866fe8fb2779604bc7a85e7"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peak__detection.html#gab72a6993c866fe8fb2779604bc7a85e7">gavl_peak_detector_get_peak</a> (<a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *pd, double *min, double *max, double *abs)</td></tr>
<tr class="memdesc:gab72a6993c866fe8fb2779604bc7a85e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the peak volume across all channels.  <a href="#gab72a6993c866fe8fb2779604bc7a85e7">More...</a><br /></td></tr>
<tr class="separator:gab72a6993c866fe8fb2779604bc7a85e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga325302b265f717795dc0ac32f7ce33d0"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peak__detection.html#ga325302b265f717795dc0ac32f7ce33d0">gavl_peak_detector_get_peaks</a> (<a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *pd, double *min, double *max, double *abs)</td></tr>
<tr class="memdesc:ga325302b265f717795dc0ac32f7ce33d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the peak volume for all channels separate.  <a href="#ga325302b265f717795dc0ac32f7ce33d0">More...</a><br /></td></tr>
<tr class="separator:ga325302b265f717795dc0ac32f7ce33d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4de693cdd4743448c9d45e3a473ec956"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peak__detection.html#ga4de693cdd4743448c9d45e3a473ec956">gavl_peak_detector_reset</a> (<a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *pd)</td></tr>
<tr class="memdesc:ga4de693cdd4743448c9d45e3a473ec956"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset a peak detector.  <a href="#ga4de693cdd4743448c9d45e3a473ec956">More...</a><br /></td></tr>
<tr class="separator:ga4de693cdd4743448c9d45e3a473ec956"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Detect peaks in the volume for steering normalizers and dynamic range compressors. </p>
<p>While normalizers and dynamic range controls are out of the scope of gavl, some low-level functionality can be provided </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga1974488d678c0e0f8fc55a5ecaa24e1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1974488d678c0e0f8fc55a5ecaa24e1c">&sect;&nbsp;</a></span>gavl_peak_detector_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct gavl_peak_detector_s <a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Opaque structure for peak detector. </p>
<p>You don't want to know what's inside. </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gacfd0d1870f12dc9b2d498317f9487dd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacfd0d1870f12dc9b2d498317f9487dd4">&sect;&nbsp;</a></span>gavl_peak_detector_create()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC <a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a>* gavl_peak_detector_create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create peak detector. </p>
<dl class="section return"><dt>Returns</dt><dd>A newly allocated peak detector </dd></dl>

</div>
</div>
<a id="gaffc05b8a605cfab813bf368f27592bb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaffc05b8a605cfab813bf368f27592bb3">&sect;&nbsp;</a></span>gavl_peak_detector_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_peak_detector_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *&#160;</td>
          <td class="paramname"><em>pd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroys a peak detector and frees all associated memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pd</td><td>A peak detector </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga47d5a567add1e12fdb57e55053ce6ecc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga47d5a567add1e12fdb57e55053ce6ecc">&sect;&nbsp;</a></span>gavl_peak_detector_set_format()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_peak_detector_set_format </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *&#160;</td>
          <td class="paramname"><em>pd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set format for a peak detector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pd</td><td>A peak detector </td></tr>
    <tr><td class="paramname">format</td><td>The format subsequent frames will be passed with</td></tr>
  </table>
  </dd>
</dl>
<p>This function can be called multiple times with one instance. It also calls <a class="el" href="group__peak__detection.html#ga4de693cdd4743448c9d45e3a473ec956">gavl_peak_detector_reset</a>. </p>

</div>
</div>
<a id="ga68a33fb2e39b014897bab9cbd6b97c1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga68a33fb2e39b014897bab9cbd6b97c1a">&sect;&nbsp;</a></span>gavl_peak_detector_update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_peak_detector_update </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *&#160;</td>
          <td class="paramname"><em>pd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>frame</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Feed the peak detector with a new frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pd</td><td>A peak detector </td></tr>
    <tr><td class="paramname">frame</td><td>An audio frame </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gab72a6993c866fe8fb2779604bc7a85e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab72a6993c866fe8fb2779604bc7a85e7">&sect;&nbsp;</a></span>gavl_peak_detector_get_peak()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_peak_detector_get_peak </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *&#160;</td>
          <td class="paramname"><em>pd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>abs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the peak volume across all channels. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pd</td><td>A peak detector </td></tr>
    <tr><td class="paramname">min</td><td>Returns minimum amplitude </td></tr>
    <tr><td class="paramname">max</td><td>Returns maximum amplitude </td></tr>
    <tr><td class="paramname">abs</td><td>Returns maximum absolute amplitude</td></tr>
  </table>
  </dd>
</dl>
<p>The returned amplitudes are normalized such that the minimum amplitude corresponds to -1.0, the maximum amplitude corresponds to 1.0. </p>

</div>
</div>
<a id="ga325302b265f717795dc0ac32f7ce33d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga325302b265f717795dc0ac32f7ce33d0">&sect;&nbsp;</a></span>gavl_peak_detector_get_peaks()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_peak_detector_get_peaks </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *&#160;</td>
          <td class="paramname"><em>pd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>abs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the peak volume for all channels separate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pd</td><td>A peak detector </td></tr>
    <tr><td class="paramname">min</td><td>Returns minimum amplitude </td></tr>
    <tr><td class="paramname">max</td><td>Returns maximum amplitude </td></tr>
    <tr><td class="paramname">abs</td><td>Returns maximum absolute amplitude</td></tr>
  </table>
  </dd>
</dl>
<p>The returned amplitudes are normalized such that the minimum amplitude corresponds to -1.0, the maximum amplitude corresponds to 1.0. </p>

</div>
</div>
<a id="ga4de693cdd4743448c9d45e3a473ec956"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4de693cdd4743448c9d45e3a473ec956">&sect;&nbsp;</a></span>gavl_peak_detector_reset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_peak_detector_reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__peak__detection.html#ga1974488d678c0e0f8fc55a5ecaa24e1c">gavl_peak_detector_t</a> *&#160;</td>
          <td class="paramname"><em>pd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset a peak detector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pd</td><td>A peak detector </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>