h265decoder: Update documentation
authorSeungha Yang <seungha@centricular.com>
Fri, 11 Mar 2022 15:53:04 +0000 (00:53 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 15 Mar 2022 21:08:06 +0000 (21:08 +0000)
Sync up with other baseclasses

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>

subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h

index 41d30bd..8a5bcb3 100644 (file)
@@ -73,58 +73,94 @@ struct _GstH265Decoder
 
 /**
  * GstH265DecoderClass:
- * @new_sequence:   Notifies subclass of SPS update
- * @new_picture:    Optional.
- *                  Called whenever new #GstH265Picture is created.
- *                  Subclass can set implementation specific user data
- *                  on the #GstH265Picture via gst_h265_picture_set_user_data()
- * @start_picture:  Optional.
- *                  Called per one #GstH265Picture to notify subclass to prepare
- *                  decoding process for the #GstH265Picture
- * @decode_slice:   Provides per slice data with parsed slice header and
- *                  required raw bitstream for subclass to decode it
- * @end_picture:    Optional.
- *                  Called per one #GstH265Picture to notify subclass to finish
- *                  decoding process for the #GstH265Picture
- * @output_picture: Called with a #GstH265Picture which is required to be outputted.
- *                  The #GstVideoCodecFrame must be consumed by subclass via
- *                  gst_video_decoder_{finish,drop,release}_frame().
+ *
+ * The opaque #GstH265DecoderClass data structure.
  */
 struct _GstH265DecoderClass
 {
   GstVideoDecoderClass parent_class;
 
+  /**
+   * GstH265DecoderClass::new_sequence:
+   * @decoder: a #GstH265Decoder
+   * @sps: a #GstH265SPS
+   * @max_dpb_size: the maximum dpb size
+   *
+   * Notifies subclass of video sequence update
+   */
   GstFlowReturn (*new_sequence)     (GstH265Decoder * decoder,
                                      const GstH265SPS * sps,
                                      gint max_dpb_size);
+
   /**
-   * GstH265Decoder:new_picture:
+   * GstH265DecoderClass::new_picture:
    * @decoder: a #GstH265Decoder
    * @frame: (transfer none): a #GstVideoCodecFrame
    * @picture: (transfer none): a #GstH265Picture
+   *
+   * Optional. Called whenever new #GstH265Picture is created.
+   * Subclass can set implementation specific user data
+   * on the #GstH265Picture via gst_h265_picture_set_user_data()
    */
   GstFlowReturn (*new_picture)      (GstH265Decoder * decoder,
                                      GstVideoCodecFrame * frame,
                                      GstH265Picture * picture);
 
+  /**
+   * GstH265DecoderClass::start_picture:
+   * @decoder: a #GstH265Decoder
+   * @picture: (transfer none): a #GstH265Picture
+   * @slice: (transfer none): a #GstH265Slice
+   * @dpb: (transfer none): a #GstH265Dpb
+   *
+   * Optional. Called per one #GstH265Picture to notify subclass to prepare
+   * decoding process for the #GstH265Picture
+   */
   GstFlowReturn (*start_picture)    (GstH265Decoder * decoder,
                                      GstH265Picture * picture,
                                      GstH265Slice * slice,
                                      GstH265Dpb * dpb);
 
+  /**
+   * GstH265DecoderClass::decode_slice:
+   * @decoder: a #GstH265Decoder
+   * @picture: (transfer none): a #GstH265Picture
+   * @slice: (transfer none): a #GstH265Slice
+   * @dpb: (transfer none): a #GstH265Dpb
+   * @ref_pic_list0: (element-type GstH265Picture) (transfer none):
+   *    an array of #GstH265Picture pointers
+   * @ref_pic_list1: (element-type GstH265Picture) (transfer none):
+   *    an array of #GstH265Picture pointers
+   *
+   * Provides per slice data with parsed slice header and required raw bitstream
+   * for subclass to decode it. If gst_h265_decoder_set_process_ref_pic_lists()
+   * is called with %TRUE by the subclass, @ref_pic_list0 and @ref_pic_list1
+   * are non-%NULL.
+   */
   GstFlowReturn (*decode_slice)     (GstH265Decoder * decoder,
                                      GstH265Picture * picture,
                                      GstH265Slice * slice,
                                      GArray * ref_pic_list0,
                                      GArray * ref_pic_list1);
 
+  /**
+   * GstH265DecoderClass::end_picture:
+   * @decoder: a #GstH265Decoder
+   * @picture: (transfer none): a #GstH265Picture
+   *
+   * Optional. Called per one #GstH265Picture to notify subclass to finish
+   * decoding process for the #GstH265Picture
+   */
   GstFlowReturn (*end_picture)      (GstH265Decoder * decoder,
                                      GstH265Picture * picture);
+
   /**
-   * GstH265Decoder:output_picture:
+   * GstH265DecoderClass:output_picture:
    * @decoder: a #GstH265Decoder
    * @frame: (transfer full): a #GstVideoCodecFrame
    * @picture: (transfer full): a #GstH265Picture
+   *
+   * Called with a #GstH265Picture which is required to be outputted.
    */
   GstFlowReturn (*output_picture)   (GstH265Decoder * decoder,
                                      GstVideoCodecFrame * frame,