Hi,<div>Thanks for great guide, I continue working for the task and find more problems, could you help a hand ?</div><div><span style="font-family:arial,helvetica,sans-serif">I am porting VLC on </span><a href="http://rhombus-tech.net/allwinner_a10/hacking_the_mele_a1000/" style="font-family:arial,helvetica,sans-serif">http://rhombus-tech.net/allwinner_a10/hacking_the_mele_a1000/</a><span style="font-family:arial,helvetica,sans-serif"> ARM board using Qt & Linux.</span></div>
<div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">1. VLC<span style="background-color:rgb(255,255,255)"> picture pool size problem.</span></font></div><div>
<font face="arial, helvetica, sans-serif"> VLC picture <span style="background-color:rgb(255,255,255)">pool minimum </span><span style="background-color:rgb(255,255,255)">size</span> <span style="background-color:rgb(255,255,255)">is 20 to keep DRI feature by default, if pool size below the value, VLC using memory copy instead of DRI, but hardware decoder can only provide 12 picture from system memory maximum </span><span style="background-color:rgb(255,255,255)">for 1080p video</span><span style="background-color:rgb(255,255,255)">, and I using the buffer direct set to fb to improve performance, </span><span style="background-color:rgb(255,255,255)">How can I keep DRI feature and reduce the pool size less than 20? and I found VLC does not release picture pool and drop some frame before display sometime, so the buffer return to decoder is delayed, I think the root cause maybe the pool size problem.</span></font></div>
<div><span style="font-family:'Times New Roman';font-size:medium;background-color:rgb(255,255,255)"><br></span></div><div><font face="arial, helvetica, sans-serif"><span style="background-color:rgb(255,255,255)">2. VLC pts caculation</span></font></div>
<div><span style="background-color:rgb(255,255,255)"><font face="arial, helvetica, sans-serif"> If I do not use ffmpeg, VLC native demux PTS always be zero for many video files, but ffmpeg demux PTS value output is right, even in seek. So which module has responsibility to calculate PTS ? If the module is decoder, such as A10 HW decoder plugin, it's need to know video container type such as AVI / MOV / MKV etc, How can I get container info decode module?</font></span></div>
<div><span style="background-color:rgb(255,255,255)"><font face="arial, helvetica, sans-serif"><br></font></span></div><div><span style="background-color:rgb(255,255,255)"><font face="arial, helvetica, sans-serif">Many thanks.</font></span></div>
<div><font face="arial, helvetica, sans-serif">Regards,</font></div><div><font face="arial, helvetica, sans-serif">Aaron</font></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><br></div><div><br></div></blockquote></div></div><br><div class="gmail_quote">2012/7/31 Rémi Denis-Courmont <span dir="ltr"><<a href="mailto:remi@remlab.net" target="_blank">remi@remlab.net</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Le mardi 31 juillet 2012 17:06:52 Hong Aaron, vous avez écrit :<br>
<div class="im">> As i am using HW decoder, So I raise the decoder thread<br>
> priority to high priority( above input and gui thread, but below display<br>
> thread), and I tested for decoding time for each frame cost about 12ms,<br>
> btw, I set file cache to 5 second.<br>
<br>
</div>Increasing cache may cause more problems than it solves. Depending on the<br>
frame rate, 12 picture buffers obviously, the cache should be less than half a<br>
second... Otherwise, the decoder will constantly run out of output buffers.<br>
<br>
I do not recall very well what the video output logic is, but basically:<br>
- either the decoder will wait for buffers, nullifying the long file cache,<br>
- or the decoder will allocate extra picture buffers in anonymous memory,<br>
increasing overhead for the video output rendering.<br>
<div class="im"><br>
> I want confirm with you guys, Is raising decoder thread priority for HW<br>
> decoder and and event flag for decoder to wait method reasonable ?<br>
<br>
</div>I don't think it will have any meaningful effects. Your mileage may vary.<br>
<br>
In any case, it won't have any effect at all unless VLC has sufficient<br>
privileges to raise thread priority above SCHED_OTHER.<br>
<div class="im"><br>
> Is there any side effect ? Any hint to solve the drop frame problem ?<br>
<br>
</div>In principle, it will favor video decoding over the rest. It might affect<br>
audio and UI negatively, and even the input and video output threads. Thus it<br>
might in fact be worse rather than better.<br>
<br>
There is no generic answer to solving frame drop. You'd need to find what is<br>
actually causing the drop, e.g. memory/bus congestion, CPU starvation, etc.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Rémi Denis-Courmont<br>
<a href="http://www.remlab.net/" target="_blank">http://www.remlab.net/</a><br>
<a href="http://fi.linkedin.com/in/remidenis" target="_blank">http://fi.linkedin.com/in/remidenis</a><br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
vlc-devel mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="http://mailman.videolan.org/listinfo/vlc-devel" target="_blank">http://mailman.videolan.org/listinfo/vlc-devel</a><br>
</div></div></blockquote></div><br></div>