25#include <rocprofiler-sdk/defines.h>
26#include <rocprofiler-sdk/rocdecode/api_trace.h>
28#include <rocprofiler-sdk/rocdecode/details/rocdecode_headers.h>
30#if ROCPROFILER_SDK_USE_SYSTEM_ROCDECODE > 0
31# include <rocdecode/roc_bitstream_reader.h>
32# include <rocdecode/rocdecode.h>
33# include <rocdecode/rocparser.h>
35# include <rocprofiler-sdk/rocdecode/details/roc_bitstream_reader.h>
36# include <rocprofiler-sdk/rocdecode/details/rocdecode.h>
37# include <rocprofiler-sdk/rocdecode/details/rocparser.h>
42ROCPROFILER_EXTERN_C_INIT
47typedef struct rocprofiler_rocdecode_api_no_args
50} rocprofiler_rocdecode_api_no_args;
52typedef union rocprofiler_rocdecode_api_retval_t
54 uint64_t uint64_t_retval;
55 int32_t rocDecStatus_retval;
56 const char* const_charp_retval;
57} rocprofiler_rocdecode_api_retval_t;
59typedef union rocprofiler_rocdecode_api_args_t
63 RocdecVideoParser* parser_handle;
64 RocdecParserParams* params;
65 } rocDecCreateVideoParser;
69 RocdecVideoParser parser_handle;
70 RocdecSourceDataPacket* packet;
71 } rocDecParseVideoData;
75 RocdecVideoParser parser_handle;
76 } rocDecDestroyVideoParser;
80 rocDecDecoderHandle* decoder_handle;
81 RocDecoderCreateInfo* decoder_create_info;
82 } rocDecCreateDecoder;
86 rocDecDecoderHandle decoder_handle;
87 } rocDecDestroyDecoder;
91 RocdecDecodeCaps* decode_caps;
92 } rocDecGetDecoderCaps;
96 rocDecDecoderHandle decoder_handle;
97 RocdecPicParams* pic_params;
102 rocDecDecoderHandle decoder_handle;
104 RocdecDecodeStatus* decode_status;
105 } rocDecGetDecodeStatus;
109 rocDecDecoderHandle decoder_handle;
110 RocdecReconfigureDecoderInfo* reconfig_params;
111 } rocDecReconfigureDecoder;
115 rocDecDecoderHandle decoder_handle;
118 uint32_t* horizontal_pitch;
119 RocdecProcParams* vid_postproc_params;
120 } rocDecGetVideoFrame;
123 rocDecStatus rocdec_status;
124 } rocDecGetErrorName;
126#if ROCDECODE_RUNTIME_API_TABLE_STEP_VERSION >= 1
129 RocdecBitstreamReader* bs_reader_handle;
130 const char* input_file_path;
131 } rocDecCreateBitstreamReader;
134 RocdecBitstreamReader bs_reader_handle;
135 rocDecVideoCodec* codec_type;
136 } rocDecGetBitstreamCodecType;
139 RocdecBitstreamReader bs_reader_handle;
141 } rocDecGetBitstreamBitDepth;
144 RocdecBitstreamReader bs_reader_handle;
148 } rocDecGetBitstreamPicData;
151 RocdecBitstreamReader bs_reader_handle;
152 } rocDecDestroyBitstreamReader;
154} rocprofiler_rocdecode_api_args_t;
156ROCPROFILER_EXTERN_C_FINI