| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #ifndef DEPTHGUIDE_PC_ENCODER_H
- #define DEPTHGUIDE_PC_ENCODER_H
- #include "pc_codec.hpp"
- #include "codec/image_encoder.h"
- #include "core/pc_utility.h"
- #include "image_process/cuda_impl/fake_color.cuh"
- #include "network/binary_utility.hpp"
- #include <memory>
- class pc_encoder {
- public:
- struct create_config {
- using method_type =
- pc_codec::encode_method_enum;
- method_type method = pc_codec::PC_RGB_DEPTH;
- fake_color_method depth_method = FAKE_800P;
- smart_cuda_stream *stream = nullptr;
- image_encoder *img_enc = nullptr;
- };
- explicit pc_encoder(const create_config &conf);
- ~pc_encoder();
- data_type encode(const pc_ptr &pc);
- void clear_cache();
- private:
- struct impl;
- std::unique_ptr<impl> pimpl;
- };
- #endif //DEPTHGUIDE_PC_ENCODER_H
|