Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/include/vk_video/vulkan_video_codec_h265std_decode.h
4558 views
1
/*
2
** Copyright (c) 2019-2021 The Khronos Group Inc.
3
**
4
** SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
8
#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
9
10
#ifdef __cplusplus
11
extern "C" {
12
#endif
13
14
#include "vk_video/vulkan_video_codec_h265std.h"
15
16
// *************************************************
17
// Video h265 Decode related parameters:
18
// *************************************************
19
20
typedef struct StdVideoDecodeH265PictureInfoFlags {
21
uint32_t IrapPicFlag : 1;
22
uint32_t IdrPicFlag : 1;
23
uint32_t IsReference : 1;
24
uint32_t short_term_ref_pic_set_sps_flag : 1;
25
} StdVideoDecodeH265PictureInfoFlags;
26
27
typedef struct StdVideoDecodeH265PictureInfo {
28
uint8_t vps_video_parameter_set_id;
29
uint8_t sps_seq_parameter_set_id;
30
uint8_t pps_pic_parameter_set_id;
31
uint8_t num_short_term_ref_pic_sets;
32
int32_t PicOrderCntVal;
33
uint16_t NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set()
34
//when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0.
35
uint8_t NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0
36
uint8_t RefPicSetStCurrBefore[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
37
//pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
38
uint8_t RefPicSetStCurrAfter[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
39
//pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
40
uint8_t RefPicSetLtCurr[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
41
//pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
42
StdVideoDecodeH265PictureInfoFlags flags;
43
} StdVideoDecodeH265PictureInfo;
44
45
typedef struct StdVideoDecodeH265ReferenceInfoFlags {
46
uint32_t is_long_term : 1;
47
uint32_t is_non_existing : 1;
48
} StdVideoDecodeH265ReferenceInfoFlags;
49
50
typedef struct StdVideoDecodeH265ReferenceInfo {
51
int32_t PicOrderCntVal;
52
StdVideoDecodeH265ReferenceInfoFlags flags;
53
} StdVideoDecodeH265ReferenceInfo;
54
55
#ifdef __cplusplus
56
}
57
#endif
58
59
#endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
60
61