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. ijhammo
    January 3rd, 2010 at 07:39 | #1

    @john
    XBMC uses FFMpeg so its down to them to code for OpenCL support. I really hope they go this route is its the only standard across Windows/Linux/OSX and would make everyone’s live a whole lot easier :-)

    I have 2 Mac Mini’s waiting for the cards to be installed once they get to me from HongKong. I just hope I can get them working!

  2. Topnet
    January 3rd, 2010 at 09:47 | #2

    @john Problem with OpenCL is that it is only supported on the newer Macintosh computers with Nvidia GPUs, while Broadcom Crystal HD will work on all old Mac Mini’s out there with Intel GMA GPU, that means that people who own those can reuse them as a 1080p capable HTPC.

    @multipass My quess is that Apple will not officially support Matroska any time soon, maybe in a couple of years if and when the MKV format becomes more popular than AVI, I bet Perian will support GPU accelerated video decoding on Nvidia in QuickTime X or OpenCL before then.

    @Davilla, will Broadcom Crystal HD eventually also work on the even older PowerPC G4 and G5 based Mac’s with XBMC?

  3. Carl
    January 3rd, 2010 at 14:57 | #3

    Hi,

    Will having the broadcom crystal HD card installed in the ATV allow it to view 1080p content whether or not XBMC is in use. I dont always use XBMC to view movies thats all?

    Thanx

  4. Topnet
    January 3rd, 2010 at 16:04 | #4

    Carl :Hi,
    Will having the broadcom crystal HD card installed in the ATV allow it to view 1080p content whether or not XBMC is in use?

    No, the Broadcom Crystal HD will only be used by XBMC as it requires the developers to code support for it into the software application. I guess that Boxee might get support for it one day too as it is based on XBMC source code.

    Don’t count on Apple ever adding official support for it to their software, it will as already stated simply ignore that the Broadcom Crystal HD card. Perhaps the developers of Perian could add support for it if support for Broadcom Crystal HD could be added to FFmpeg as that is what Perian is based on?

  5. erree
    January 3rd, 2010 at 16:34 | #5

    @Davilla, any updates?
    thanks

  6. VladGur
    January 3rd, 2010 at 16:51 | #6

    Does apple TV have SPDIF/multichannel sound out?

  7. Carl
    January 3rd, 2010 at 18:31 | #7

    Topnet :

    Carl :Hi,
    Will having the broadcom crystal HD card installed in the ATV allow it to view 1080p content whether or not XBMC is in use?

    No, the Broadcom Crystal HD will only be used by XBMC as it requires the developers to code support for it into the software application. I guess that Boxee might get support for it one day too as it is based on XBMC source code.
    Don’t count on Apple ever adding official support for it to their software, it will as already stated simply ignore that the Broadcom Crystal HD card. Perhaps the developers of Perian could add support for it if support for Broadcom Crystal HD could be added to FFmpeg as that is what Perian is based on?

    Thanx Topnet

  8. January 3rd, 2010 at 20:35 | #8

    Does anyone else feel that this is just a hardware solution thrown at a software problem?

  9. Jezz_X
    January 3rd, 2010 at 20:53 | #9

    rickatnight11 :Does anyone else feel that this is just a hardware solution thrown at a software problem?

    Thats kind of a crazy statement. How else would you solve that the ATV and others do not have the required hardware speed to decode 1080p. No matter how much tuning you do to the software it isn’t going to magically change the fact that the cpu isn’t quick enough to do it.

  10. erree
    January 4th, 2010 at 04:11 | #10

    i’ve just realised that my LCD is HDReady, only. So it’s 720p (but has 1080p input, don’t know what it is).
    But anyway, I would be very glad if my ATV would run 720p smoothly!

  11. davilla
    January 4th, 2010 at 12:45 | #11

    @rickatnight11

    If you have a high powered CPU in a box, then yes, you can do everything in software but that also means large/noisy box in the media room. This solution is aimed at small, low powered (both CPU and Watts) boxes that are silent. Pick the flavor of solution that works the best for you. For me it’s several AppleTVs with CrystalHD inside along with some VDPAU based boxes.

  12. multipass
    January 4th, 2010 at 15:20 | #12

    So basicly Perian or rather FFmpeg is able to add the full software support for the nvidia based gpu’s so we get accelerated video?
    I understand that the crystalHD solution is perfect for ATV and old macmini’s with GMA’s.

  13. January 4th, 2010 at 16:20 | #13

    I find this all very exciting.
    Is it clear what the new specs will be . For example a 1:1 blu ray rip with makemkv will work, or will we have to use handbrake and lower bitrate or reduce frame rate somewhat.

  14. davilla
    January 4th, 2010 at 17:34 | #14

    @zesty

    look at the pict again, this is a anydvd decrypted bluray disk image. No rips needed.

  15. Topnet
    January 4th, 2010 at 17:37 | #15

    multipass :So basicly Perian or rather FFmpeg is able to add the full software support for the nvidia based gpu’s so we get accelerated video?

    Not yet, but they could in theory. FFmpeg does not yet support any type of GPU assisted video decoding on Mac OS X, and Perian will most likely not support it until FFmpeg developers coded it first, it could however in theory be coded in OpenCL which with Nvidia since Mac OS X 10.6 Snow Leopard, but I am sure that would not be a trivial task to code, so don’t expect it anytime soon. As far as I know no one is working on making that happen.

  16. hvicioso
    January 5th, 2010 at 03:50 | #16

    So to install this we need to unmount the factory installed airport card on the apple tv? So do we loose wifi? if not how and where do we install the broadcom card?

  17. erree
    January 5th, 2010 at 09:52 | #17

    good news: code.google.com/p/crystalhd-for-osx/

  18. problem9
    January 5th, 2010 at 10:23 | #18

    broadcom crystal hd ordered yesterday … waiting for great XBMC with fullhd on my appletv :)

    you’ve done very good job, thx

  19. Multipass
    January 5th, 2010 at 11:59 | #19

    Are you guys buying the xxx12 instead of the xxx15 that will come out soon?

  20. fishy007
    January 5th, 2010 at 13:32 | #20

    Woohoo! Thanks for all your hard work on this davilla. I’ve been lurking and following for the past week when I saw the announcement. Now I just have to learn now to make it work :)

  21. Colm
    January 6th, 2010 at 05:56 | #22

    Is there any architectural reason why the driver for this couldn’t be incorporated into the Quicktime plugins architecture on OS X, thereby exporting the accelerated decoding process to more applications (like Frontrow)?

  22. captain_obvious
    January 6th, 2010 at 08:04 | #23

    So, many of us now have asked: is there any relief in sight for us who want to use semi-old systems without PCI-Express ports? Broadcom must be crazy not to tap into this market with cheap decoder cards, as these boxes otherwise do a sufficient job as HTPC’s.

    Modern PCI ports with hyperlink/v-link & the whole nine yards should not have a problem sustaining the bitrate at max 30 mbps or so(?) at all, should they? Maybe some converter sulutions could be used as well? What are the actual bandwith requirements for this?

  23. Daniel
    January 6th, 2010 at 09:33 | #24

    First of all camelot is the best ever dont use any thing else.But i just wish the pictur cuality on high res was as god as with coreavc is this the way to go???

  24. Daverx7
    January 6th, 2010 at 11:05 | #25

    I ordered the mini pci-e card. Now I am trying to find a way to get this to work with my old PC. Maybe a mini-pcie to pcie converter card. Any suggestions?

  25. contempt
    January 6th, 2010 at 11:56 | #26

    Has anyone received and installed this in an AppleTV yet? I’m curious of the performance boost as well as ease of installation. I didn’t see anything on Logic Supply site about installation instructions for AppleTV. I’m debating updating my AppleTV via this card or just purchasing one of the new Asus machines as the prices are pretty close.

  26. Baba
    January 6th, 2010 at 12:36 | #27
  27. davilla
    January 6th, 2010 at 16:25 | #28

    @Colm

    It could.

  28. davilla
    January 6th, 2010 at 16:25 | #29

    @Baba

    No, USB is too slow to move 1080p.

  29. Troll
    January 6th, 2010 at 17:58 | #30

    Those ebay versions of BCM970012 apear to be a total scam. They don’t support H.264/AVC HP at L 4.1 1080p, 40 Mbps.
    No wonder the price was only about $22-$25 including international shipping.

    Specs for cards sold on ebay – “H.264/AVC HP at L 4.1 1080i, 40 Mbps”
    Specs for cards sold on http://www.logicsupply.com/products/bcm970012 – “H.264/AVC HP at L4.1 1080i/1080p, 40 Mb/sec.”

  30. Gaylord
    January 6th, 2010 at 18:48 | #31

    bcm970012 on ebay:
    720p, 1080i and 1080p support

    Is it the same chipset or not?

  31. davilla
    January 6th, 2010 at 19:05 | #32

    @Troll

    LOL, they are all the same. The LogicSupply source is new layout, the ebay ones are old layout. Both are functionally Identical.

  32. January 6th, 2010 at 19:06 | #33

    Troll :
    Those ebay versions of BCM970012 apear to be a total scam. They don’t support H.264/AVC HP at L 4.1 1080p, 40 Mbps.
    No wonder the price was only about $22-$25 including international shipping.
    Specs for cards sold on ebay – “H.264/AVC HP at L 4.1 1080i, 40 Mbps”
    Specs for cards sold on http://www.logicsupply.com/products/bcm970012 – “H.264/AVC HP at L4.1 1080i/1080p, 40 Mb/sec.”

    Your name is appropriate! The cards are identical

  33. Baba
    January 6th, 2010 at 19:13 | #34

    Is there a way to put this Mini PCIe to PCIe port without a 100$ adapter ?
    Do you have a link to the Broadcom PCIe form factor ?

  34. Gaylord
    January 6th, 2010 at 19:34 | #35

    … there is a DeLock PCIe > mini PCIe for EUR 39 on ebay.

  35. carlamengo
    January 6th, 2010 at 19:56 | #36

    It’s like magic :), just installed the Broadcom card before , now my MacMini 1.83 plays those 1080p files perfect :)))))
    guess its time to donate some $$$

  36. Don
    January 6th, 2010 at 21:41 | #37

    @VladGur

    It has S/PDIF via TOSlink port and outputs discrete 5.1 multi-channel sound via both that port and HDMI.

  37. stickman
    January 6th, 2010 at 23:05 | #38

    Any idea when the expresscard version will be widely available for those laptops that blacklist (HP) minipci cards but that have an expresscard slot?
    This is the ultimate add-on for my HP Tablet :)

  38. idabari
    January 7th, 2010 at 04:32 | #39

    carlamengo :
    It’s like magic :), just installed the Broadcom card before , now my MacMini 1.83 plays those 1080p files perfect :)))))
    guess its time to donate some $$$

    From Where u get osx driver?
    What media player u use?

  39. Baba
    January 7th, 2010 at 04:41 | #40

    @Gaylord
    But not Mini PCIe to PCIe …. it’s not the same

  40. Fysboy
    January 7th, 2010 at 05:48 | #41

    @idabari
    Hi!
    I think to buy Crystal HD for my MacMini 1,66 that’s like yours.Did you need to buy some other adaptors??..and ..the wifi card is available again??
    Thanx a lot

  41. carlamengo
    January 7th, 2010 at 11:27 | #42

    @idabari

    used xbmc and got compiled the osx driver myself (http://code.google.com/p/crystalhd-for-osx/)

    but had to change crystalhd/darwin_lib/libcrystalhd/Makefile:
    CPPFLAGS += -O2 -Wall -fPIC -arch i386 -shared -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
    to
    CPPFLAGS += -O2 -Wall -fPIC -arch i386 -shared -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5

    and in ‘crystalhd/driver/darwin/BroadcomCrystalHD.xcodeproj/project.pbxproj’:
    10.4 to 10.5 and /Developer/SDKs/MacOSX10.4u.sdk to /Developer/SDKs/MacOSX10.5.sdk

    as i dont have a machine with 10.4 anymore

  42. pmprichard
    January 7th, 2010 at 11:31 | #43

    For the case of the apple tv, when we remove the wireless n mini pcie card, can we then put it into a usb enclosure. Many thanks

  43. pmprichard
    January 7th, 2010 at 11:48 | #44

    @pmprichard

    If not does anyone have any suggestions on how to add wireless n back to the apple tv

  44. davilla
    January 7th, 2010 at 13:24 | #45

    @carlamengo

    If you install the optional 10.4SDK in the Xcode installer, that will install the 10.4SDK, you don’t need to be running 10.4 in order to build against 10.4SDK. This is of course required for building for the AppleTV as it a 10.4 varient. An OSX kext/dylib built against 10.5SDK or greater WILL NOT work under the AppleTV. An OSX kext/dylib built against 10.4SDK WILL work under both 10.4 and 10.4 system. 10.6 remains to be tested :)

  45. carlamengo
    January 7th, 2010 at 15:50 | #46

    @davilla
    I know that the AppleTV is 10.4 based but i only have Snow Leopard Machines and no AppleTV, so i edited the Make- and Projectfile.
    Thanks about the optional 10.4SDK install tip, totaly forgot that, i allready was wondering why i dont have those on my machine.

  46. Gaylord
    January 7th, 2010 at 19:37 | #47

    @Baba:
    I don’t get it. You want to use a mini PCIe card in a PCIe slot (e.g. a desktop-pc)?
    That’s what these adapters are made for.

  47. pufnstuf
    January 7th, 2010 at 22:35 | #48

    @carlamengo

    hi carlamengo

    this is similar to my situation, I can’t wait to get my broadcom in the mailbox so I can boost up my mac mini.

    one question: do you think I can make the changes you made but compile on 10.6 I only have snow leopard installed now? So I would replace 10.4 with 10.6 in the files you have listed. Thanks!

    now.. hurry up Mr Postman and deliver!

  48. davilla
    January 7th, 2010 at 23:24 | #49

    OSX binaries for Crystal HD kext and library are now available at http://code.google.com/p/crystalhd-for-osx/downloads/list

  49. pufnstuf
    January 7th, 2010 at 23:38 | #50

    @davilla
    Thank you davillla! Also thanks for all the hours you and the xbmc-tam have put into this. My mac mini will live again!! :D

Comment pages
Comments are closed.