aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/cbs_h2645.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-08-04 10:49:50 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-08-08 11:29:33 +0200
commitb37805ddbdbac554caf6a044b37ed27d345fe554 (patch)
treef638b8b77067f45a9a1e15046d27730eee84074b /libavcodec/cbs_h2645.c
parent715d3286bc678bbce24adb717a3c1f3e83a53269 (diff)
downloadffmpeg-b37805ddbdbac554caf6a044b37ed27d345fe554.tar.gz
avcodec/cbs_internal, cbs_h2645: Add and use new descriptor macros
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/cbs_h2645.c')
-rw-r--r--libavcodec/cbs_h2645.c56
1 files changed, 11 insertions, 45 deletions
diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c
index 12e38c80b5..117b609dc3 100644
--- a/libavcodec/cbs_h2645.c
+++ b/libavcodec/cbs_h2645.c
@@ -1396,18 +1396,9 @@ static const CodedBitstreamUnitTypeDescriptor cbs_h264_unit_types[] = {
CBS_UNIT_TYPE_INTERNAL_REF(H264_NAL_PPS, H264RawPPS, slice_group_id),
- {
- .nb_unit_types = 3,
- .unit_types = {
- H264_NAL_IDR_SLICE,
- H264_NAL_SLICE,
- H264_NAL_AUXILIARY_SLICE,
- },
- .content_type = CBS_CONTENT_TYPE_INTERNAL_REFS,
- .content_size = sizeof(H264RawSlice),
- .nb_ref_offsets = 1,
- .ref_offsets = { offsetof(H264RawSlice, data) },
- },
+ CBS_UNIT_TYPES_INTERNAL_REF((H264_NAL_IDR_SLICE,
+ H264_NAL_SLICE,
+ H264_NAL_AUXILIARY_SLICE), H264RawSlice, data),
CBS_UNIT_TYPE_POD(H264_NAL_AUD, H264RawAUD),
CBS_UNIT_TYPE_POD(H264_NAL_FILLER_DATA, H264RawFiller),
@@ -1433,40 +1424,15 @@ static const CodedBitstreamUnitTypeDescriptor cbs_h265_unit_types[] = {
CBS_UNIT_TYPE_POD(HEVC_NAL_AUD, H265RawAUD),
- {
- // Slices of non-IRAP pictures.
- .nb_unit_types = CBS_UNIT_TYPE_RANGE,
- .unit_type_range_start = HEVC_NAL_TRAIL_N,
- .unit_type_range_end = HEVC_NAL_RASL_R,
-
- .content_type = CBS_CONTENT_TYPE_INTERNAL_REFS,
- .content_size = sizeof(H265RawSlice),
- .nb_ref_offsets = 1,
- .ref_offsets = { offsetof(H265RawSlice, data) },
- },
+ // Slices of non-IRAP pictures.
+ CBS_UNIT_RANGE_INTERNAL_REF(HEVC_NAL_TRAIL_N, HEVC_NAL_RASL_R,
+ H265RawSlice, data),
+ // Slices of IRAP pictures.
+ CBS_UNIT_RANGE_INTERNAL_REF(HEVC_NAL_BLA_W_LP, HEVC_NAL_CRA_NUT,
+ H265RawSlice, data),
- {
- // Slices of IRAP pictures.
- .nb_unit_types = CBS_UNIT_TYPE_RANGE,
- .unit_type_range_start = HEVC_NAL_BLA_W_LP,
- .unit_type_range_end = HEVC_NAL_CRA_NUT,
-
- .content_type = CBS_CONTENT_TYPE_INTERNAL_REFS,
- .content_size = sizeof(H265RawSlice),
- .nb_ref_offsets = 1,
- .ref_offsets = { offsetof(H265RawSlice, data) },
- },
-
- {
- .nb_unit_types = 2,
- .unit_types = {
- HEVC_NAL_SEI_PREFIX,
- HEVC_NAL_SEI_SUFFIX
- },
- .content_type = CBS_CONTENT_TYPE_COMPLEX,
- .content_size = sizeof(H265RawSEI),
- .content_free = &cbs_h265_free_sei,
- },
+ CBS_UNIT_TYPES_COMPLEX((HEVC_NAL_SEI_PREFIX, HEVC_NAL_SEI_SUFFIX),
+ H265RawSEI, cbs_h265_free_sei),
CBS_UNIT_TYPE_END_OF_LIST
};