16 #include <NvInferPlugin.h>
25 class BEVPoolPlugin :
public nvinfer1::IPluginV2DynamicExt {
32 virtual nvinfer1::IPluginV2DynamicExt*
clone() const noexcept override;
34 nvinfer1::IExprBuilder& exprBuilder) noexcept override;
37 int nbOutputs) noexcept override;
39 int nbOutputs) const noexcept override;
41 const
void* const* inputs,
void* const* outputs,
void* workspace,
cudaStream_t stream) noexcept override;
49 virtual
void terminate() noexcept override;
51 virtual
void serialize(
void* buffer) const noexcept override;
52 virtual
void destroy() noexcept override;
57 std::
string mNamespace;
60 int* num_intervals_ =
nullptr;
63 class BEVPoolPluginCreator : public
nvinfer1::IPluginCreator {
65 BEVPoolPluginCreator();
66 const char* getPluginName() const noexcept override;
68 const
nvinfer1::PluginFieldCollection* getFieldNames() noexcept override;
69 nvinfer1::IPluginV2* createPlugin(const
char* name, const
nvinfer1::PluginFieldCollection* fc) noexcept override;
70 nvinfer1::IPluginV2* deserializePlugin(const
char* name, const
void* serialData,
size_t serialLength) noexcept override;
76 std::vector<
nvinfer1::PluginField> mPluginAttributes;
77 std::
string mNamespace;