summaryrefslogtreecommitdiff
path: root/gst-libs/gst/codecs/gsth264picture.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst/codecs/gsth264picture.c')
-rw-r--r--gst-libs/gst/codecs/gsth264picture.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gst-libs/gst/codecs/gsth264picture.c b/gst-libs/gst/codecs/gsth264picture.c
index 417986c62..a824b785a 100644
--- a/gst-libs/gst/codecs/gsth264picture.c
+++ b/gst-libs/gst/codecs/gsth264picture.c
@@ -108,6 +108,7 @@ struct _GstH264Dpb
GArray *pic_list;
gint max_num_frames;
gint num_output_needed;
+ guint32 max_num_reorder_frames;
gint32 last_output_poc;
gboolean interlaced;
@@ -240,6 +241,24 @@ gst_h264_dpb_clear (GstH264Dpb * dpb)
}
/**
+ * gst_h264_dpb_set_max_num_reorder_frames:
+ * @dpb: a #GstH264Dpb
+ * @max_num_reorder_frames: the max number of reorder frames, which
+ * should not exceed the max size of DPB.
+ *
+ * Since: 1.20
+ */
+void
+gst_h264_dpb_set_max_num_reorder_frames (GstH264Dpb * dpb,
+ guint32 max_num_reorder_frames)
+{
+ g_return_if_fail (dpb != NULL);
+ g_return_if_fail (max_num_reorder_frames <= dpb->max_num_frames);
+
+ dpb->max_num_reorder_frames = max_num_reorder_frames;
+}
+
+/**
* gst_h264_dpb_add:
* @dpb: a #GstH264Dpb
* @picture: (transfer full): a #GstH264Picture