summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorShubhanshu Saxena <shubhanshu.e01@gmail.com>2021-04-26 13:24:09 +0530
committerGuo, Yejun <yejun.guo@intel.com>2021-04-27 10:01:56 +0800
commit4b79416dc4d7015d91778e7e218dcece6d408594 (patch)
tree03b5f4e23f5a59bdf01cd24de44c765ebda7b4c4 /libavfilter
parent5b8e828dee9be4e35973825b7a4a35dacc131557 (diff)
lavfi/dnn/queue.h: Add Documentation to Queue
Documentation for Queue Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/dnn/queue.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/libavfilter/dnn/queue.h b/libavfilter/dnn/queue.h
index 4d7121366a..2524d5fa59 100644
--- a/libavfilter/dnn/queue.h
+++ b/libavfilter/dnn/queue.h
@@ -22,20 +22,95 @@
#ifndef AVFILTER_DNN_QUEUE_H
#define AVFILTER_DNN_QUEUE_H
+/**
+ * Linear double-ended data structure
+ */
typedef struct Queue Queue;
+/**
+ * @brief Create a Queue instance.
+ * It initializes the length of the Queue as 0.
+ *
+ * @return Pointer to the Queue
+ * @retval NULL if allocation fails
+ */
Queue *ff_queue_create(void);
+
+/**
+ * @brief Destroy the Queue instance.
+ * It also frees all elements of the Queue.
+ */
void ff_queue_destroy(Queue *q);
+/**
+ * @brief Return the length of the Queue
+ */
size_t ff_queue_size(Queue *q);
+/**
+ * @brief Return a pointer to the data
+ * at the head of the queue.
+ *
+ * @retval NULL if null pointer was passed
+ * or queue is empty
+ */
void *ff_queue_peek_front(Queue *q);
+
+/**
+ * @brief Return a pointer to the data at
+ * the tail of the queue.
+ *
+ * @retval NULL if null pointer was passed
+ * or queue is empty
+ */
void *ff_queue_peek_back(Queue *q);
+/**
+ * @brief Add data to the head of the queue.
+ * It increases the length of Queue by one.
+ *
+ * @param q pointer to the Queue.
+ * @param v data to be added
+ * @return The length of the Queue
+ * @retval 0 if the pointer to queue is NULL
+ * @retval -1 if new entry cannot be created
+ */
int ff_queue_push_front(Queue *q, void *v);
+
+/**
+ * @brief Add data to the tail of the queue.
+ * It increases the length of Queue by one.
+ *
+ * @param q pointer to the Queue
+ * @param v data to be added
+ * @return The length of the Queue
+ * @retval 0 if the pointer to queue is NULL
+ * @retval -1 if new entry cannot be created
+ */
int ff_queue_push_back(Queue *q, void *v);
+/**
+ * @brief Remove and free first element from
+ * the Queue. It shrinks the length of Queue
+ * by one.
+ *
+ * @param q pointer to the Queue.
+ * @return The value of first element as void.
+ * If a null pointer or empty queue is passed,
+ * it returns NULL
+ */
void *ff_queue_pop_front(Queue *q);
+
+/**
+ * @brief Remove and free last element from
+ * the Queue. It shrinks the length of Queue
+ * by one.
+ *
+ * @param q pointer to the Queue.
+ * @return The value of last element as void.
+ * If a null pointer or empty queue is passed,
+ * it returns NULL
+ */
void *ff_queue_pop_back(Queue *q);
#endif