• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2020-2024 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4// Common H.265 Parameter Set descriptions
5// "operationType" attribute specifies whether this is included in the encode or decode section
6
7[[{operationType}-h265-vps]]
8
9H.265 Video Parameter Sets (VPS)::
10
11Represented by code:StdVideoH265VideoParameterSet structures and interpreted
12as follows:
13
14  * code:reserved1, code:reserved2, and code:reserved3 are used only for
15    padding purposes and are otherwise ignored;
16  * code:vps_video_parameter_set_id is used as the key of the VPS entry;
17  * the code:max_latency_increase_plus1, code:max_dec_pic_buffering_minus1,
18    and code:max_num_reorder_pics members of the
19    code:StdVideoH265DecPicBufMgr structure pointed to by code:pDecPicBufMgr
20    correspond to `vps_max_latency_increase_plus1`,
21    `vps_max_dec_pic_buffering_minus1`, and `vps_max_num_reorder_pics`,
22    respectively, as defined in section 7.4.3.1 of the <<itu-t-h265,ITU-T
23    H.265 Specification>>;
24  * the code:StdVideoH265HrdParameters structure pointed to by
25    code:pHrdParameters is interpreted as follows:
26  ** code:reserved is used only for padding purposes and is otherwise
27     ignored;
28  ** code:flags.fixed_pic_rate_general_flag is a bitmask where bit index
29     [eq]#i# corresponds to `fixed_pic_rate_general_flag[i]` as defined in
30     section E.3.2 of the <<itu-t-h265,ITU-T H.265 Specification>>;
31  ** code:flags.fixed_pic_rate_within_cvs_flag is a bitmask where bit index
32     [eq]#i# corresponds to `fixed_pic_rate_within_cvs_flag[i]` as defined
33     in section E.3.2 of the <<itu-t-h265,ITU-T H.265 Specification>>;
34  ** code:flags.low_delay_hrd_flag is a bitmask where bit index [eq]#i#
35     corresponds to `low_delay_hrd_flag[i]` as defined in section E.3.2 of
36     the <<itu-t-h265,ITU-T H.265 Specification>>;
37  ** if code:flags.nal_hrd_parameters_present_flag is set, then
38     code:pSubLayerHrdParametersNal is a pointer to an array of
39     [eq]#code:vps_max_sub_layers_minus1 + 1# number of
40     code:StdVideoH265SubLayerHrdParameters structures where
41     code:vps_max_sub_layers_minus1 is the corresponding member of the
42     encompassing code:StdVideoH265VideoParameterSet structure and each
43     element is interpreted as follows:
44  *** code:cbr_flag is a bitmask where bit index [eq]#i# corresponds to
45      `cbr_flag[i]` as defined in section E.3.3 of the <<itu-t-h265,ITU-T
46      H.265 Specification>>;
47  *** all other members of the code:StdVideoH265SubLayerHrdParameters
48      structure are interpreted as defined in section E.3.3 of the
49      <<itu-t-h265,ITU-T H.265 Specification>>;
50  ** if code:flags.vcl_hrd_parameters_present_flag is set, then
51     code:pSubLayerHrdParametersVcl is a pointer to an array of
52     [eq]#code:vps_max_sub_layers_minus1 + 1# number of
53     code:StdVideoH265SubLayerHrdParameters structures where
54     code:vps_max_sub_layers_minus1 is the corresponding member of the
55     encompassing code:StdVideoH265VideoParameterSet structure and each
56     element is interpreted as follows:
57  *** code:cbr_flag is a bitmask where bit index [eq]#i# corresponds to
58      `cbr_flag[i]` as defined in section E.3.3 of the <<itu-t-h265,ITU-T
59      H.265 Specification>>;
60  *** all other members of the code:StdVideoH265SubLayerHrdParameters
61      structure are interpreted as defined in section E.3.3 of the
62      <<itu-t-h265,ITU-T H.265 Specification>>;
63  ** all other members of code:StdVideoH265HrdParameters are interpreted as
64     defined in section E.3.2 of the <<itu-t-h265,ITU-T H.265
65     Specification>>;
66  * the code:StdVideoH265ProfileTierLevel structure pointed to by
67    code:pProfileTierLevel are interpreted as follows:
68  ** code:general_level_idc is one of the enum constants
69     `STD_VIDEO_H265_LEVEL_IDC_<major>_<minor>` identifying the H.265 level
70     `<major>.<minor>` as defined in section A.4 of the <<itu-t-h265,ITU-T
71     H.265 Specification>>;
72  ** all other members of code:StdVideoH265ProfileTierLevel are interpreted
73     as defined in section 7.4.4 of the <<itu-t-h265,ITU-T H.265
74     Specification>>;
75  * all other members of code:StdVideoH265VideoParameterSet are interpreted
76    as defined in section 7.4.3.1 of the <<itu-t-h265,ITU-T H.265
77    Specification>>.
78
79[[{operationType}-h265-sps]]
80
81H.265 Sequence Parameter Sets (SPS)::
82
83Represented by code:StdVideoH265SequenceParameterSet structures and
84interpreted as follows:
85
86  * code:reserved1 and code:reserved2 are used only for padding purposes and
87    are otherwise ignored;
88  * the pair constructed from code:sps_video_parameter_set_id and
89    code:sps_seq_parameter_set_id is used as the key of the SPS entry;
90  * the code:StdVideoH265ProfileTierLevel structure pointed to by
91    code:pProfileTierLevel are interpreted as follows:
92  ** code:general_level_idc is one of the enum constants
93     `STD_VIDEO_H265_LEVEL_IDC_<major>_<minor>` identifying the H.265 level
94     `<major>.<minor>` as defined in section A.4 of the <<itu-t-h265,ITU-T
95     H.265 Specification>>;
96  ** all other members of code:StdVideoH265ProfileTierLevel are interpreted
97     as defined in section 7.4.4 of the <<itu-t-h265,ITU-T H.265
98     Specification>>;
99  * the code:max_latency_increase_plus1, code:max_dec_pic_buffering_minus1,
100    and code:max_num_reorder_pics members of the
101    code:StdVideoH265DecPicBufMgr structure pointed to by code:pDecPicBufMgr
102    correspond to `sps_max_latency_increase_plus1`,
103    `sps_max_dec_pic_buffering_minus1`, and `sps_max_num_reorder_pics`,
104    respectively, as defined in section 7.4.3.2 of the <<itu-t-h265,ITU-T
105    H.265 Specification>>;
106  * if code:flags.sps_scaling_list_data_present_flag is set, then the
107    code:StdVideoH265ScalingLists structure pointed to by code:pScalingLists
108    is interpreted as follows:
109  ** code:ScalingList4x4, code:ScalingList8x8, code:ScalingList16x16, and
110     code:ScalingList32x32 correspond to `ScalingList[0]`, `ScalingList[1]`,
111     `ScalingList[2]`, and `ScalingList[3]`, respectively, as defined in
112     section 7.3.4 of the <<itu-t-h265,ITU-T H.265 Specification>>;
113  ** code:ScalingListDCCoef16x16 and code:ScalingListDCCoef32x32 correspond
114     to `scaling_list_dc_coef_minus8[0]` and
115     `scaling_list_dc_coef_minus8[1]`, respectively, as defined in section
116     7.3.4 of the <<itu-t-h265,ITU-T H.265 Specification>>;
117  * code:pShortTermRefPicSet is a pointer to an array of
118    code:num_short_term_ref_pic_sets number of
119    code:StdVideoH265ShortTermRefPicSet structures where each element is
120    interpreted as follows:
121  ** code:reserved1, code:reserved2, and code:reserved3 are used only for
122     padding purposes and are otherwise ignored;
123  ** code:used_by_curr_pic_flag is a bitmask where bit index [eq]#i#
124     corresponds to `used_by_curr_pic_flag[i]` as defined in section 7.4.8
125     of the <<itu-t-h265,ITU-T H.265 Specification>>;
126  ** code:use_delta_flag is a bitmask where bit index [eq]#i# corresponds to
127     `use_delta_flag[i]` as defined in section 7.4.8 of the <<itu-t-h265,
128     ITU-T H.265 Specification>>;
129  ** code:used_by_curr_pic_s0_flag is a bitmask where bit index [eq]#i#
130     corresponds to `used_by_curr_pic_s0_flag[i]` as defined in section
131     7.4.8 of the <<itu-t-h265,ITU-T H.265 Specification>>;
132  ** code:used_by_curr_pic_s1_flag is a bitmask where bit index [eq]#i#
133     corresponds to `used_by_curr_pic_s1_flag[i]` as defined in section
134     7.4.8 of the <<itu-t-h265,ITU-T H.265 Specification>>;
135  ** all other members of code:StdVideoH265ShortTermRefPicSet are
136     interpreted as defined in section 7.4.8 of the <<itu-t-h265,ITU-T H.265
137     Specification>>;
138  * if code:flags.long_term_ref_pics_present_flag is set then the
139    code:StdVideoH265LongTermRefPicsSps structure pointed to by
140    code:pLongTermRefPicsSps is interpreted as follows:
141  ** code:used_by_curr_pic_lt_sps_flag is a bitmask where bit index [eq]#i#
142     corresponds to `used_by_curr_pic_lt_sps_flag[i]` as defined in section
143     7.4.3.2 of the <<itu-t-h265,ITU-T H.265 Specification>>;
144  ** all other members of code:StdVideoH265LongTermRefPicsSps are
145     interpreted as defined in section 7.4.3.2 of the <<itu-t-h265,ITU-T
146     H.265 Specification>>;
147  * if code:flags.vui_parameters_present_flag is set, then the
148    code:StdVideoH265SequenceParameterSetVui structure pointed to by
149    code:pSequenceParameterSetVui is interpreted as follows:
150  ** code:reserved1, code:reserved2, and code:reserved3 are used only for
151     padding purposes and are otherwise ignored;
152  ** the code:StdVideoH265HrdParameters structure pointed to by
153     code:pHrdParameters is interpreted as follows:
154  *** code:flags.fixed_pic_rate_general_flag is a bitmask where bit index
155      [eq]#i# corresponds to `fixed_pic_rate_general_flag[i]` as defined in
156      section E.3.2 of the <<itu-t-h265,ITU-T H.265 Specification>>;
157  *** code:flags.fixed_pic_rate_within_cvs_flag is a bitmask where bit index
158      [eq]#i# corresponds to `fixed_pic_rate_within_cvs_flag[i]` as defined
159      in section E.3.2 of the <<itu-t-h265,ITU-T H.265 Specification>>;
160  *** code:flags.low_delay_hrd_flag is a bitmask where bit index [eq]#i#
161      corresponds to `low_delay_hrd_flag[i]` as defined in section E.3.2 of
162      the <<itu-t-h265,ITU-T H.265 Specification>>;
163  *** if code:flags.nal_hrd_parameters_present_flag is set, then
164      code:pSubLayerHrdParametersNal is a pointer to an array of
165      [eq]#code:sps_max_sub_layers_minus1 + 1# number of
166      code:StdVideoH265SubLayerHrdParameters structures where
167      code:sps_max_sub_layers_minus1 is the corresponding member of the
168      encompassing code:StdVideoH265SequenceParameterSet structure and each
169      element is interpreted as follows:
170  **** code:cbr_flag is a bitmask where bit index [eq]#i# corresponds to
171       `cbr_flag[i]` as defined in section E.3.3 of the <<itu-t-h265,ITU-T
172       H.265 Specification>>;
173  **** all other members of the code:StdVideoH265SubLayerHrdParameters
174       structure are interpreted as defined in section E.3.3 of the
175       <<itu-t-h265,ITU-T H.265 Specification>>;
176  *** if code:flags.vcl_hrd_parameters_present_flag is set, then
177      code:pSubLayerHrdParametersVcl is a pointer to an array of
178      [eq]#code:sps_max_sub_layers_minus1 + 1# number of
179      code:StdVideoH265SubLayerHrdParameters structures where
180      code:sps_max_sub_layers_minus1 is the corresponding member of the
181      encompassing code:StdVideoH265SequenceParameterSet structure and each
182      element is interpreted as follows:
183  **** code:cbr_flag is a bitmask where bit index [eq]#i# corresponds to
184       `cbr_flag[i]` as defined in section E.3.3 of the <<itu-t-h265,ITU-T
185       H.265 Specification>>;
186  **** all other members of the code:StdVideoH265SubLayerHrdParameters
187       structure are interpreted as defined in section E.3.3 of the
188       <<itu-t-h265,ITU-T H.265 Specification>>;
189  *** all other members of code:StdVideoH265HrdParameters are interpreted as
190      defined in section E.3.2 of the <<itu-t-h265,ITU-T H.265
191      Specification>>;
192  ** all other members of code:pSequenceParameterSetVui are interpreted as
193     defined in section E.3.1 of the <<itu-t-h265,ITU-T H.265
194     Specification>>;
195  * if code:flags.sps_palette_predictor_initializer_present_flag is set,
196    then the code:PredictorPaletteEntries member of the
197    code:StdVideoH265PredictorPaletteEntries structure pointed to by
198    code:pPredictorPaletteEntries is interpreted as defined in section
199    7.4.9.13 of the <<itu-t-h265,ITU-T H.265 Specification>>;
200  * all other members of code:StdVideoH265SequenceParameterSet are
201    interpreted as defined in section 7.4.3.1 of the <<itu-t-h265,ITU-T
202    H.265 Specification>>.
203
204[[{operationType}-h265-pps]]
205
206H.265 Picture Parameter Sets (PPS)::
207
208Represented by code:StdVideoH265PictureParameterSet structures and
209interpreted as follows:
210
211  * code:reserved1, code:reserved2, and code:reserved3 are used only for
212    padding purposes and are otherwise ignored;
213  * the triplet constructed from code:sps_video_parameter_set_id,
214    code:pps_seq_parameter_set_id, and code:pps_pic_parameter_set_id is used
215    as the key of the PPS entry;
216  * if code:flags.pps_scaling_list_data_present_flag is set, then the
217    code:StdVideoH265ScalingLists structure pointed to by code:pScalingLists
218    is interpreted as follows:
219  ** code:ScalingList4x4, code:ScalingList8x8, code:ScalingList16x16, and
220     code:ScalingList32x32 correspond to `ScalingList[0]`, `ScalingList[1]`,
221     `ScalingList[2]`, and `ScalingList[3]`, respectively, as defined in
222     section 7.3.4 of the <<itu-t-h265,ITU-T H.265 Specification>>;
223  ** code:ScalingListDCCoef16x16 and code:ScalingListDCCoef32x32 correspond
224     to `scaling_list_dc_coef_minus8[0]` and
225     `scaling_list_dc_coef_minus8[1]`, respectively, as defined in section
226     7.3.4 of the <<itu-t-h265,ITU-T H.265 Specification>>;
227  * if code:flags.pps_palette_predictor_initializer_present_flag is set,
228    then the code:PredictorPaletteEntries member of the
229    code:StdVideoH265PredictorPaletteEntries structure pointed to by
230    code:pPredictorPaletteEntries is interpreted as defined in section
231    7.4.9.13 of the <<itu-t-h265,ITU-T H.265 Specification>>;
232  * all other members of code:StdVideoH265PictureParameterSet are
233    interpreted as defined in section 7.4.3.3 of the <<itu-t-h265,ITU-T
234    H.265 Specification>>.
235