<div dir="ltr">I should have added that <span style="white-space:pre-wrap">oformat</span><span style="white-space:pre-wrap">-></span><span style="white-space:pre-wrap;color:rgb(128,0,0)">video_codec </span>is AV_CODEC_ID_H264, of course.<div>
<br></div><div>Best,</div><div>Marika</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 22, 2013 at 8:00 PM, Marika Marszalkowski <span dir="ltr"><<a href="mailto:marikaner@gmail.com" target="_blank">marikaner@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello everyone,<div><br></div><div>I have been trying to create an encoded h264 Video from multiple images (QImage), but I can't really achieve this.</div>
<div><br></div><div>This list is my last resort and I totally hope there is someone out there who can help me with this not as complicated problem. I am not sure what the exact problem is - the video is created, but it is kind of jumpy, so that an image is shown and it stays there for two second and then there is a very short sequence (like half a second) and it's not moving again. Also the first 40 encoded frames, return 0 (SUCCESS) but got_packet_ptr is 0.</div>

<div><br></div><div>So this is how I create the video with its header:</div><div><br></div><div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,128)">AVCodec</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style>codec</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>avcodec_find_encoder<span style>(</span><span style>oformat</span><span style>-></span><span style="color:rgb(128,0,0)">video_codec</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>avcodec_alloc_context3<span style>(</span><span style>codec</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">gop_size</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">30</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">sample_fmt</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">AV_SAMPLE_FMT_NONE</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">bit_rate</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>width</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>height</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>width</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">height</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>height</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">time_base</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(128,0,128)">AVRational</span><span style>){</span><span style="color:rgb(0,0,128)">1</span><span style>,</span><span style>frameRate</span><span style>};</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">pix_fmt</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>AV_PIX_FMT_YUV420P<span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">formatCtx</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>avformat_alloc_context<span style>();</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,128,0)">if</span><span style>(!</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>)</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>{</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">           </span>printf<span style>(</span><span style="color:rgb(0,128,0)">"Error</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">allocating</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">format</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">context\n"</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>}</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">formatCtx</span><span style>-></span><span style="color:rgb(128,0,0)">oformat</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>oformat</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,0)">formatCtx</span><span style>-></span><span style="color:rgb(128,0,0)">video_codec_id</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>oformat</span><span style>-></span><span style="color:rgb(128,0,0)">video_codec</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>snprintf<span style>(</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>-></span><span style="color:rgb(128,0,0)">filename</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">sizeof</span><span style>(</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>-></span><span style="color:rgb(128,0,0)">filename</span><span style>),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"%s"</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>outputFileName</span><span style>.</span>toStdString<span style>().</span>c_str<span style>());</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,128)">AVStream</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style>videoStream</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>av_new_stream<span style>(</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,128,0)">if</span><span style>(!</span><span style>videoStream</span><span style>)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>{</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">           </span>printf<span style>(</span><span style="color:rgb(0,128,0)">"Could</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">not</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">allocate</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">stream\n"</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>}</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>videoStream</span><span style>-></span><span style="color:rgb(128,0,0)">codec</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,128,0)">if</span><span style>(</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>-></span><span style="color:rgb(128,0,0)">oformat</span><span style>-></span><span style="color:rgb(128,0,0)">flags</span><span style="color:rgb(192,192,192)"> </span><span style>&</span><span style="color:rgb(192,192,192)"> </span>AVFMT_GLOBALHEADER<span style>)</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>{</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">           </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">flags</span><span style="color:rgb(192,192,192)"> </span><span style>|=</span><span style="color:rgb(192,192,192)"> </span>CODEC_FLAG_GLOBAL_HEADER<span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>}</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>avcodec_open2<span style>(</span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>codec</span><span style>,</span><span style="color:rgb(192,192,192)"> </span>NULL<span style>)</span><font color="#c0c0c0">;</font></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>avio_open<span style>(&</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>-></span><span style="color:rgb(128,0,0)">pb</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>outputFileName</span><span style>.</span>toStdString<span style>().</span>c_str<span style>(),</span><span style="color:rgb(192,192,192)"> </span>AVIO_FLAG_WRITE<span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>avformat_write_header<span style>(</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>,</span><span style="color:rgb(192,192,192)"> </span>NULL<span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style>and this is how I add the frames:</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style><br>
</span></pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,128)">AVFrame</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style>frame</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>avcodec_alloc_frame<span style>();</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style>size</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">height</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style>numBytes</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>avpicture_get_size<span style>(</span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">pix_fmt</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">height</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,128)">QSharedPointer</span><span style><</span><span style="color:rgb(128,0,128)">BlendImage</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>img</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>imageData</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,128)">uint8_t</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style>outbuf</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(128,0,128)">uint8_t</span><span style="color:rgb(192,192,192)"> </span><span style>*)</span>malloc<span style>(</span><span style>numBytes</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,0,128)">uint8_t</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style>picture_buf</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(128,0,128)">uint8_t</span><span style="color:rgb(192,192,192)"> </span><span style>*)</span>av_malloc<span style>(</span><span style>numBytes</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style="color:rgb(128,128,0)">if</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(128,128,0)">true</span><span style>)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>{</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style>ret</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>av_image_fill_arrays<span style>(</span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">linesize</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>picture_buf</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">pix_fmt</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">height</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>picture_buf</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>size</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>[</span><span style="color:rgb(0,0,128)">2</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>size</span><span style>/</span><span style="color:rgb(0,0,128)">4</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">linesize</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">linesize</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style>/</span><span style="color:rgb(0,0,128)">2</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">linesize</span><span style>[</span><span style="color:rgb(0,0,128)">2</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style>/</span><span style="color:rgb(0,0,128)">2</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span>fflush<span style>(</span>stdout<span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style="color:rgb(128,128,0)">for</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style>y</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style>;</span><span style="color:rgb(192,192,192)"> </span><span style>y</span><span style="color:rgb(192,192,192)"> </span><span style><</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">height</span><span style>;</span><span style="color:rgb(192,192,192)"> </span><span style>y</span><span style>++)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>{</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span><span style="color:rgb(128,128,0)">for</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style>;</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style="color:rgb(192,192,192)"> </span><span style><</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style>;</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style>++)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span><span style>{</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style="color:rgb(128,128,0)">unsigned</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">char</span><span style="color:rgb(192,192,192)"> </span><span style>b</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>img</span><span style>-></span>bits<span style>()[(</span><span style>y</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style>];</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style="color:rgb(128,128,0)">unsigned</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">char</span><span style="color:rgb(192,192,192)"> </span><span style>g</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>img</span><span style>-></span>bits<span style>()[(</span><span style>y</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1</span><span style>];</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style="color:rgb(128,128,0)">unsigned</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">char</span><span style="color:rgb(192,192,192)"> </span><span style>r</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>img</span><span style>-></span>bits<span style>()[(</span><span style>y</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">width</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">2</span><span style>];</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style="color:rgb(128,128,0)">unsigned</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">char</span><span style="color:rgb(192,192,192)"> </span><span style>Y</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0.257</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>r</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0.504</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>g</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0.098</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>b</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">16</span><font color="#000000">;</font></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>][</span><span style>y</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">linesize</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>Y</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style="color:rgb(128,128,0)">if</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style>y</span><span style="color:rgb(192,192,192)"> </span><span style>%</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">2</span><span style="color:rgb(192,192,192)"> </span><span style>==</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(192,192,192)"> </span><span style>&&</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style="color:rgb(192,192,192)"> </span><span style>%</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">2</span><span style="color:rgb(192,192,192)"> </span><span style>==</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style>)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style>{</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                        </span><span style="color:rgb(128,128,0)">unsigned</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">char</span><span style="color:rgb(192,192,192)"> </span><span style>V</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0.439</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>r</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>-</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0.368</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>g</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>-</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0.071</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>b</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">128</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                        </span><span style="color:rgb(128,128,0)">unsigned</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">char</span><span style="color:rgb(192,192,192)"> </span><span style>U</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>-(</span><span style="color:rgb(0,0,128)">0.148</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>r</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>-</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0.291</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>g</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0.439</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>b</span><span style>)</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">128</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                        </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>][</span><span style>y</span><span style>/</span><span style="color:rgb(0,0,128)">2</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">linesize</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style>/</span><span style="color:rgb(0,0,128)">2</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>U</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                        </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">data</span><span style>[</span><span style="color:rgb(0,0,128)">2</span><span style>][</span><span style>y</span><span style>/</span><span style="color:rgb(0,0,128)">2</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style="color:rgb(192,192,192)"> </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">linesize</span><span style>[</span><span style="color:rgb(0,0,128)">2</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>+</span><span style="color:rgb(192,192,192)"> </span><span style>x</span><span style>/</span><span style="color:rgb(0,0,128)">2</span><span style>]</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>V</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style>}</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">               </span><span style>}</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>}</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style>pts</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">(1.0</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">/</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">30.0)</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">9000.0</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">*</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">frameIndex;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>frame</span><span style>-></span><span style="color:rgb(128,0,0)">pts</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>pts</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style>got_packet_ptr</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style="color:rgb(128,0,128)">AVPacket</span><span style="color:rgb(192,192,192)"> </span><span style>packet</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span>av_init_packet<span style>(&</span><span style>packet</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">data</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>outbuf</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">size</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>numBytes</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">stream_index</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">formatCtx</span><span style>-></span><span style="color:rgb(128,0,0)">streams</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>]-></span><span style="color:rgb(128,0,0)">index</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">flags</span><span style="color:rgb(192,192,192)"> </span><span style>|=</span><span style="color:rgb(192,192,192)"> </span>AV_PKT_FLAG_KEY<span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">pts</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">dts</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>pts</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">coded_frame</span><span style>-></span><span style="color:rgb(128,0,0)">pts</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>pts</span><span style>;</span><span style="color:rgb(192,192,192)"> </span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>ret</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>avcodec_encode_video2<span style>(</span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>&</span><span style>packet</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>frame</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>&</span><span style>got_packet_ptr</span><span style>);</span></pre>

<br>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style="color:rgb(128,128,0)">if</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style>got_packet_ptr</span><span style="color:rgb(192,192,192)"> </span><span style>!=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style>)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>{</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">coded_frame</span><span style>-></span><span style="color:rgb(128,0,0)">pts</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>pts</span><span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span><span style="color:rgb(128,128,0)">if</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">coded_frame</span><span style>-></span><span style="color:rgb(128,0,0)">pts</span><span style="color:rgb(192,192,192)"> </span><span style>!=</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(0,0,128)">0x8000000000000000LL</span><span style>))</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                    </span><span style>pts</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span>av_rescale_q<span style>(</span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">coded_frame</span><span style>-></span><span style="color:rgb(128,0,0)">pts</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">time_base</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">formatCtx</span><span style>-></span><span style="color:rgb(128,0,0)">streams</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>]-></span><span style="color:rgb(128,0,0)">time_base</span><span style>);</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                   </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">pts</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>pts</span><span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span><span style="color:rgb(128,128,0)">if</span><span style>(</span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>-></span><span style="color:rgb(128,0,0)">coded_frame</span><span style>-></span><span style="color:rgb(128,0,0)">key_frame</span><span style>)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span><span style>{</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                   </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">flags</span><span style="color:rgb(192,192,192)"> </span><span style>|=</span><span style="color:rgb(192,192,192)"> </span>AV_PKT_FLAG_KEY<span style>;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span><span style>}</span></pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">
<span style="color:rgb(192,192,192)">                </span><span style="color:rgb(128,0,128)">std</span><span style>::</span>cout<span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"pts:</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">pts</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">",</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">dts:</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)">  </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style>packet</span><span style>.</span><span style="color:rgb(128,0,0)">dts</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>::</span>endl<span style>;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span>av_interleaved_write_frame<span style>(</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>&</span><span style>packet</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">                </span>av_free_packet<span style>(&</span><span style>packet</span><span style>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">            </span><span style>}</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span><span style>}</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>free<span style>(</span><span style>picture_buf</span><span style>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>free<span style>(</span><span style>outbuf</span><span style>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>av_free<span style>(</span><span style>frame</span><span style>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style>and of course in the end:</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>av_write_trailer<span style>(</span><span style="color:rgb(128,0,0)">formatCtx</span><span style>);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>fclose<span style>(</span><span style="color:rgb(128,0,0)">m_file</span><span style>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>avcodec_close<span style>(</span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">        </span>av_free<span style>(</span><span style="color:rgb(128,0,0)">m_codecContext</span><span style>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style>I think this has something to do with the PTS/DTS values. PTS values start at 120 (as the first 40 frames are omitted) and are increased by 3 (</span><span style="font-family:arial;color:rgb(0,128,0)">(1.0</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,128,0)">/</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,128,0)">30.0)</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,128,0)">*</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,128,0)">9000.0</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,128,0)">*</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,128,0)">frameIndex)</span><span style="font-family:arial"> and the DTS values start at -6 also being increased by 3 per frame. But it might also be the settings or anything else. I feel like I have tried everything I was able to find on the internet and it's still wrong. </span><span style="font-family:arial">I am desperate, help would be soooo appreciated!</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial"><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial">Cheers,</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial">Marika</span></pre></pre></pre></div></div>
</blockquote></div><br></div></div>