Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > e8dd5f9ba814e46f0f6438b0cfb1c28e > files > 47

libltc-devel-1.1.3-1.fc18.i686.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.3.1"/>
<title>libltc: ltcdecode.c</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="projectlogo"><img alt="Logo" src="libltc.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">libltc
   &#160;<span id="projectnumber">1.1.3</span>
   </div>
   <div id="projectbrief">Linear/Logitudinal Time Code (LTC) Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ltcdecode.c</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"></div>
<div class="line"><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;math.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="ltc_8h.html" title="libltc - en+decode linear timecode">ltc.h</a>&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#define BUFFER_SIZE (1024)</span></div>
<div class="line"><span class="preprocessor"></span></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {</div>
<div class="line">        <span class="keywordtype">int</span> apv = 1920;</div>
<div class="line">        <a class="code" href="ltc_8h.html#a1d702f47d78768fd74aabd04b1e47091">ltcsnd_sample_t</a> sound[BUFFER_SIZE];</div>
<div class="line">        <span class="keywordtype">size_t</span> n;</div>
<div class="line">        <span class="keywordtype">long</span> <span class="keywordtype">int</span> total;</div>
<div class="line">        FILE* f;</div>
<div class="line">        <span class="keywordtype">char</span>* filename;</div>
<div class="line"></div>
<div class="line">        <a class="code" href="ltc_8h.html#ad3763ec6befdd820c15da6111a575606">LTCDecoder</a> *decoder;</div>
<div class="line">        <a name="_a0"></a><a class="code" href="ltc_8h.html#structLTCFrameExt">LTCFrameExt</a> frame;</div>
<div class="line"></div>
<div class="line">        <span class="comment">// fIXME</span></div>
<div class="line">        <span class="keywordflow">if</span> (argc &gt; 1) {</div>
<div class="line">                filename = argv[1];</div>
<div class="line">                <span class="keywordflow">if</span> (argc &gt; 2) {</div>
<div class="line">                        sscanf(argv[2], <span class="stringliteral">&quot;%i&quot;</span>, &amp;apv);</div>
<div class="line">                }</div>
<div class="line">        } <span class="keywordflow">else</span> {</div>
<div class="line">                printf(<span class="stringliteral">&quot;Usage: %s &lt;filename&gt; [audio-frames-per-video-frame]\n&quot;</span>, argv[0]);</div>
<div class="line">                <span class="keywordflow">return</span> -1;</div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        f = fopen(filename, <span class="stringliteral">&quot;r&quot;</span>);</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">if</span> (!f) {</div>
<div class="line">                fprintf(stderr, <span class="stringliteral">&quot;error opening &#39;%s&#39;\n&quot;</span>, filename);</div>
<div class="line">                <span class="keywordflow">return</span> -1;</div>
<div class="line">        }</div>
<div class="line">        fprintf(stderr, <span class="stringliteral">&quot;* reading from: %s\n&quot;</span>, filename);</div>
<div class="line"></div>
<div class="line">        total = 0;</div>
<div class="line"></div>
<div class="line">        decoder = <a name="a1"></a><a class="code" href="ltc_8h.html#a0707029b20a1ea7305dd6ba85c0d03f8">ltc_decoder_create</a>(apv, 32);</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">do</span> {</div>
<div class="line">                n = fread(sound, <span class="keyword">sizeof</span>(<a class="code" href="ltc_8h.html#a1d702f47d78768fd74aabd04b1e47091">ltcsnd_sample_t</a>), BUFFER_SIZE, f);</div>
<div class="line">                <a name="a2"></a><a class="code" href="ltc_8h.html#aba7abd60b63023f67d17f30888fa492e">ltc_decoder_write</a>(decoder, sound, n, total);</div>
<div class="line"></div>
<div class="line">                <span class="keywordflow">while</span> (<a name="a3"></a><a class="code" href="ltc_8h.html#a3cb40ff1bede260caeafae14bafb9a95">ltc_decoder_read</a>(decoder, &amp;frame)) {</div>
<div class="line">                        <a name="_a4"></a><a class="code" href="ltc_8h.html#structSMPTETimecode">SMPTETimecode</a> stime;</div>
<div class="line"></div>
<div class="line">                        <a name="a5"></a><a class="code" href="ltc_8h.html#a6b29fed73072a500e4c3566bec8340a1">ltc_frame_to_time</a>(&amp;stime, &amp;frame.<a name="a6"></a><a class="code" href="ltc_8h.html#a86f7f99e839dc30ac5eb1d650061d1d1" title="the actual LTC frame. see LTCFrame">ltc</a>, 1);</div>
<div class="line"></div>
<div class="line">                        printf(<span class="stringliteral">&quot;%04d-%02d-%02d %s &quot;</span>,</div>
<div class="line">                                ((stime.<a name="a7"></a><a class="code" href="ltc_8h.html#af4fc85d71e69e87bcfc269c6e4dfcf25" title="LTC-date uses 2-digit year 00.99.">years</a> &lt; 67) ? 2000+stime.<a class="code" href="ltc_8h.html#af4fc85d71e69e87bcfc269c6e4dfcf25" title="LTC-date uses 2-digit year 00.99.">years</a> : 1900+stime.<a class="code" href="ltc_8h.html#af4fc85d71e69e87bcfc269c6e4dfcf25" title="LTC-date uses 2-digit year 00.99.">years</a>),</div>
<div class="line">                                stime.<a name="a8"></a><a class="code" href="ltc_8h.html#a33881ec86a28953e740e4b12195266e8" title="valid months are 1..12">months</a>,</div>
<div class="line">                                stime.<a name="a9"></a><a class="code" href="ltc_8h.html#aa58d86b05da0fb1aa5f8663fa9c743bc" title="day of month 1..31">days</a>,</div>
<div class="line">                                stime.<a name="a10"></a><a class="code" href="ltc_8h.html#abf056d6aa0c9046ed39c8b6f4ae568da" title="the timezone 6bytes: &quot;+HHMM&quot; textual representation">timezone</a></div>
<div class="line">                                );</div>
<div class="line"></div>
<div class="line">                        printf(<span class="stringliteral">&quot;%02d:%02d:%02d%c%02d | %8lld %8lld%s\n&quot;</span>,</div>
<div class="line">                                        stime.<a name="a11"></a><a class="code" href="ltc_8h.html#a46a49bf0cc03a662959d96145b543bf3" title="hour 0..23">hours</a>,</div>
<div class="line">                                        stime.<a name="a12"></a><a class="code" href="ltc_8h.html#a3a61b5ec33a92b13bc7ce21cb54e55ce" title="minute 0..60">mins</a>,</div>
<div class="line">                                        stime.<a name="a13"></a><a class="code" href="ltc_8h.html#acabc2874dae09c842660cda082cbd7d1" title="second 0..60">secs</a>,</div>
<div class="line">                                        (frame.<a class="code" href="ltc_8h.html#a86f7f99e839dc30ac5eb1d650061d1d1" title="the actual LTC frame. see LTCFrame">ltc</a>.<a name="a14"></a><a class="code" href="ltc_8h.html#aae3b62d98a52478317057b87ba180b72" title="indicated drop-frame timecode">dfbit</a>) ? <span class="charliteral">&#39;.&#39;</span> : <span class="charliteral">&#39;:&#39;</span>,</div>
<div class="line">                                        stime.<a name="a15"></a><a class="code" href="ltc_8h.html#a1b22b2e8db1d8d2b526919e0f8cef0ee" title="sub-second frame 0..(FPS - 1)">frame</a>,</div>
<div class="line">                                        frame.<a name="a16"></a><a class="code" href="ltc_8h.html#a64635a67a788d658c9312be212330a2c">off_start</a>,</div>
<div class="line">                                        frame.<a name="a17"></a><a class="code" href="ltc_8h.html#a0200e7f1f9bf85a4ce78e9126946048b">off_end</a>,</div>
<div class="line">                                        frame.<a name="a18"></a><a class="code" href="ltc_8h.html#a8695572f4b4f75bfaba7edd725b2fb4b" title="if non-zero, a reverse played LTC frame was detected. Since the frame was reversed, it started at off_end and finishes as off_start (off_end &gt; off_start). (Note: in reverse playback the (reversed) sync-word of the next/previous frame is detected, this offset is corrected).">reverse</a> ? <span class="stringliteral">&quot;  R&quot;</span> : <span class="stringliteral">&quot;&quot;</span></div>
<div class="line">                                        );</div>
<div class="line">                }</div>
<div class="line"></div>
<div class="line">                total += n;</div>
<div class="line"></div>
<div class="line">        } <span class="keywordflow">while</span> (n);</div>
<div class="line"></div>
<div class="line">        fclose(f);</div>
<div class="line">        <a name="a19"></a><a class="code" href="ltc_8h.html#ad7d79ffa10e4ac4726676d3427ad2f15">ltc_decoder_free</a>(decoder);</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --> </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.3.1
</small></address>
</body>
</html>