video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2019-11-20 dc65b072a13994ff02cc7b54f3b00ba087e7f86a
godecjpeg.go
@@ -34,3 +34,30 @@
   }
   return nil, int(width), int(height)
}
// Decode2 decode jpeg file
// return val: -1 open error; -2, find stream error; -3, converter create error
func Decode2(input string, gb bool) (unsafe.Pointer, []byte, int, int) {
   in := C.CString(input)
   defer C.free(unsafe.Pointer(in))
   withGB := 0
   if gb {
      withGB = 1
   }
   var width C.int
   var height C.int
   p := C.wrap_fn_decode(unsafe.Pointer(libcffmpeg), in, C.int(withGB), &width, &height)
   if width > 0 && height > 0 {
      wid := int(width)
      hei := int(height)
      const maxLen = 0x7fffffff
      size := int(width * height * 3)
      data := (*[maxLen]byte)(unsafe.Pointer(p))[:size:size]
      return p, data, wid, hei
   }
   return nil, nil, 0, 0
}