[mythtv-users] Smooth playback on BBC HD 1080 h.264 - CPU and Codec requirements - Lots of tests but no solution on mythtv.

John reidjr at btconnect.com
Fri May 4 22:10:58 UTC 2007


Before I start spamming the dev list and getting flamed.


I have been trying to get smooth playback on BBC HD for a good while.  I 
recently ended up with a PC that should be able to handle the CPU load. 
I am running a core2duo 4300 over clocked to 2.7GHzx2 [this is nominally 
equivalent to the e6700, but with half the cache]

My results so far are very similar to those reported by Mark Kendall
> In relation to the original question, my Core 2 Duo E6600 cannot
> playback BBC HD in realtime using either mplayer or mythtv. This is
> primarily because it doesn't make use of both cores.
>
> Using the coreavc patches for mplayer gives excellent video playback
> with slight a/v sync issues. For Mythtv with the coreavc patches,
> playback only takes around 40-50% of each core but there's lots of
> frame skipping. There's an issue somewhere in myth but it's proving
> pretty hard to track down - possibly related to the AC3 sound. 
As well as the patch to allow use of DirectShow filters (coreavc) under 
linux, there is a mythtv patch to set skiploopfilter, which noticably 
reduces the load on ffmpeg by disabling the deblocking filter. I also 
can run most codecs under either windows or linux. So there are loads of 
variations, I thought I would share my results.

I can get smooth playback with some permutations.
Comparing  vlc under windows and under linux, the windows CPU load is 
considerably lighter.
Mythtv itself seems to introduce dropped frames, even when the CPU is 
not maxed out.

PC is core2duo e4300 [overclocked], graphics card  nvidia 7300Ls.  Cpu 
load is recorded as {cpu core0:core1}

Windows2000:
2.7GHz :      VLC: ffmpeg: no skiploopfilter: BBC-HD MBAFF 
h.264:                    CPU 60%:20% smooth.
2.7GHz :      VLC: ffmpeg: skiploopfilter: BBC-HD MBAFF h.264:  
                       CPU 40%:10% smooth.
2.7GHz : MplayerClassic: coreavc: no skiploopfilter: BBC-HD MBAFF 
h.264:     CPU 60%:30% smooth.
2.7GHz : MplayerClassic: coreavc: skiploopfilter: BBC-HD MBAFF 
h.264:          CPU 40%:20% smooth.

Ubuntu 7.04. .

2.7GHz :      VLC: ffmpeg: no skiploopfilter: BBC-HD MBAFF 
h.264:                    CPU 100%:20% and dropped frames.
2.7GHz :      VLC: ffmpeg: skiploopfilter: BBC-HD MBAFF 
h.264:                         CPUs 90%:20% smooth.
2.7GHz : Mythtv: ffmpeg: skiploopfilter: BBC-HD MBAFF 
h.264:                         CPU 90%:20% and dropped frames.
2.7GHz : Mythtv: coreavc: skiploopfilter: BBC-HD MBAFF 
h.264:                        CPU 40%:40% and dropped frames.

So it looks as if I can reduce the quality of the ffmpeg decoding by 
using skiploopfilter to not max out the CPU, or use a non-free coreavc 
codec. However Mythtv is still doing somthing odd with the Sync between 
Audio and Video which is leading to it detecting the audio falling out 
of sync with the video, and then dropping video frames to resync.

I would really like to be able to watch smooth BBC-HD, or else I might 
as well go back to my old 1600 Duron and enjoy SD :-)


More information about the mythtv-users mailing list