<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Why is Kodi able to play everything without any issues, and Myth can't<br>
under the same conditions? Just curious.<br><br></blockquote><div><br></div><div>I will quote Lawrence Rust (who was largely responsible for getting myth support on the Pi) </div><div><br></div><div>From 12/1/15 thread titled Mythtv Raspberry Pi2 frontend testers:</div><div><br></div><div><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">I believe<span class="inbox-inbox-Apple-converted-space"> </span></span><span class="inbox-inbox-lG" style="outline:transparent dashed 1px;color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px;background-color:rgba(251,246,167,0.498039)">Kodi</span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span class="inbox-inbox-Apple-converted-space"> </span></span><span class="inbox-inbox-lG" style="outline:transparent dashed 1px;color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px;background-color:rgba(251,246,167,0.498039)">borrowed</span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span class="inbox-inbox-Apple-converted-space"> </span></span><span class="inbox-inbox-lG" style="outline:transparent dashed 1px;color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px;background-color:rgba(251,246,167,0.498039)">from</span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span class="inbox-inbox-Apple-converted-space"> </span></span><span class="inbox-inbox-lG" style="outline:transparent dashed 1px;color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px;background-color:rgba(251,246,167,0.498039)">omxplayer</span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span class="inbox-inbox-Apple-converted-space"> </span>which uses a single OpenMAX </span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">pipeline<span class="inbox-inbox-Apple-converted-space"> </span></span><span class="inbox-inbox-lG" style="outline:transparent dashed 1px;color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px;background-color:rgba(251,246,167,0.498039)">from</span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span class="inbox-inbox-Apple-converted-space"> </span>decoder to video renderer which shares buffers and avoids </span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">copying. Myth currently requires the separation of the decoder<span class="inbox-inbox-Apple-converted-space"> </span></span><span class="inbox-inbox-lG" style="outline:transparent dashed 1px;color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px;background-color:rgba(251,246,167,0.498039)">from</span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span class="inbox-inbox-Apple-converted-space"> </span>the </span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">renderer and so causes two video buffer copies - one each for the GPU </span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">and CPU. For a 1920x1080 frame this is a significant burden that causes </span><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">memory contention.</span><br style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><br style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">I will investigate ways of integrating the decoder and renderer so that</span><br style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">they use a single OpenMAX pipeline. Unfortunately this is not trivial</span><br style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">because of the current assumption that ffmpeg is the only provider of</span><br style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px"><span style="color:rgb(33,33,33);font-family:"helvetica neue",helvetica,arial,sans-serif;font-size:16.25px;line-height:24.375px">hardware accelerated decoding i.e. VDPAU, VAAPI, DXVA2 etc.</span> <br></div></div></div>