video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2019-11-04 319a8fdf2f79033e5a653d112305066bccdc2d59
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