<div dir="ltr">Could be.<div><br></div><div>With JPEG, if you wanted to go crazy, you could perhaps decompress each macroblock on a separate thread...</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 10, 2015 at 9:46 AM, Renaud BOBIN <span dir="ltr"><<a href="mailto:renaud.bobin@subsea-tech.com" target="_blank">renaud.bobin@subsea-tech.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="FR" link="blue" vlink="purple"><div><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">That’s is why on MJPEG there is no latency ?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Frame N doesn’t depend on N-1 nor N+1 so  each thread is independent ?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">De :</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:libav-user-bounces@ffmpeg.org" target="_blank">libav-user-bounces@ffmpeg.org</a> [mailto:<a href="mailto:libav-user-bounces@ffmpeg.org" target="_blank">libav-user-bounces@ffmpeg.org</a>] <b>De la part de</b> Robin Stevens<br><b>Envoyé :</b> mardi 10 février 2015 10:33<span class=""><br><b>À :</b> This list is about using libavcodec, libavformat, libavutil, libavdevice and libavfilter.<br><b>Objet :</b> Re: [Libav-user] Real time camera IP RTSP H264<u></u><u></u></span></span></p></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><br></p><div><div class="h5"><br>On Tuesday, February 10, 2015, Maziar Mehrabi <<a href="mailto:maziar.mehrabi@gmail.com" target="_blank">maziar.mehrabi@gmail.com</a>> wrote:<u></u><u></u></div></div><p></p><div><div class="h5"><div><div><div><div><div><p class="MsoNormal" style="margin-bottom:12.0pt">Hi,<u></u><u></u></p></div><p class="MsoNormal">I wonder why multithreading causes latency.<u></u><u></u></p></div><p class="MsoNormal">My understanding is that having concurrent threads should improve performance.<u></u><u></u></p></div><p class="MsoNormal" style="margin-bottom:12.0pt">Is there any explanation for this?<u></u><u></u></p></div><p class="MsoNormal">Thanks,<u></u><u></u></p><div><div><p class="MsoNormal"><u></u> <u></u></p></div></div></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Without any knowledge of the code in question: concurrency can increase overall throughput (for particular kinds of task) but increased latency is a common payoff.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Imagine each thread as a separate decoder with carefully controlled access to some common data/state. To fully decode the Nth frame probably requires at least a partial decode (possibly a complete decode) of the N-1 frame. Therefore although the decoding for the Nth frame may happen on a separate processor core, it's likely not truly independent of the other cores.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">So if you have 4 threads, T4 is waiting on T3, which is waiting on T2 and on T1. Even though T1 may have finished frame 1, it probably can't fully decode frame 5 until 4 is available from T4...<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">But that's just my guess!<u></u><u></u></p></div></div></div></div>
<br><br>
<hr style="border:none;color:#909090;background-color:#b0b0b0;min-height:1px;width:99%">
<table style="border-collapse:collapse;border:none">
        <tbody><tr>
                <td style="border:none;padding:0px 15px 0px 8px">
                        <a href="http://www.avast.com/" target="_blank">
                                <img border="0" src="http://static.avast.com/emails/avast-mail-stamp.png">
                        </a>
                </td>
                <td>
                        <p style="color:#3d4d5a;font-family:"Calibri","Verdana","Arial","Helvetica";font-size:12pt">
                                Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection <a href="http://www.avast.com/" target="_blank">Antivirus avast!</a> est active.
                        </p>
                </td>
        </tr>
</tbody></table>
<br>
</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></div>