]> git.sesse.net Git - nageru-docs/blobdiff - hardware.rst
Document the return value of choose() and how it is useful.
[nageru-docs] / hardware.rst
index 9d157807c03a6ec7d7cdd56600b1085cbd5e894a..5171baebad937eb69e415cf28b08572175a5d86d 100644 (file)
@@ -29,8 +29,8 @@ that you have the latest drivers for your GPU.
 
 .. _digital-intermediate:
 
-VA-API H.264 encoding
----------------------
+VA-API H.264 encoding (optional)
+--------------------------------
 
 Even on modern networks and with today's large SSDs, uncompressed HD video is a
 bit unwieldy to send around (uncompressed 720p60 4:2:0 is about 79 MB/sec,
@@ -39,10 +39,15 @@ output as a sort of “digital intermediate” that can much easier be stored to
 (for future editing or re-streaming) or sent to an encoder on another machine
 for final streaming.
 
-Currently, only VA-API is supported for encoding the digital intermediate, although Nageru might
-support NVIDIA's NVENC at some point in the future. In particular, this means that Intel Quick
-Sync Video (QSV), the hardware H.264 encoder present on all modern Intel
-GPUs, is supported. QSV is more than fast enough to keep up with 720p60 in
+Although you can (since Nageru 1.5.0) use software encoding through x264 for
+the digital intermediate, it is generally preferred to use a hardware encoder
+if it is available. Currently, VA-API is the only hardware encoding method
+supported for encoding the digital intermediate, although Nageru might support
+NVIDIA's NVENC at some point in the future. In particular, this means that
+Intel Quick Sync Video (QSV), the hardware H.264 encoder present on all modern
+Intel GPUs, is supported.
+
+QSV is more than fast enough to keep up with 720p60 in
 realtime without eating appreciably into the power budget, but it is not
 competitive with the top H.264 encoders in terms of quality per bit. Also,
 the stream is encoded using *constant quality* (fixed quantizer), not
@@ -99,16 +104,16 @@ The PCI cards (known as DeckLink) require Blackmagic's proprietary driver
 (`Desktop Video <https://www.blackmagicdesign.com/support>`_) installed
 and working. It is non-free and thus not included in most Linux distributions.
 However, the SDK is not needed for building Nageru; the required headers
-are free and included. Note that the PCI cards generally do not autodetect,
-so you will need to right-click on the input to set the right mode.
+are free and included. Most of the PCI cards autodetect, but for some older
+versions, you will need to right-click on the input to set the right mode.
 
 
 Video format conversion
 -----------------------
 
 If you have an input source with a different resolution than the native mode
-(currently locked to 720p; this will be configurable without recompiling
-in the future), Nageru will scale transparently for you using a Lanczos3
+(720p by default, but you can change this using the -w and -h command line
+parameters), Nageru will scale transparently for you using a Lanczos3
 filter (or rather, the :doc:`theme <theme>` will). This requires some extra GPU power,
 so if you can avoid it, use the native mode. Similarly, if you connect an
 interlaced input, Nageru will automatically deinterlace for you.
@@ -121,7 +126,14 @@ account for clock and jitter).
 
 Nageru works in 16-bit floating-point RGBA internally. High-quality conversion to and
 from subsampled Y'CbCr (typically 4:2:2 for inputs and 4:2:0 for outputs)
-is done transparently on the GPU.
+is done transparently on the GPU. Input and output is 8-bit Y'CbCr by default,
+but be aware that 8-bit Y'CbCr, however common, cannot capture the full color
+fidelity of 8-bit RGB (not to mention 10-bit RGB). If you have spare GPU power,
+you can enable 10-bit Y'CbCr input and output with --10-bit-input and
+--10-bit-output, respectively, although you should be aware that client
+support for 10-bit H.264 is very limited. Also, Quick Sync Video does not
+support 10-bit H.264 encoding, so in this case, the digital intermediate needs
+to be encoded in software.
 
 
 Performance tips