summaryrefslogtreecommitdiff
path: root/codegen/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h
diff options
context:
space:
mode:
Diffstat (limited to 'codegen/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h')
-rw-r--r--codegen/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/codegen/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h b/codegen/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h
new file mode 100644
index 00000000..a1efa055
--- /dev/null
+++ b/codegen/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h
@@ -0,0 +1,64 @@
+/*
+** Copyright (c) 2019-2021 The Khronos Group Inc.
+**
+** SPDX-License-Identifier: Apache-2.0
+*/
+
+#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
+#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "vk_video/vulkan_video_codec_h265std.h"
+
+// *************************************************
+// Video h265 Decode related parameters:
+// *************************************************
+
+#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
+
+typedef struct StdVideoDecodeH265PictureInfoFlags {
+ uint32_t IrapPicFlag : 1;
+ uint32_t IdrPicFlag : 1;
+ uint32_t IsReference : 1;
+ uint32_t short_term_ref_pic_set_sps_flag : 1;
+} StdVideoDecodeH265PictureInfoFlags;
+
+typedef struct StdVideoDecodeH265PictureInfo {
+ uint8_t vps_video_parameter_set_id;
+ uint8_t sps_seq_parameter_set_id;
+ uint8_t pps_pic_parameter_set_id;
+ uint8_t num_short_term_ref_pic_sets;
+ int32_t PicOrderCntVal;
+ uint16_t NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set()
+ //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0.
+ uint8_t NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0
+ uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in
+ // VkVideoReferenceSlotKHR structures representing
+ //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
+ uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in
+ // VkVideoReferenceSlotKHR structures representing
+ //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
+ uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in
+ // VkVideoReferenceSlotKHR structures representing
+ //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
+ StdVideoDecodeH265PictureInfoFlags flags;
+} StdVideoDecodeH265PictureInfo;
+
+typedef struct StdVideoDecodeH265ReferenceInfoFlags {
+ uint32_t is_long_term : 1;
+ uint32_t is_non_existing : 1;
+} StdVideoDecodeH265ReferenceInfoFlags;
+
+typedef struct StdVideoDecodeH265ReferenceInfo {
+ int32_t PicOrderCntVal;
+ StdVideoDecodeH265ReferenceInfoFlags flags;
+} StdVideoDecodeH265ReferenceInfo;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_