[mythtv-users] hardware considerations: fast CPU vs nvidia/vdpau?

Matt Garman matthew.garman at gmail.com
Mon Jul 18 15:34:04 UTC 2011


On Sun, Jul 17, 2011 at 11:08 PM, Ronald Frazier <ron at ronfrazier.net> wrote:
> It happened quite a bit, on several movies. I definitely had it set it
> set to 2 CPUs. Some movies I'd see both CPUs plugging along. In other
> movies, it would just be one sitting idle. Some movies change from
> scene to scene. I think transformers 2 was one specific example. It
> would playback using only 1 core for the first few chapters of the
> movies (and thus was incredibly choppy), then suddenly switch to 2
> core decoding and play fine from there on out.Here was the post I made
> about it at the time:
>
> http://www.gossamer-threads.com/lists/mythtv/users/409627

That thread you linked is very interesting.  Although it is dated from
November, 2009, so I wonder if the situation is improved?

Looks like the crux of the issue is high bitrate, single-sliced H264.
It may or may not be possible to smoothy decode this in software.  You
suggested your Core i7-920 (2.6 GHz) could *almost* do it (at least with
Transformers 2).  Looking at synthetic benchmarks, the lowest-end Sandy
Bridge quad core (i5-2400, 3.1 GHz (3.4 turbo)) beats the i7-920 almost
every time[1].

Although I don't know which of those benchmarks comes closest to
simulating h264 decoding.  Non-Linux people don't care about this: Sandy
Bridge actually has hardware h264 decoding support, but looks like it
may be a while before it's properly supported on Linux[2].

In the thread above, you also said...
> it appears that the slice thing isn't a limitation of h264, but merely
> of the current implementation of ffmpeg. Other codecs (such as coreavc
> on windows) do not have this limitation.  Apparently the multithread
> branch of ffmpeg fixes this

That suggests that even single-sliced content can be decoded in
parallel.  If so, that would almost certainly solve the issue (you have
to go out of your way to find a non-multi core CPU these days).
According to this[3], the ffmpeg-mt branch has been merged into the
mainline.  But on the other hand, I don't see anything in the ffmpeg
changelog[4] regarding multithreaded H264 decoding... One comment in
this thread[5], says "all the state-of-the-art H.264 decoders
(ffmpeg-MT, CoreAVC, DivX H.264, etc.) use frame-level multi-treading
and hence work with single-slice streams just fine."  <shrug>

Anyway, I think it would be instructional to figure out what the
"toughest" h264 video is (i.e. single-sliced, high-bitrate) for use in a
benchmark.  Then we could run some tests to determine what the minimum
needed CPU spec is for software decoding.

Worst-case, I think this issue could be worked around by re-encoding
these "tough" videos at a lower bitrate.  For me, personally, I can
*barely* tell the difference between upscaled DVD content and native
Bluray content.

Also, what about the Broadcom "Crystal HD", e.g. BCM970015[6]?  The
Logic Supply page says this devices uses less than 1 Watt.  Looks like
there's a working driver for it now[7], but the myth wiki says, "the
MythTV application doesn't yet support [the Broadcom Crystal HD], you
can't test it within MythTV (on Feb-10-2010)".  That comment was made
over a year ago, has the situation changed for MythTV?  Looks like at
least one person is reporting success with manually compiling myth after
configuring with --enable-crystalhd[8].  I guess it's still too
"bleeding edge" to be the nvidia/vdpau killer.


[1] Andandtech i7-920 vs i5-2400 benchmark:
   http://www.anandtech.com/bench/Product/47?vs=363

[2] Hardware decoding for Intel HD 2000/3000 graphics is through VAAPI,
   which needs work.
   http://www.gossamer-threads.com/lists/mythtv/users/473208

[3] FFmpeg Becomes Multi-Threaded Happy
   http://www.phoronix.com/scan.php?page=news_item&px=OTI0NA

[4] FFmpeg Changelog
   http://ffmpeg.org/changelog.html

[5] Doom9 thread on x264, slices
   http://forum.doom9.org/showthread.php?t=148826

[6] Logic Supply - Broadcom BCM970015 PCIe mini card
   http://www.logicsupply.com/products/bcm970015

[7] New crystalhd support has landed
   http://wilsonet.com/?p=82

[8] MythTV Talk "Broadcom Crystal HD"
   http://www.mythtvtalk.com/broadcom-crystal-hd-14732/


More information about the mythtv-users mailing list