summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2017-07-13 16:43:34 +0200
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2017-07-13 16:43:34 +0200
commite9fd571214f7823ae45d93325fc3bb4a811bb55e (patch)
treea0db586ed70ac9dd4d5c03d19fe2db447744b4ea
parent66d26da39f42ed1670705cfb80d8f93105655a00 (diff)
vaapiencode: h264: add plugin documentation
Comment how the profile is set and other parameters.
-rw-r--r--gst/vaapi/gstvaapiencode_h264.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/gst/vaapi/gstvaapiencode_h264.c b/gst/vaapi/gstvaapiencode_h264.c
index d2ff38d0..949038c1 100644
--- a/gst/vaapi/gstvaapiencode_h264.c
+++ b/gst/vaapi/gstvaapiencode_h264.c
@@ -27,6 +27,31 @@
*
* Encodes raw video streams into H.264 bitstreams.
*
+ * The #GstVaapiEncodeH264:rate-control property controls the type of
+ * encoding. In case of Constant Bitrate Encoding (CBR), the
+ * #GstVaapiEncodeH264:bitrate will determine the quality of the
+ * encoding. Alternatively, one may choose to perform Constant
+ * Quantizer or Variable Bitrate Encoding (VBR), in which case the
+ * #GstVaapiEncodeH264:bitrate is the maximum bitrate.
+ *
+ * The H264 profile that is eventually used depends on a few settings.
+ * If #GstVaapiEncodeH264:dct8x8 is enabled, then High profile is
+ * used. Otherwise, if #GstVaapiEncodeH264:cabac entropy coding is
+ * enabled or #GstVaapiEncodeH264:max-bframes are allowed, then Main
+ * Profile is in effect, and otherwise Baseline profile applies. The
+ * high profile is imposed by default, which is fine for most software
+ * players and settings, but in some cases (e.g. hardware platforms) a
+ * more restricted profile/level may be necessary. The recommended way
+ * to set a profile is to set it in the downstream caps.
+ *
+ * You can also set parameters to adjust the latency of encoding:
+ * #GstVaapiEncodeH264:quality-level is a number between 1-7, in the
+ * case of the Intel VAAPI driver, where a lower value will produce a
+ * higher quality output but with more latency; meanwhile a hihg
+ * number will produce a lower quality output with less latency. Also
+ * you can set #GstVaapiEncodeH264:tune, if your backend supports it,
+ * for low-power mode or high compression.
+ *
* <refsect2>
* <title>Example launch line</title>
* |[