va: comments to explain code
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Thu, 12 Nov 2020 12:33:26 +0000 (13:33 +0100)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Thu, 12 Nov 2020 12:33:26 +0000 (13:33 +0100)
There are a couple part where code seems, at least to me, a bit oscure or
confusing. So let's better add an explanation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1802>

sys/va/gstvabasedec.c
sys/va/gstvapool.c

index 87aa8f5..b33e854 100644 (file)
@@ -334,6 +334,8 @@ gst_va_base_dec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
   gst_object_unref (allocator);
   gst_object_unref (pool);
 
+  /* There's no need to chain decoder's method since all what is
+   * needed is done. */
   return TRUE;
 
 wrong_caps:
index 18ea591..9c7a768 100644 (file)
@@ -145,7 +145,14 @@ gst_va_pool_set_config (GstBufferPool * pool, GstStructure * config)
   vpool->caps_info = caps_info;
   vpool->alloc_info = alloc_info;
 
-  /* May adjust the stride alignment based on the real HW alignment */
+  /* May adjust the stride alignment based on the real HW alignment:
+   *
+   * Counts the number of consecutive bits from lower significant
+   * bit. This number is then converted to the notion of alignment in
+   * GStreamer and passed as as constraint in GstVideoAlignment. The
+   * side effect is that the updated GstVideoInfo is now guarantied to
+   * endup with the same stride (ndufresne).
+   */
   if (vpool->need_alignment) {
     for (i = 0; i < GST_VIDEO_INFO_N_PLANES (&alloc_info); i++) {
       gint nth_bit;