<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi,<br><br>What kind of file you are going to read? <br>Regards,<br><br><div><hr id="stopSpelling">Date: Tue, 15 Oct 2013 00:49:14 +0200<br>From: francesco.damato7@gmail.com<br>To: libav-user@ffmpeg.org<br>Subject: Re: [Libav-user] Applied pad on the decoded frame<br><br><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="ecxgmail_extra"><br>
<br><div class="ecxgmail_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="ecxgmail_quote" style="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>lengthDec</span><span style="color:#c0c0c0;"> </span><span>=</span><span style="color:#c0c0c0;"> </span><span>avcodec_decode_video2</span><span>(</span><span style="color:#800000;">c1</span><span>,</span><span style="color:#c0c0c0;"> </span><span style="color:#800000;">av_pic</span><span>,</span><span style="color:#c0c0c0;"> </span><span>&</span><span>pic</span><span>,</span><span style="color:#c0c0c0;"> </span><span>&</span><span style="color:#800000;">pkt</span><span>);</span><pre style="text-indent:0px;"><span style="color:#c0c0c0;">    </span><span style="color:#808000;">if</span><span style="color:#c0c0c0;"> </span><span>(</span><span>pic</span><span>)<br>       {<br></span>       <span>avpicture_fill</span><span>((</span><span style="color:#800080;">AVPicture</span><span style="color:#c0c0c0;"> </span><span>*)</span><span style="color:#c0c0c0;">rgbFrame</span><span></span><span>,</span><span style="color:#c0c0c0;"> RGB</span><span>img</span><span>,</span><span style="color:#c0c0c0;"> </span><span style="color:#000080;">PIX_FMT_RGB32</span><span>,</span><span style="color:#c0c0c0;"> w</span><span>,</span><span style="color:#c0c0c0;"> h</span><span>);</span><br>
</pre>

<pre style="text-indent:0px;"><span style="color:#c0c0c0;">       </span><span>sws_scale</span><span>(</span><span style="color:#800000;">ctx</span><span>,</span><span style="color:#c0c0c0;"> </span><span style="color:#800000;">av_pic</span><span>-></span><span style="color:#800000;">data</span><span>,</span><span style="color:#c0c0c0;"> </span><span style="color:#800000;">av_pic</span><span>-></span><span style="color:#800000;">linesize</span><span>,</span><span style="color:#c0c0c0;"> </span><span style="color:#000080;">0</span><span>,</span><span style="color:#c0c0c0;"> h</span><span>,</span><span style="color:#c0c0c0;"> rgbFrame</span><span>-></span><span style="color:#800000;">data</span><span>,</span><span style="color:#c0c0c0;"> </span><span style="color:#c0c0c0;">rgbFrame</span><span></span><span>-></span><span style="color:#800000;">linesize</span><span>);</span><span><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>avcodec_decode_video2</span><span style="color:#800000;"> returns a padded linesize?<br>
</span><span>Could anyone tell me how I can eliminate the black border?<br><br>Thanks.<br></span></pre><span></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>
<br>_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user</div>                                         </div></body>
</html>