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