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