From e6725cb3cf4ced3a6985d4d3db4d5cf1336a30d8 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 19 七月 2019 16:53:35 +0800
Subject: [PATCH] merge so

---
 csrc/wrapper.hpp |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/csrc/wrapper.hpp b/csrc/wrapper.hpp
index f242ee7..c1b56e0 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{
@@ -71,11 +73,18 @@
                                 FUNC_REC func);
 
             void ScalePicture(const int w, const int h, const int flags);
+            void UseGB28181();
+            void UseCPU();
         public: //decoder
             void BuildDecoder();
             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_;
@@ -102,10 +111,19 @@
             FUNC_DEC func_dec_;
 
             int scale_w_, scale_h_, scale_f_;
+            int gb_, cpu_;
         //////////////////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