video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2019-11-13 92e01d9faf8c02180361ca0a724324a53ac08229
csrc/wrapper.cpp
@@ -370,14 +370,11 @@
        int br;
        int gi;
        int flag;
        int fmt;
        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 fmt, const char *file){
        if (fmt < 0) return NULL;
                        const int scale_flag, const int gi){
        PicEncoder *e = (PicEncoder*)malloc(sizeof(PicEncoder));
        e->enc = NULL;
@@ -387,7 +384,6 @@
        e->br = br;
        e->gi = gi;
        e->flag = scale_flag;
        e->fmt = fmt;
        e->bridge = NULL;
        VideoProp prop_;
@@ -397,10 +393,7 @@
        prop_.bit_rate_ = br;
        gi < 0 ? prop_.gpu_acc_ = false : prop_.gpu_acc_ = true;
        std::string filename("./88.mp4");
        if (file) filename = file;
      FormatOut *enc = new FormatOut(prop_, filename.c_str());
      FormatOut *enc = new FormatOut(prop_, "./88.mp4");
        e->enc = enc;
        return e;
@@ -425,11 +418,11 @@
        if (e->bridge == NULL){
            e->bridge = new cvbridge(
                    w, h, e->fmt,
                    w, h, AV_PIX_FMT_BGR24,
                    e->w, e->h, ctx->pix_fmt, e->flag);
        }
        AVFrame *bgr_frame = cvbridge::fillFrame(in, w, h, e->fmt);
        AVFrame *bgr_frame = cvbridge::fillFrame(in, w, h, AV_PIX_FMT_BGR24);
        AVFrame *frame = e->bridge->convert2Frame(bgr_frame);
        av_frame_free(&bgr_frame);