@@ -117,6 +117,27 @@ int ff_cbs_write_unsigned(CodedBitstreamContext *ctx, PutBitContext *pbc,
#define MAX_UINT_BITS(length) ((UINT64_C(1) << (length)) - 1)
+#define CBS_UNIT_TYPE_POD(type, structure) { \
+ .unit_type = type, \
+ .content_type = CBS_CONTENT_TYPE_POD, \
+ .content_size = sizeof(structure), \
+ }
+#define CBS_UNIT_TYPE_INTERNAL_REFS(type, structure, nb_offsets, offsets) { \
+ .unit_type = type, \
+ .content_type = CBS_CONTENT_TYPE_INTERNAL_REFS, \
+ .content_size = sizeof(structure), \
+ .nb_ref_offsets = nb_offsets, \
+ .ref_offsets = offsets, \
+ }
+#define CBS_UNIT_TYPE_COMPLEX(type, structure, free_func) { \
+ .unit_type = type, \
+ .content_type = CBS_CONTENT_TYPE_COMPLEX, \
+ .content_size = sizeof(structure), \
+ .content_free = free_func, \
+ }
+#define CBS_UNIT_TYPE_END_OF_LIST { CBS_INVALID_UNIT_TYPE }
+
+
extern const CodedBitstreamType ff_cbs_type_av1;
extern const CodedBitstreamType ff_cbs_type_h264;
extern const CodedBitstreamType ff_cbs_type_h265;