From 87fea24e8bba1bfbee707cdaa6f7979451531acc Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期六, 19 十月 2019 10:23:01 +0800
Subject: [PATCH] add interface rec duration

---
 goconv.go |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/goconv.go b/goconv.go
index 459b3dd..b81ec36 100644
--- a/goconv.go
+++ b/goconv.go
@@ -35,21 +35,43 @@
 )
 
 // SrcFormat format
-const srcFormat = 23
+const SrcFormat = 23
+
+// DstFormat format
+const DstFormat = 3
 
 // GoConv conv
 type GoConv struct {
-	srcW int
-	srcH int
-	dstW int
-	dstH int
+	SrcW int
+	SrcH int
+	DstW int
+	DstH int
 
 	conv C.cconv
 }
 
 // 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
+	}
+
+	return &GoConv{
+		srcW,
+		srcH,
+		dstW,
+		dstH,
+		c,
+	}
+}
+
+// NewResizer resize
+func NewResizer(srcW, srcH, format, dstW, dstH, scaleFlag 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), C.int(scaleFlag))
 
 	if c == nil {
 		return nil
@@ -84,12 +106,20 @@
 	defer C.free(unsafe.Pointer(bgr))
 
 	if bgr != nil {
-		return C.GoBytes(bgr, C.int(c.dstW*c.dstH*3))
+		return C.GoBytes(bgr, C.int(c.DstW*c.DstH*3))
 	}
 
 	return nil
 }
 
+// Resize resize
+func (c *GoConv) Resize(src []byte) []byte {
+	if c.SrcW == c.DstW && c.SrcH == c.DstH {
+		return src
+	}
+	return c.ConvToPicture(src)
+}
+
 /////////////// for conv
 
 // ConvGPU conv gpu resize

--
Gitblit v1.8.0