summaryrefslogtreecommitdiff
path: root/libavutil/avutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavutil/avutil.h')
-rw-r--r--libavutil/avutil.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index 78deff1fd8..d71eb1ef4c 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -253,6 +253,27 @@ static inline void *av_x_if_null(const void *p, const void *x)
}
/**
+ * Compute the length of an integer list.
+ *
+ * @param elsize size in bytes of each list element (only 1, 2, 4 or 8)
+ * @param term list terminator (usually 0 or -1)
+ * @param list pointer to the list
+ * @return length of the list, in elements, not counting the terminator
+ */
+unsigned av_int_list_length_for_size(unsigned elsize,
+ const void *list, uint64_t term);
+
+/**
+ * Compute the length of an integer list.
+ *
+ * @param term list terminator (usually 0 or -1)
+ * @param list pointer to the list
+ * @return length of the list, in elements, not counting the terminator
+ */
+#define av_int_list_length(list, term) \
+ av_int_list_length_for_size(sizeof(*list), list, term)
+
+/**
* @}
* @}
*/