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