vulkan_video_codec_h264std_decode.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
  2. #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
  3. /*
  4. ** Copyright 2015-2024 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. // vulkan_video_codec_h264std_decode is a preprocessor guard. Do not pass it to API calls.
  16. #define vulkan_video_codec_h264std_decode 1
  17. #include "vulkan_video_codec_h264std.h"
  18. #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
  19. #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0
  20. #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
  21. #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
  22. typedef enum StdVideoDecodeH264FieldOrderCount {
  23. STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
  24. STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
  25. STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
  26. STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
  27. } StdVideoDecodeH264FieldOrderCount;
  28. typedef struct StdVideoDecodeH264PictureInfoFlags {
  29. uint32_t field_pic_flag : 1;
  30. uint32_t is_intra : 1;
  31. uint32_t IdrPicFlag : 1;
  32. uint32_t bottom_field_flag : 1;
  33. uint32_t is_reference : 1;
  34. uint32_t complementary_field_pair : 1;
  35. } StdVideoDecodeH264PictureInfoFlags;
  36. typedef struct StdVideoDecodeH264PictureInfo {
  37. StdVideoDecodeH264PictureInfoFlags flags;
  38. uint8_t seq_parameter_set_id;
  39. uint8_t pic_parameter_set_id;
  40. uint8_t reserved1;
  41. uint8_t reserved2;
  42. uint16_t frame_num;
  43. uint16_t idr_pic_id;
  44. int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
  45. } StdVideoDecodeH264PictureInfo;
  46. typedef struct StdVideoDecodeH264ReferenceInfoFlags {
  47. uint32_t top_field_flag : 1;
  48. uint32_t bottom_field_flag : 1;
  49. uint32_t used_for_long_term_reference : 1;
  50. uint32_t is_non_existing : 1;
  51. } StdVideoDecodeH264ReferenceInfoFlags;
  52. typedef struct StdVideoDecodeH264ReferenceInfo {
  53. StdVideoDecodeH264ReferenceInfoFlags flags;
  54. uint16_t FrameNum;
  55. uint16_t reserved;
  56. int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
  57. } StdVideoDecodeH264ReferenceInfo;
  58. #ifdef __cplusplus
  59. }
  60. #endif
  61. #endif