vulkan_video_codec_h264std_decode.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
  2. #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
  3. /*
  4. ** Copyright 2015-2023 The Khronos Group Inc.
  5. **
  6. ** SPDX-License-Identifier: Apache-2.0
  7. */
  8. /*
  9. ** This header is generated from the Khronos Vulkan XML API Registry.
  10. **
  11. */
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. #define vulkan_video_codec_h264std_decode 1
  16. #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
  17. #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
  18. #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0
  19. #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
  20. typedef enum StdVideoDecodeH264FieldOrderCount {
  21. STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
  22. STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
  23. STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
  24. STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
  25. } StdVideoDecodeH264FieldOrderCount;
  26. typedef struct StdVideoDecodeH264PictureInfoFlags {
  27. uint32_t field_pic_flag : 1;
  28. uint32_t is_intra : 1;
  29. uint32_t IdrPicFlag : 1;
  30. uint32_t bottom_field_flag : 1;
  31. uint32_t is_reference : 1;
  32. uint32_t complementary_field_pair : 1;
  33. } StdVideoDecodeH264PictureInfoFlags;
  34. typedef struct StdVideoDecodeH264PictureInfo {
  35. StdVideoDecodeH264PictureInfoFlags flags;
  36. uint8_t seq_parameter_set_id;
  37. uint8_t pic_parameter_set_id;
  38. uint8_t reserved1;
  39. uint8_t reserved2;
  40. uint16_t frame_num;
  41. uint16_t idr_pic_id;
  42. int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
  43. } StdVideoDecodeH264PictureInfo;
  44. typedef struct StdVideoDecodeH264ReferenceInfoFlags {
  45. uint32_t top_field_flag : 1;
  46. uint32_t bottom_field_flag : 1;
  47. uint32_t used_for_long_term_reference : 1;
  48. uint32_t is_non_existing : 1;
  49. } StdVideoDecodeH264ReferenceInfoFlags;
  50. typedef struct StdVideoDecodeH264ReferenceInfo {
  51. StdVideoDecodeH264ReferenceInfoFlags flags;
  52. uint16_t FrameNum;
  53. uint16_t reserved;
  54. int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
  55. } StdVideoDecodeH264ReferenceInfo;
  56. #ifdef __cplusplus
  57. }
  58. #endif
  59. #endif