<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px;white-space:nowrap">Hi Dolevo Jay,</span><br><div><span style="font-family:arial,sans-serif;font-size:13px;font-weight:bold;white-space:nowrap"><br>
</span></div><div><span style="font-family:arial,sans-serif;font-size:13px;white-space:nowrap">i have a quastion for you</span><span style="font-family:arial,sans-serif;font-size:13px;font-weight:bold;white-space:nowrap">: </span><span style="font-family:arial,sans-serif;font-size:13px;white-space:nowrap">also</span><span style="font-family:arial,sans-serif;font-size:13px"> i am writing a C program that use h264 to encode video read from file.</span></div>
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">I saw the example decoding_encoding.c that generates a video from dummy pictures... but how do I replace this part and read and encode my video? </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">Can you help me, there are other examples or books available?</span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">Thanks!!!</span></div><div class="gmail_extra"><br>
<br><div class="gmail_quote">2013/10/14 Dolevo Jay <span dir="ltr"><<a href="mailto:cmst@live.com" target="_blank">cmst@live.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div><div dir="ltr">Hi all,<br><br>I have encoder and decoder application in separate projects. I use x264 to encode the incoming frames and use libav to decode them. If the frame has a specific resolution like 1366 x 768, the decode frame contains extra black border at the right side of the frame. I have debugged it and realized that the <span style="color:#800000">av_pic.linesize[0] is 50 more than the linesize during the encoding. <br>
Here is the code:</span><br><br><span style="color:#c0c0c0">              </span><span style>lengthDec</span><span style="color:#c0c0c0"> </span><span style>=</span><span style="color:#c0c0c0"> </span><span style>avcodec_decode_video2</span><span style>(</span><span style="color:#800000">c1</span><span style>,</span><span style="color:#c0c0c0"> </span><span style="color:#800000">av_pic</span><span style>,</span><span style="color:#c0c0c0"> </span><span style>&</span><span style>pic</span><span style>,</span><span style="color:#c0c0c0"> </span><span style>&</span><span style="color:#800000">pkt</span><span style>);</span><pre style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">
<span style="color:#c0c0c0">    </span><span style="color:#808000">if</span><span style="color:#c0c0c0"> </span><span style>(</span><span style>pic</span><span style>)<br>       {<br></span>       <span style>avpicture_fill</span><span style>((</span><span style="color:#800080">AVPicture</span><span style="color:#c0c0c0"> </span><span style>*)</span><span style="color:#c0c0c0">rgbFrame</span><span style></span><span style>,</span><span style="color:#c0c0c0"> RGB</span><span style>img</span><span style>,</span><span style="color:#c0c0c0"> </span><span style="color:#000080">PIX_FMT_RGB32</span><span style>,</span><span style="color:#c0c0c0"> w</span><span style>,</span><span style="color:#c0c0c0"> h</span><span style>);</span><br>
</pre>

<pre style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="color:#c0c0c0">       </span><span style>sws_scale</span><span style>(</span><span style="color:#800000">ctx</span><span style>,</span><span style="color:#c0c0c0"> </span><span style="color:#800000">av_pic</span><span style>-></span><span style="color:#800000">data</span><span style>,</span><span style="color:#c0c0c0"> </span><span style="color:#800000">av_pic</span><span style>-></span><span style="color:#800000">linesize</span><span style>,</span><span style="color:#c0c0c0"> </span><span style="color:#000080">0</span><span style>,</span><span style="color:#c0c0c0"> h</span><span style>,</span><span style="color:#c0c0c0"> rgbFrame</span><span style>-></span><span style="color:#800000">data</span><span style>,</span><span style="color:#c0c0c0"> </span><span style="color:#c0c0c0">rgbFrame</span><span style></span><span style>-></span><span style="color:#800000">linesize</span><span style>);</span><span style><br>
       }<br><br>So, in this code, I decode the packet and convert the decoded data into the rgb. <br>Why does the </span><span style="color:#c0c0c0"></span><span style>avcodec_decode_video2</span><span style="color:#800000"> returns a padded linesize?<br>
</span><span style>Could anyone tell me how I can eliminate the black border?<br><br>Thanks.<br></span></pre><span style></span><br><br>                                        </div></div>
<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>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Francesco Damato
</div>