PeriDyno 1.0.0
Loading...
Searching...
No Matches
ImageEncoder.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4
6{
7public:
8 virtual void SetQuality(int quality) = 0;
9 virtual unsigned long Encode(const unsigned char* data,
10 int width, int height, int pitch,
11 std::vector<unsigned char>& buffer) = 0;
12};
13
14// encode image with nvJPG
15struct nvjpegHandle;
16struct nvjpegEncoderState;
17struct nvjpegEncoderParams;
19{
20public:
23
24public:
25 virtual void SetQuality(int quality) override;
26 virtual unsigned long Encode(const unsigned char* data,
27 int width, int height, int pitch,
28 std::vector<unsigned char>& buffer) override;
29
30private:
32 nvjpegEncoderState* encoderState;
33 nvjpegEncoderParams* encodeParams;
34 //cudaStream_t stream = NULL;
35
36 // cuda buffer
37 struct {
38 void* ptr;
39 size_t size;
41};
virtual void SetQuality(int quality)=0
virtual unsigned long Encode(const unsigned char *data, int width, int height, int pitch, std::vector< unsigned char > &buffer)=0
nvjpegHandle * nvjpegHandle
virtual unsigned long Encode(const unsigned char *data, int width, int height, int pitch, std::vector< unsigned char > &buffer) override
virtual void SetQuality(int quality) override
nvjpegEncoderState * encoderState
struct ImageEncoderNV::@073055035047302167172074165363320122204367031221 cudaBuffer
nvjpegEncoderParams * encodeParams