From 319a8fdf2f79033e5a653d112305066bccdc2d59 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期一, 04 十一月 2019 11:07:16 +0800 Subject: [PATCH] bug fix --- goconv.go | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/goconv.go b/goconv.go index 06dba30..eb4aac0 100644 --- a/goconv.go +++ b/goconv.go @@ -47,6 +47,7 @@ DstW int DstH int + size int conv C.cconv } @@ -64,6 +65,7 @@ srcH, dstW, dstH, + dstW * dstH * 3, c, } } @@ -77,11 +79,16 @@ return nil } + size := dstW * dstH * 3 + if format == SrcFormat { + size /= 2 + } return &GoConv{ srcW, srcH, dstW, dstH, + size, c, } } @@ -99,14 +106,11 @@ return nil } - cin := C.CBytes(src) - defer C.free(cin) - - bgr := C.wrap_fn_conv(unsafe.Pointer(libcffmpeg), c.conv, (*C.uchar)(cin)) + bgr := C.wrap_fn_conv(unsafe.Pointer(libcffmpeg), c.conv, (*C.uchar)(unsafe.Pointer(&src[0]))) 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.size)) } return nil -- Gitblit v1.8.0