Hi Chris,<div><br>You can implement some kind of function like:</div><div><br></div><div>// dependencies into C++ </div><div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#ffff55">extern</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff">"C"</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">{</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#5555ff">#include</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff"><libavformat/avformat.h></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#5555ff">#include</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff"><libswscale/swscale.h></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#5555ff">#include</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff"><libavutil/pixdesc.h></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#5555ff">#include</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff"><libavutil/samplefmt.h></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#5555ff">#include</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff"><libavutil/intreadwrite.h></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#aaaaaa">}</span></pre></div><div><br></div><div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">/**</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">This</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">function</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">converts</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">an</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">(uncompressed</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">buffer)</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">from</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">an</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">input</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">specified</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">pixel</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">format</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">to</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">an</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">output</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">specified</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">pixel</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">format</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">and</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">buffer.</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">dependencies</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">LibAV.</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@param</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">[in]</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">eInFormat</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">input</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">Pixel</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">format</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@see</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">LibaAV</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">PixelFormat</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">enum</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">type.</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@param</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">[in]</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">iInWidth</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">input</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">width</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@param</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">[in]</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">iInHeight</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">input</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">height</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@param</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">[in]</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">ptInData</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">input</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">buffer</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@param</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">[in]</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">eOutFormat</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">output</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">Pixel</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">format</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@see</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">LibaAV</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">PixelFormat</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">enum</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">type.</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@param</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">[in]</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">iOutWidth</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">output</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">width</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@param</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">[in]</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">iOutHeight</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">output</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">height</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@param</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">[out]</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">src</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">output</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">image</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">buffer</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  *</span><span style="color:#c0c0c0"> </span><span style="color:#00a0a0">@return</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">true</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">if</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">everything</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">was</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">correct,</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">false</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">otherwise)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">  **/</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#ffff55">bool</span><span style="color:#c0c0c0"> </span>ConvertImage1<span style="color:#aaaaaa">(</span><span style="color:#55ff55">PixelFormat</span><span style="color:#c0c0c0"> </span>eInFormat<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#ffff55">int</span><span style="color:#c0c0c0"> </span>iInWidth<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#ffff55">int</span><span style="color:#c0c0c0"> </span>iInHeight<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#ffff55">void</span><span style="color:#aaaaaa">*</span><span style="color:#c0c0c0"> </span>ptInData<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#55ff55">PixelFormat</span><span style="color:#c0c0c0"> </span>eOutFormat<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#ffff55">int</span><span style="color:#c0c0c0"> </span>iOutWidth<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#ffff55">int</span><span style="color:#c0c0c0"> </span>iOutHeight<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#55ff55">AVPicture</span><span style="color:#aaaaaa">*</span><span style="color:#c0c0c0"> </span>src<span style="color:#aaaaaa">)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#aaaaaa">{</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ff55">SwsContext</span><span style="color:#aaaaaa">*</span><span style="color:#c0c0c0"> </span>ptImgConvertCtx<span style="color:#aaaaaa">;</span><span style="color:#c0c0c0">    </span><span style="color:#55ffff">// Frame conversion context</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ff55">AVPicture</span><span style="color:#c0c0c0"> </span>ptPictureIn<span style="color:#aaaaaa">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ff55">uint8_t</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">*</span><span style="color:#c0c0c0"> </span>ptBufferIn<span style="color:#aaaaaa">;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">//Initialize convert context</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">//------------------</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>ptImgConvertCtx<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">=</span><span style="color:#c0c0c0"> </span>sws_getContext<span style="color:#aaaaaa">(</span>iInWidth<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>iInHeight<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>eInFormat<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0">     </span><span style="color:#55ffff">// (source format)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                                     </span>iOutWidth<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>iOutHeight<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>eOutFormat<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0">  </span><span style="color:#55ffff">// (dest format)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                                     </span><span style="color:#5555ff">SWS_BICUBIC</span><span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#5555ff">NULL</span><span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#5555ff">NULL</span><span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#5555ff">NULL</span><span style="color:#aaaaaa">);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">// Init input frame:</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">//------------------</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">// Allocate an AVFrame structure</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">// Determine required buffer size and allocate buffer</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">// int iNumBytesIn=avpicture_get_size(eInFormat, iInWidth,iInHeight);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>ptBufferIn<span style="color:#aaaaaa">=(</span><span style="color:#55ff55">uint8_t</span><span style="color:#aaaaaa">*)(</span>ptInData<span style="color:#aaaaaa">);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">// Assign appropriate parts of buffer to image planes in pFrameOut</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>avpicture_fill<span style="color:#aaaaaa">(&</span>ptPictureIn<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>ptBufferIn<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>eInFormat<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>iInWidth<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>iInHeight<span style="color:#aaaaaa">);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">// Do conversion:</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">//------------------</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#ffff55">int</span><span style="color:#c0c0c0"> </span>iRes<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">=</span><span style="color:#c0c0c0"> </span>sws_scale<span style="color:#aaaaaa">(</span>ptImgConvertCtx<span style="color:#aaaaaa">,</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                        </span>ptPictureIn<span style="color:#aaaaaa">.</span>data<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span><span style="color:#55ffff">//src</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                        </span>ptPictureIn<span style="color:#aaaaaa">.</span>linesize<span style="color:#aaaaaa">,</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                        </span><span style="color:#ff55ff">0</span><span style="color:#aaaaaa">,</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                        </span>iInHeight<span style="color:#aaaaaa">,</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                        </span>src<span style="color:#aaaaaa">-></span>data<span style="color:#aaaaaa">,</span><span style="color:#55ffff">//dst</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                        </span>src<span style="color:#aaaaaa">-></span>linesize<span style="color:#aaaaaa">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">//Free memory</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>sws_freeContext<span style="color:#aaaaaa">(</span>ptImgConvertCtx<span style="color:#aaaaaa">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#55ffff">//Check result:</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#ffff55">if</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">(</span>iRes<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">==</span><span style="color:#c0c0c0"> </span>iOutHeight<span style="color:#aaaaaa">)</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#ffff55">return</span><span style="color:#c0c0c0"> </span><span style="color:#ffff55">true</span><span style="color:#aaaaaa">;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#ffff55">return</span><span style="color:#c0c0c0"> </span><span style="color:#ffff55">false</span><span style="color:#aaaaaa">;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#aaaaaa">}</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:#aaaaaa"><br></span></pre><pre style="margin-top:0px;margin-bottom:0px">
<font face="arial, helvetica, sans-serif">And use it like this (in this example is used to downscale, but you can use it for rescaling and or pixel format conversions)</font></pre><pre style="margin-top:0px;margin-bottom:0px">
<font face="arial, helvetica, sans-serif"><br></font></pre><pre style="margin-top:0px;margin-bottom:0px">
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#55ffff">// Downscale</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#55ff55">AVPicture</span><span style="color:#c0c0c0"> </span>src<span style="color:#aaaaaa">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#ffff55">int</span><span style="color:#c0c0c0"> </span>iWidth<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">=</span><span style="color:#c0c0c0"> </span>m_ptCurrentVideoMode<span style="color:#aaaaaa">-></span>getWidth<span style="color:#aaaaaa">()</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">/</span><span style="color:#c0c0c0"> </span>DL_LOW_DEFINITION_DEN<span style="color:#aaaaaa">;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#ffff55">int</span><span style="color:#c0c0c0"> </span>iHeight<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">=</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">(</span>m_ptCurrentVideoMode<span style="color:#aaaaaa">-></span>getHeight<span style="color:#aaaaaa">()</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">*</span><span style="color:#c0c0c0">  </span>iWidth<span style="color:#aaaaaa">)</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">/</span><span style="color:#c0c0c0"> </span>m_ptCurrentVideoMode<span style="color:#aaaaaa">-></span>getWidth<span style="color:#aaaaaa">();</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>iWidth<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">=</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">(</span>floor<span style="color:#aaaaaa">(</span>iWidth<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">/</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff">2</span><span style="color:#aaaaaa">))</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">*</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff">2</span><span style="color:#aaaaaa">;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>iHeight<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">=</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">(</span>floor<span style="color:#aaaaaa">(</span>iHeight<span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">/</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff">2</span><span style="color:#aaaaaa">))</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">*</span><span style="color:#c0c0c0"> </span><span style="color:#ff55ff">2</span><span style="color:#aaaaaa">;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>avpicture_alloc<span style="color:#aaaaaa">(&</span>src<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>AV_PIX_FMT_UYVY422<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>iWidth<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>iHeight<span style="color:#aaaaaa">);</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#ffff55">if</span><span style="color:#aaaaaa">(!</span>ConvertImage1<span style="color:#aaaaaa">(</span>AV_PIX_FMT_UYVY422<span style="color:#aaaaaa">,</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                     </span>m_ptCurrentVideoMode<span style="color:#aaaaaa">-></span>getWidth<span style="color:#aaaaaa">(),</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                     </span>m_ptCurrentVideoMode<span style="color:#aaaaaa">-></span>getHeight<span style="color:#aaaaaa">(),</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                     </span><span style="color:#aaaaaa">(</span><span style="color:#ffff55">void</span><span style="color:#c0c0c0"> </span><span style="color:#aaaaaa">*)</span>ptBuffer<span style="color:#aaaaaa">,</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                     </span>AV_PIX_FMT_UYVY422<span style="color:#aaaaaa">,</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                     </span>iWidth<span style="color:#aaaaaa">,</span><span style="color:#c0c0c0"> </span>iHeight<span style="color:#aaaaaa">,</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                     </span><span style="color:#aaaaaa">&</span>src<span style="color:#aaaaaa">))</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#aaaaaa">{</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            </span>avpicture_free<span style="color:#aaaaaa">(&</span>src<span style="color:#aaaaaa">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            </span><span style="color:#ffff55">return</span><span style="color:#aaaaaa">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#aaaaaa">}</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:#aaaaaa"><br></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#aaaaaa">// ... whatever ...</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:#55ffff">// Free aux frame</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>avpicture_free<span style="color:#aaaaaa">(&</span>src<span style="color:#aaaaaa">);</span></pre></pre><pre style="margin-top:0px;margin-bottom:0px">
<span style="color:#aaaaaa"><br></span></pre></pre>I hope it helps!</div><div><br><div class="gmail_quote">On Thu, Feb 14, 2013 at 10:00 AM, Chris Share <span dir="ltr"><<a href="mailto:cpsmusic@yahoo.com" target="_blank">cpsmusic@yahoo.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I'm currently trying to implement file export for the open source animation program Pencil2D. This involves converting RGB (0 - 255) image data to a suitable movie format.<br>
<br>
The examples in the source tree have been very helpful however I still have some questions:<br>
<br>
The scaling_video.c is close to what I need however the conversion is the opposite of what I want. What I'm not clear about is how to change the "fill_yuv_image" function to something like "fill_rgb_image". How does the RGB data get written into the "uint8_t *data[4]"? Is it written consecutively (all R values get written to data[0], all G values to data[1], etc.)?<br>

<br>
Cheers,<br>
<br>
Chris<br>
_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a><br>
</blockquote></div><br></div>