Broadcom Crystal HD, It`s Magic.

December 29th, 2009 davilla

1080p HD content playback has always been the Holy Grail for any Media Center application but this has traditionally been difficult; playback using software decode alone requires a very hefty CPU and hardware decoding has only been made available recently using the nVidia’s VPDAU technology, available only on Linux. Windows has its own platform specific solutions and poor old OSX has no public APIs available at all. There really is nothing around with a common API that enables hardware accelerated 1080p HD content playback that can also be used under all three major platforms (OSX, Linux, and Windows). Well, that situation is about to change.

crystalhd-pr-shot

The Dark Knight vc1 running at 1080p on an AppleTV

Through hard work and the joint efforts of several TeamXBMC/Redhat developers and the Broadcom Media PC Group, cross-platform hardware decoding of mpeg2, h.264 and VC1 video content up to 1080p will be coming to XBMC on OSX, Linux, and Windows via the Broadcom Crystal HD Hardware Decoder (BCM970012). The Broadcom Crystal HD is available now in a mini-PCIE card with ExpressCard and 1X PCIE form factors to follow. This means that the AppleTV and all those lovely new netbooks, Eee Boxes and older Intel Mac Minis have exciting new potential.

This solution has a common programming API, so many 3rd party developers and applications will be able to leverage hardware accelerated video content playback across OSX, Linux, and Windows platforms with minimal source code changes. Best of all, this is an open source solution with full source code for driver and library available for OSX and Linux under a GPL/LGPL license. Wow, this indeed is the Holy Grail and a major score for the open source community as this means no more tainted Linux kernels! Support has already been added to XBMC under the svn trunk. Our bleeding-edge users can expect to find the feature in the next nightly builds from our community builders, the more patient can wait until the next stable release. Other media projects such as FFmpeg, MythTV and Xine will soon follow as their developers add support.

The Windows driver binary, as well as the Linux source code for the driver and library can be found at the Broadcom web site. For OSX, the binaries and source code for the driver and library will be hosted at google code. Users in the USA can purchase the Crystal HD mini PCIE card from Logic Supply for $69 at the time of this posting, and of course there’s always ebay for those outside the USA.

  1. JaccoH
    December 30th, 2009 at 10:28 | #1

    @caino

    CUDA is nVidia only. This news is about something else.

  2. woooooo
    December 30th, 2009 at 10:36 | #2

    This chip will also be optional in Intel Pine Trail-based netbooks coming Q1 2010!

  3. Martin
    December 30th, 2009 at 10:39 | #3

    Interesting. Does anybody know if any of those Broadcom cards support decoding of multiple streams at the same time?

  4. foobartel
    December 30th, 2009 at 11:07 | #4

    Will the driver be included in the main line Linux kernel?

  5. NathanJones
    December 30th, 2009 at 11:46 | #5

    Not to mention CUDA isn’t really aimed at video acceleration…so unless they’re adding some high-end physics simulation to the UI, or some other GPGPU-type application to the UI, I doubt if CUDA is necessary. :-)

    I picked one of these up…I’ve got an ION box already, but I love to tinker, and maybe I can help out with troubleshooting if something goes wonky.

  6. lehite
    December 30th, 2009 at 11:57 | #6

    So there’s still no hope for a PPC Mac Mini? Maybe it’s time for me to get something newer…

  7. December 30th, 2009 at 13:12 | #7

    This is amazing! How can we all help spread the word about this great news?

    Does this mean that one will be able to playback 1080p on any old Linux PC?

    I read about the new BCM70015 chip, does XBMC support it and DivX/Xvid?
    http://www.linuxfordevices.com/c/a/News/Broadcom-BCM70015/

    BCM70015 even supports the chinese codec AVS = Audio Video Standard.

  8. Topnet
    December 30th, 2009 at 13:36 | #8

    @vbonline The Apple TV and Mac Mini with Intel process does have a mini-PCIe (PCI Express Mini Card) slot inside them on the motherboard, it is just that it is by default occupied by a WLAN/WiFi card.

    So you have to remove that WLAN/WiFi card first, and thus you have to be willing to sacrifice the integrated WLAN/WiFi capability for full 1080p high definition playback. On the Mac Mini you can always just get a USB WLAN/WiFi adapter if you absolutly need it, you are going to need a 802.11n speed WLAN/WiFi card anyway if you plan on streaming full 1080p high definition playback over wireless.

  9. JDizzy
    December 30th, 2009 at 13:38 | #9

    Will there be docs on exactly what needs to be done to use this? I have an ATV and can probably open and swap the WiFi chip with this one, but then what? Will it just start working by itself or do drivers need to be installed on the ATV?
    Running Camelot, and not using the SVNs, ill it work now, or do we have to wait until it is officially added to XBMC?

  10. Topnet
    December 30th, 2009 at 13:50 | #10

    davilla :@Hitchhiker
    Look at the screen shot, that’s a decrypted bluray disk image playing on the appletv. And no, before anyone asks, decryption via crystalhd is not part of this source code release.

    Sorry but I have to ask anyway; I understand that the Blu-ray Disc DRM decrypting (of AACS, BD+, and BD-ROM Mark) is not supported by this source code release yet.

    Could however Blu-ray Disc DRM decrypting on these Broadcom Crystal HD chips be added in the future? and could it in theory be released as open source so that it will only decrypt it if you have the hardware and this legally?

    It is just that from my research I understand that Broadcom include the legal license for u-ray Disc DRM decrypting on at least some of these chips, meaning that the licenses for decrypting Blu-ray Disc DRM is included in the price of the hardware?

  11. davilla
    December 30th, 2009 at 14:06 | #11

    @bash

    So sorry bash, you really need to check this further before making such very wrong statements, The kernel driver does NOT contain the firmware binary, that’s up to the userland library to handle. So expect this to enter the LInux kernel untainted :)

  12. davilla
    December 30th, 2009 at 14:08 | #12

    @Richard Leo Ayotte

    As soon as you add a pci-e interface to the XBOX, then……

  13. tofu713
    December 30th, 2009 at 14:41 | #13

    In case anyone is interested… i found a blog that shows how to take apart the AppleTV and where to install the CrystalHD card and it has pictures.

    http://rufn.it/aTV/

  14. December 30th, 2009 at 14:45 | #14

    Kudos to Davilla and to every guy that worked hard on this project.
    I’m watching 1080p mkv right now on my cheap AppletTV with the greatest media center ever.Is it a dream?

  15. hohn
    December 30th, 2009 at 15:22 | #15

    IMHO support of DirectX Video Acceleration would be more intresting for many users. That Graficcards are widely spreaded, so why should i buy that seperate Hardware decoder.

  16. December 30th, 2009 at 16:25 | #16

    @Daryoon

    All Macs have their WIFI cards occupying this slot. That means anyone that wants full decoding of HD just has to swap them out. They lose wireless but that’s easily replaced by a usb stick or cat5. Those of us with Macbooks have a difficult decision to make however ;)

    This is beyond great news. And is exactly what media players need. SD is long dead. This is the future… and the future looks damn bright!

  17. misoa
    December 30th, 2009 at 16:53 | #17

    I am interested if this will ever get on a PCI card. I am not willing to give up my ABIT NF7-S v2 yet.
    any news of this ?

  18. Jezz_X
    December 30th, 2009 at 17:36 | #18

    @hohn
    If you go to the forums and search for DSPlayer you can see its allready being worked on, this just beat it to the official in the main version we compile and release to public

  19. arnesr
  20. seeker83
    December 30th, 2009 at 21:44 | #20

    @TjaLfE
    ah, true, vdpau only works on linux, but dxva might work soon on windows aswell ;) in any case support for this hardware is very nice aswell.

    I just read some articles about the new atom platforms (pine trail), and such a system coupled with a crystal hd card could very well be pretty much perfect for a tiny, low power, no noise htpc… :)

  21. szuszak
    December 30th, 2009 at 22:14 | #21

    hello,

    I just want to say, if I don’t make a mistake, that the new version of the Crystal HD is the reference BCM70015
    http://www.broadcom.com/products/Consumer-Electronics/Netbook-and-Nettop-Solutions/BCM70015
    and
    http://www.broadcom.com/press/release.php?id=s431589&industry_id=1

    the BCM970012 is not the same that the new one (BCM70015 )
    http://www.broadcom.com/press/release.php?id=s387278

    You can find the BCM970012 for 20 bucks on ebay !

    szuszak

  22. szuszak
    December 30th, 2009 at 22:19 | #22

    I forgot

    “Users in the USA can purchase the Crystal HD mini PCIE card from Logic Supply for $69 at the time of this posting”

    logic supply provide the BCM970012 version for almost 70 bucks… I have no actions with ebay but it seems cheaper !

  23. yzeyze
    December 30th, 2009 at 22:49 | #23

    @Jezz_X
    Hi Jezz_X,
    Call me slow, but can you just clarify….
    Yes it is in Camelot,
    or No it was too late for Camelot and is in new SVN release.

  24. Stefan
    December 31st, 2009 at 00:22 | #24

    Does the live version also support this? That is does it include the necessary drivers to support the hardware? Also while I know this device is mainly designed to be used with small form factor systems like laptops, etc., Is there are reason it wouldn’t work in a desktop system provided you used a mini PCIe to regular PCIe adapter? The driver wouldn’t be tied specifically to the chipsets used in laptops would it?

  25. Jezz_X
    December 31st, 2009 at 01:54 | #25

    No its not in Camelot

  26. yzeyze
    December 31st, 2009 at 02:35 | #26

    @Jezz_X
    Ok, thanks for that.
    They are so cheap on ebay, had to order one for my ATV.
    Looking forward to trying it out later….

  27. December 31st, 2009 at 07:08 | #27

    Great work!

  28. Joker_
    December 31st, 2009 at 07:29 | #28

    Stefan :
    Does the live version also support this? That is does it include the necessary drivers to support the hardware? Also while I know this device is mainly designed to be used with small form factor systems like laptops, etc., Is there are reason it wouldn’t work in a desktop system provided you used a mini PCIe to regular PCIe adapter? The driver wouldn’t be tied specifically to the chipsets used in laptops would it?

    I’m not a kernel developer but I’m pretty sure it is not tied to any specific chipset. You should be able to use it with any system you can attach it to.

  29. erree
    December 31st, 2009 at 09:18 | #29

    so is it safe to buy the BCM970012 or should one get the BCM970015 model?

    thanks

  30. Topnet
    December 31st, 2009 at 15:27 | #30

    @erree From my understand only BCM970010 and BCM970012 are supported in XBMC so far, isn’t that correct?

    Question is if autodetection of the chip and its functions will be added once BCM970015 is also supported?

    Would be great if future stable versions could autodetect Broadcom and VDPAU and enable automagically.

  31. davilla
    December 31st, 2009 at 16:51 | #31

    @erree

    You can’t buy a BCM970015 yet. ETA is first or second quarter 2010 and even if you could purchase one, the release source code is not compatible with the BCM970015 yet.

  32. pokerface
    December 31st, 2009 at 17:03 | #32

    Only problem I see vs a cheap Nvidia card with VDPAU that this Broadcom card only supprorts L4.1 encoding. That means some 1080p videos encoded in L5.1 will stutter.

  33. well
    December 31st, 2009 at 18:37 | #33

    @pokerface
    well at least you could play those 1080p (h264) videos that are compliant with bluray (LP4.1).

    anyway about those h264 encodes with L5.1, theyre encoded out of spec of bluray compliance and intended to be played in a high-end computer. most of these 1080p encodes (lp5.1) wont even play in ps3. (try some mkv encoded with lp5.1 and use tsmuxer by smartlab to make a *.ts or m2ts, which ps3 can read. try playing them, either they dont work or work with problems.

  34. pokerface
    December 31st, 2009 at 19:13 | #34

    I don’t know anything about ps3 but all L5.1 encodes playing fine on my HTPC (cheap 1core 2ghz amd + GF8400Gs) with VDPAU.
    And that is something I really miss from the Broadcom product.

  35. davilla
    December 31st, 2009 at 20:57 | #35

    @pokerface

    The Broadcom Crystal HD will handle in HP@L5.1 with 10 ref frames or less, it’s just not listed in the official specs.

  36. Jeff
    January 1st, 2010 at 01:19 | #36

    My GMA 500 netbook MSI U115 with the impressive Z530 CPU fully supports 1080p playback at about 40% CPU usage by making use of DXVA. Do you really wanna tell me that in 2010 I need to buy additional hardware for doing the same under Linux, like in the 90s when people had to buy Voodoo cards to accelerate 3D gaming? Wow – and I thought that Linux was an option…
    Video playback cards: What a joke!

  37. mulder77
    January 1st, 2010 at 06:18 | #37

    @Jeff
    For Linux there is VDPAU support on Nvidia cards. CPU usage while playing back 1080p stuff on N330 is at about 10-20%.

    These cards are interesting because the drivers are available as open source and they can be used with any graphics solution.

  38. mike
    January 1st, 2010 at 06:24 | #38

    I might be wrong but as far as I can find out a non-hacked Apple TV can only output a stereo signal over S/PDIF. Since I don’t want to upgrade my receiver my question is if this is relevant on a hacked box running XBMC?

  39. howaboutthis…
    January 1st, 2010 at 08:04 | #39

    @davilla
    care to ask this thing regard appletv with broadcom, what if i have videos in HP@5.1 with 10 ref frames or more (like 12-14), but the videos have lower resolutions like 720p (536p and lower etc), do you think it can handle those videos without problems? i know its kinda stupid why would a encoder reach that kind of profile despite of lower resolution were used. do you mind answering this question. im excited what are the effects and changes that would get after installin broadcom hardware decoder in myappletv.

  40. erree
    January 1st, 2010 at 08:09 | #40

    @davilla
    thanks for replying
    i just hope i did the right choice, and you and the devteam eventually release the drivers for appletv. hope it will be soon. just want to say thanks, i’ve almost sold my appletv, but now, it has the right of second chance!

  41. plexuser
    January 2nd, 2010 at 11:31 | #41

    @gangsta75 What type of audio output is possible on the Apple TV? HD Audio over HDMI?

  42. fox_nl
    January 2nd, 2010 at 14:32 | #42

    What would be the minimum specced Mac Mini to be able to play 1080P fluently? Would any dual core or core 2 duo be sufficient?

  43. January 2nd, 2010 at 16:32 | #43

    @plexuser
    I’m using ubuntu live.No HDMI audio support yet AFAIK, i’m using analog output to my T-AMP :).

  44. Uxorious
    January 2nd, 2010 at 16:45 | #44

    well :
    @pokerface
    well at least you could play those 1080p (h264) videos that are compliant with bluray (LP4.1).
    anyway about those h264 encodes with L5.1, theyre encoded out of spec of bluray compliance and intended to be played in a high-end computer. most of these 1080p encodes (lp5.1) wont even play in ps3. (try some mkv encoded with lp5.1 and use tsmuxer by smartlab to make a *.ts or m2ts, which ps3 can read. try playing them, either they dont work or work with problems.

    There are 3 main reasons a video could be L5+
    1) Higher macroblock rate than L4+ can support (super high resolution or high framerate).
    2) More memory requirements than L4+ can support (Typically number of reference frames used).
    3) User error.

    I would say that about half the files in the wild using L5+ are user error, and the remaining are memory restricted.
    Since PC’s generally don’t care much about memory, these L5+ files will play fine.

  45. January 2nd, 2010 at 17:04 | #45

    Look at this miniITX board at http://www.mini-box.com/D510MO-mini-ITX-Intel, with a miniPCI express slot:) it will be available this week, as I see, and the price is not too bad. I am considering buying it with a Broadcom Crystal HD miniPCI Express card (I don’t need wifi, or if I do the board has plenty of USB ports) with their M350 enclosure (that has a good airflow and already got it) – it would be a nice, cheap, fanless HTPC for my living :)

  46. January 2nd, 2010 at 17:06 | #46

    @misoa I’m hoping for the same. I have a silent HTPC with a 10 month olf mini-ITX bord, but it’s only PCI :S

    @davilla Any ideas if there’s likely to be a PCI version? – I’m assuming the PCI bus can more than handle the bandwidth?

  47. erree
    January 2nd, 2010 at 17:38 | #47

    @lucaiuli
    hmm… this board does lack a HDMI port?..

  48. January 2nd, 2010 at 18:32 | #48

    @erree
    Yes, It does. I don’t mind that. I have an LCD with VGA port and an audio system.

  49. multipass
    January 2nd, 2010 at 21:06 | #49

    I installed windows 7 on a macmini and now it plays 1080p mkv’s at 20% cpu instead of the 110% in osx! Why isnt apple just giving support for the 9400 nvidia? They say QTX has hardware support but not for mkv?

    I’m still hoping for official support in snowleopard or am I dreaming?
    Great job from xbmc to make it happen with crystal HD, there is some hope now.

  50. john
    January 2nd, 2010 at 21:17 | #50

    yes, poor OLD OS X – so old, so old!… use OpenCL, you slowpokes.

Comment pages
Comments are closed.