@@ -21,16 +21,13 @@ extern "C" {
21
21
22
22
#define vulkan_video_codec_h264std 1
23
23
#include <stdint.h>
24
- // Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number
25
- #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) // Patch version should always be set to 0
26
-
27
24
#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
28
25
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
29
26
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
30
27
#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2
31
28
#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
32
- #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5
33
- #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
29
+ #define STD_VIDEO_H264_MAX_NUM_LIST_REF 32
30
+ #define STD_VIDEO_H264_MAX_CHROMA_PLANES 2
34
31
35
32
typedef enum StdVideoH264ChromaFormatIdc {
36
33
STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0 ,
@@ -207,19 +204,19 @@ typedef struct StdVideoH264HrdParameters {
207
204
} StdVideoH264HrdParameters ;
208
205
209
206
typedef struct StdVideoH264SequenceParameterSetVui {
210
- StdVideoH264AspectRatioIdc aspect_ratio_idc ;
211
- uint16_t sar_width ;
212
- uint16_t sar_height ;
213
- uint8_t video_format ;
214
- uint8_t color_primaries ;
215
- uint8_t transfer_characteristics ;
216
- uint8_t matrix_coefficients ;
217
- uint32_t num_units_in_tick ;
218
- uint32_t time_scale ;
219
- StdVideoH264HrdParameters * pHrdParameters ;
220
- uint8_t max_num_reorder_frames ;
221
- uint8_t max_dec_frame_buffering ;
222
- StdVideoH264SpsVuiFlags flags ;
207
+ StdVideoH264SpsVuiFlags flags ;
208
+ StdVideoH264AspectRatioIdc aspect_ratio_idc ;
209
+ uint16_t sar_width ;
210
+ uint16_t sar_height ;
211
+ uint8_t video_format ;
212
+ uint8_t color_primaries ;
213
+ uint8_t transfer_characteristics ;
214
+ uint8_t matrix_coefficients ;
215
+ uint32_t num_units_in_tick ;
216
+ uint32_t time_scale ;
217
+ const StdVideoH264HrdParameters * pHrdParameters ;
218
+ uint8_t max_num_reorder_frames ;
219
+ uint8_t max_dec_frame_buffering ;
223
220
} StdVideoH264SequenceParameterSetVui ;
224
221
225
222
typedef struct StdVideoH264SpsFlags {
@@ -249,29 +246,29 @@ typedef struct StdVideoH264ScalingLists {
249
246
} StdVideoH264ScalingLists ;
250
247
251
248
typedef struct StdVideoH264SequenceParameterSet {
252
- StdVideoH264ProfileIdc profile_idc ;
253
- StdVideoH264Level level_idc ;
254
- uint8_t seq_parameter_set_id ;
255
- StdVideoH264ChromaFormatIdc chroma_format_idc ;
256
- uint8_t bit_depth_luma_minus8 ;
257
- uint8_t bit_depth_chroma_minus8 ;
258
- uint8_t log2_max_frame_num_minus4 ;
259
- StdVideoH264PocType pic_order_cnt_type ;
260
- uint8_t log2_max_pic_order_cnt_lsb_minus4 ;
261
- int32_t offset_for_non_ref_pic ;
262
- int32_t offset_for_top_to_bottom_field ;
263
- uint8_t num_ref_frames_in_pic_order_cnt_cycle ;
264
- uint8_t max_num_ref_frames ;
265
- uint32_t pic_width_in_mbs_minus1 ;
266
- uint32_t pic_height_in_map_units_minus1 ;
267
- uint32_t frame_crop_left_offset ;
268
- uint32_t frame_crop_right_offset ;
269
- uint32_t frame_crop_top_offset ;
270
- uint32_t frame_crop_bottom_offset ;
271
- StdVideoH264SpsFlags flags ;
272
- int32_t * pOffsetForRefFrame ;
273
- StdVideoH264ScalingLists * pScalingLists ;
274
- StdVideoH264SequenceParameterSetVui * pSequenceParameterSetVui ;
249
+ StdVideoH264SpsFlags flags ;
250
+ StdVideoH264ProfileIdc profile_idc ;
251
+ StdVideoH264Level level_idc ;
252
+ uint8_t seq_parameter_set_id ;
253
+ StdVideoH264ChromaFormatIdc chroma_format_idc ;
254
+ uint8_t bit_depth_luma_minus8 ;
255
+ uint8_t bit_depth_chroma_minus8 ;
256
+ uint8_t log2_max_frame_num_minus4 ;
257
+ StdVideoH264PocType pic_order_cnt_type ;
258
+ uint8_t log2_max_pic_order_cnt_lsb_minus4 ;
259
+ int32_t offset_for_non_ref_pic ;
260
+ int32_t offset_for_top_to_bottom_field ;
261
+ uint8_t num_ref_frames_in_pic_order_cnt_cycle ;
262
+ uint8_t max_num_ref_frames ;
263
+ uint32_t pic_width_in_mbs_minus1 ;
264
+ uint32_t pic_height_in_map_units_minus1 ;
265
+ uint32_t frame_crop_left_offset ;
266
+ uint32_t frame_crop_right_offset ;
267
+ uint32_t frame_crop_top_offset ;
268
+ uint32_t frame_crop_bottom_offset ;
269
+ const int32_t * pOffsetForRefFrame ;
270
+ const StdVideoH264ScalingLists * pScalingLists ;
271
+ const StdVideoH264SequenceParameterSetVui * pSequenceParameterSetVui ;
275
272
} StdVideoH264SequenceParameterSet ;
276
273
277
274
typedef struct StdVideoH264PpsFlags {
@@ -287,17 +284,17 @@ typedef struct StdVideoH264PpsFlags {
287
284
} StdVideoH264PpsFlags ;
288
285
289
286
typedef struct StdVideoH264PictureParameterSet {
290
- uint8_t seq_parameter_set_id ;
291
- uint8_t pic_parameter_set_id ;
292
- uint8_t num_ref_idx_l0_default_active_minus1 ;
293
- uint8_t num_ref_idx_l1_default_active_minus1 ;
294
- StdVideoH264WeightedBipredIdc weighted_bipred_idc ;
295
- int8_t pic_init_qp_minus26 ;
296
- int8_t pic_init_qs_minus26 ;
297
- int8_t chroma_qp_index_offset ;
298
- int8_t second_chroma_qp_index_offset ;
299
- StdVideoH264PpsFlags flags ;
300
- StdVideoH264ScalingLists * pScalingLists ;
287
+ StdVideoH264PpsFlags flags ;
288
+ uint8_t seq_parameter_set_id ;
289
+ uint8_t pic_parameter_set_id ;
290
+ uint8_t num_ref_idx_l0_default_active_minus1 ;
291
+ uint8_t num_ref_idx_l1_default_active_minus1 ;
292
+ StdVideoH264WeightedBipredIdc weighted_bipred_idc ;
293
+ int8_t pic_init_qp_minus26 ;
294
+ int8_t pic_init_qs_minus26 ;
295
+ int8_t chroma_qp_index_offset ;
296
+ int8_t second_chroma_qp_index_offset ;
297
+ const StdVideoH264ScalingLists * pScalingLists ;
301
298
} StdVideoH264PictureParameterSet ;
302
299
303
300
0 commit comments