From b7c7b479c278e74955a1a0a6c949a4d3cf32903a Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期二, 16 七月 2019 17:32:07 +0800 Subject: [PATCH] add encoder --- csrc/wrapper.hpp | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/csrc/wrapper.hpp b/csrc/wrapper.hpp index 10f699f..a7c5ec8 100644 --- a/csrc/wrapper.hpp +++ b/csrc/wrapper.hpp @@ -15,7 +15,8 @@ namespace ffwrapper{ class FormatIn; - + class FormatOut; + class VideoProp; class CodedData; class FrameData; @@ -26,6 +27,7 @@ enum WORKER{ WORKER_RECORDER = 0, WORKER_DECODER, + WORKER_ENCODER, }; namespace cffmpeg_wrap{ @@ -75,6 +77,11 @@ void GetPicDecoder(unsigned char **data, int *w, int *h); //active api void ActiveDecoder(FUNC_DEC fn); + + public: + void BuildEncoder(const char *file, const int w, const int h, const int fps, const int br, const int gi); + int init_encoder(ffwrapper::FormatIn *in, const char *file, const int w, const int h, const int fps, const int br, const int gi); + private: std::string input_url_; @@ -104,7 +111,15 @@ //////////////////test frame to bgr24 public: uint8_t *decodeJPEG(const char *file, int *w, int *h); + + private: + ffwrapper::FormatOut *encoder_; }; + + void *CreateEncoder(const int w, const int h, const int fps, const int br, const int scale_flag, const int gi); + void DestroyEncoder(void *h); + int Encode(void *hdl, uint8_t *in, const int w, const int h, uint8_t **out, int *size, int *key); + } #endif \ No newline at end of file -- Gitblit v1.8.0