vaapiencode: h264: add plugin documentation
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Thu, 13 Jul 2017 14:43:34 +0000 (16:43 +0200)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Thu, 13 Jul 2017 14:43:34 +0000 (16:43 +0200)
Comment how the profile is set and other parameters.

gst/vaapi/gstvaapiencode_h264.c

index d2ff38d09778f8121967800b78cee0caadc7f960..949038c15a3af88344b476081917205f93392753 100644 (file)
  *
  * 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>
  * |[