]> git.sesse.net Git - bmusb/blobdiff - README
Add yet another PAL mode.
[bmusb] / README
diff --git a/README b/README
index e5fb92cb72811e0a9c022346802479a09a7bfa8f..be87ec869d64d475f67096291fd28d5522c0e2fa 100644 (file)
--- a/README
+++ b/README
@@ -1,32 +1,40 @@
-bmusb is a free driver for BlackMagic's Intensity Shuttle USB3 card,
-which has no official Linux driver. It runs in userspace through usbfs,
-which may mean it could also probably run on FreeBSD, but it's untested.
+bmusb is a free driver for BlackMagic's Intensity Shuttle and
+UltraStudio SDI USB3 cards, which have no official Linux driver.
+(The two seem to speak exactly the same protocol.) It runs in userspace
+through usbfs, which may mean it could also probably run on FreeBSD,
+but it's untested.
 
-Current tested features:
+Current tested features (note, some of these are not exposed in the
+driver except by changing the source code):
 
- * HDMI capture on 576p60, 720p60, 1080i60 (1080p60 is unfortunately not
-   supported in newer firmwares; I haven't tried older), plus 24, 50
+ * HDMI and SDI capture on 576p60, 720p60, 1080i60 (1080p60 is unfortunately
+   not supported in newer firmwares; I haven't tried older), plus 24, 50
    and 59.97 Hz
  * 8-channel 24-bit 48 kHz locked audio capture
  * Analog audio capture, including setting levels
  * 8-bit 4:2:2 and 10-bit 4:2:2 capture
 
-The Intensity Shuttle follows a protocol whose exact format is still
+The BlackMagic cards follow a protocol whose exact format is still
 unknown, and the driver is still in alpha stage. (There is no API or
 ABI stability, for one, and everything is really messy and uncommented.)
 In particular, it will often do something on init that makes the card
 seemingly reset and disconnect off the bus (and then reset).
 This being said, once it's actually up, I've done ten-hour 720p60
-captures on my Lenovo X240 without a single drop. It seems to want about
-10–15% of one CPU core.
+captures on my Lenovo X240 without a single drop.
+
+It seems to want about 10–15% of one CPU core; a significant chunk of this is
+copying data from the kernel over to userspace. However, it supports custom
+memory allocators, so that once the USB packets are in userspace, you can
+decode directly into e.g. pinned GPU memory.
 
 The driver itself lives in bmusb.cpp; main.cpp contains a very simple
 client that just checks for frame continuity. It's recommended to run
 as root or some other user that can run the USB thread at realtime
 priority, as USB3 isochronous transfers are very timing sensitive.
 
-The driver has only been tested with the 10.4.3 firmware, and there is
-currently no tool to upgrade or downgrade the firmware on the card.
+The driver has only been tested with the firmware from the 10.4.3/10.5.0
+series (seemingly the same), and there is currently no tool to
+upgrade or downgrade the firmware on the card.
 
 bmusb is Copyright 2015 Steinar H. Gunderson <sgunderson@bigfoot.com>
 and licensed under the GNU General Public License, version 2, or at your