From dbf2d66ef422388631509b06243b194319c813bf Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期四, 21 十一月 2019 14:47:51 +0800
Subject: [PATCH] update

---
 csrc/wrapper.cpp |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/csrc/wrapper.cpp b/csrc/wrapper.cpp
index af25ea4..373ec37 100644
--- a/csrc/wrapper.cpp
+++ b/csrc/wrapper.cpp
@@ -307,12 +307,13 @@
         int fps;
         int br;
         int gi;
+        int pix_fmt;
         int flag;
         cvbridge *bridge;
     } PicEncoder;
 
     void *CreateEncoder(const int w, const int h, const int fps, const int br, 
-                        const int scale_flag, const int gi){
+                        const int pix_fmt, const int scale_flag, const int gi){
 
         PicEncoder *e = (PicEncoder*)malloc(sizeof(PicEncoder));
         e->enc = NULL;
@@ -321,6 +322,7 @@
         e->fps = fps;
         e->br = br;
         e->gi = gi;
+        e->pix_fmt = pix_fmt;
         e->flag = scale_flag;
         e->bridge = NULL;
 
@@ -356,11 +358,11 @@
 
         if (e->bridge == NULL){
             e->bridge = new cvbridge(
-                    w, h, AV_PIX_FMT_BGR24,
+                    w, h, e->pix_fmt,
                     e->w, e->h, ctx->pix_fmt, e->flag);
         }
 
-        AVFrame *bgr_frame = cvbridge::fillFrame(in, w, h, AV_PIX_FMT_BGR24);
+        AVFrame *bgr_frame = cvbridge::fillFrame(in, w, h, e->pix_fmt);
         AVFrame *frame = e->bridge->convert2Frame(bgr_frame);
         av_frame_free(&bgr_frame);
 

--
Gitblit v1.8.0