From de6e563245cdfabc5bd3890d05b7e54bdbf16eb4 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期三, 09 十月 2019 16:36:16 +0800
Subject: [PATCH] add resize format
---
csrc/wrapper.cpp | 10 +++-------
csrc/wrapper.hpp | 2 +-
cffmpeg.h | 2 +-
goconv.go | 12 ++++++++----
libcffmpeg.c | 4 ++--
csrc/cffmpeg.cpp | 4 ++--
libcffmpeg.h | 4 ++--
7 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/cffmpeg.h b/cffmpeg.h
index ccc21a6..3128ee1 100644
--- a/cffmpeg.h
+++ b/cffmpeg.h
@@ -36,7 +36,7 @@
// conv cpu
void *c_ffmpeg_create_conv(const int srcW, const int srcH, const int srcFormat,
- const int dstW, const int dstH, const int flag);
+ const int dstW, const int dstH, const int dstFormat, const int flag);
void c_ffmpeg_destroy_conv(void *h);
void *c_ffmpeg_conv(void *h, uint8_t *in);
diff --git a/csrc/cffmpeg.cpp b/csrc/cffmpeg.cpp
index 9ade6f9..824b2a7 100644
--- a/csrc/cffmpeg.cpp
+++ b/csrc/cffmpeg.cpp
@@ -118,8 +118,8 @@
}
void *c_ffmpeg_create_conv(const int srcW, const int srcH, const int srcFormat,
- const int dstW, const int dstH, const int flag){
- return CreateConvertor(srcW, srcH, srcFormat, dstW, dstH, flag);
+ const int dstW, const int dstH, const int dstFormat, const int flag){
+ return CreateConvertor(srcW, srcH, srcFormat, dstW, dstH, dstFormat, flag);
}
void *c_ffmpeg_conv(void *h, uint8_t *in){
diff --git a/csrc/wrapper.cpp b/csrc/wrapper.cpp
index 5d63805..0e847bf 100644
--- a/csrc/wrapper.cpp
+++ b/csrc/wrapper.cpp
@@ -435,15 +435,11 @@
}Conv;
void *CreateConvertor(const int srcW, const int srcH, const int srcFormat,
- const int dstW, const int dstH, const int flag){
- AVPixelFormat pix_fmt = AV_PIX_FMT_BGR24;
- // just resize
- if (flag == 0){
- pix_fmt = (AVPixelFormat)srcFormat;
- }
+ const int dstW, const int dstH, const int dstFormat, const int flag){
+
auto bridge = new cvbridge(
srcW, srcH, srcFormat,
- dstW, dstH, pix_fmt, flag);
+ dstW, dstH, dstFormat, flag);
if (!bridge) return NULL;
Conv *c = (Conv*)malloc(sizeof(Conv));
diff --git a/csrc/wrapper.hpp b/csrc/wrapper.hpp
index 13d5f7d..bd9d24f 100644
--- a/csrc/wrapper.hpp
+++ b/csrc/wrapper.hpp
@@ -81,7 +81,7 @@
int Encode(void *hdl, uint8_t *in, const int w, const int h, uint8_t **out, int *size, int *key);
void *CreateConvertor(const int srcW, const int srcH, const int srcFormat,
- const int dstW, const int dstH, const int flag);
+ const int dstW, const int dstH, const int dstFormat, const int flag);
uint8_t *Convert(void *h, uint8_t *src);
void DestoryConvertor(void *h);
diff --git a/goconv.go b/goconv.go
index a120b2a..ebf4ea8 100644
--- a/goconv.go
+++ b/goconv.go
@@ -35,7 +35,10 @@
)
// SrcFormat format
-const srcFormat = 23
+const SrcFormat = 23
+
+// DstFormat format
+const DstFormat = 3
// GoConv conv
type GoConv struct {
@@ -49,7 +52,8 @@
// NewConv new conv
func NewConv(srcW, srcH, dstW, dstH, scaleFlag int) *GoConv {
- c := C.wrap_fn_create_conv(C.int(srcW), C.int(srcH), C.int(srcFormat), C.int(dstW), C.int(dstH), C.int(scaleFlag))
+ c := C.wrap_fn_create_conv(C.int(srcW), C.int(srcH), C.int(SrcFormat),
+ C.int(dstW), C.int(dstH), C.int(DstFormat), C.int(scaleFlag))
if c == nil {
return nil
@@ -65,8 +69,8 @@
}
// NewResizer resize
-func NewResizer(srcW, srcH, dstW, dstH int) *GoConv {
- c := C.wrap_fn_create_conv(C.int(srcW), C.int(srcH), C.int(srcFormat), C.int(dstW), C.int(dstH), ScaleNone)
+func NewResizer(srcW, srcH, format, dstW, dstH int) *GoConv {
+ c := C.wrap_fn_create_conv(C.int(srcW), C.int(srcH), C.int(format), C.int(dstW), C.int(dstH), C.int(format), ScaleNone)
if c == nil {
return nil
diff --git a/libcffmpeg.c b/libcffmpeg.c
index 2414a16..8f9bd3f 100644
--- a/libcffmpeg.c
+++ b/libcffmpeg.c
@@ -152,8 +152,8 @@
// for conv
cconv wrap_fn_create_conv(const int srcW, const int srcH, const int srcFormat,
- const int dstW, const int dstH, const int flag){
- return fn_create_conv(srcW, srcH, srcFormat, dstW, dstH, flag);
+ const int dstW, const int dstH, const int dstFormat, const int flag){
+ return fn_create_conv(srcW, srcH, srcFormat, dstW, dstH, dstFormat, flag);
}
void wrap_fn_destroy_conv(const cconv h){
diff --git a/libcffmpeg.h b/libcffmpeg.h
index 44d82b2..13be006 100644
--- a/libcffmpeg.h
+++ b/libcffmpeg.h
@@ -75,7 +75,7 @@
// for conv
typedef void *cconv;
-typedef cconv (*lib_cffmpeg_create_conv)(const int, const int, const int, const int, const int, const int);
+typedef cconv (*lib_cffmpeg_create_conv)(const int, const int, const int, const int, const int, const int, const int);
typedef void* (*lib_cffmpeg_conv)(const cconv, uint8_t *in);
typedef void (*lib_cffmpeg_destroy_conv)(const cconv);
@@ -84,7 +84,7 @@
static lib_cffmpeg_conv fn_conv = NULL;
cconv wrap_fn_create_conv(const int srcW, const int srcH, const int srcFormat,
- const int dstW, const int dstH, const int flag);
+ const int dstW, const int dstH, const int dstFormat, const int flag);
void wrap_fn_destroy_conv(const cconv h);
void* wrap_fn_conv(const cconv h, uint8_t *in);
--
Gitblit v1.8.0