| | |
| | | DstW int |
| | | DstH int |
| | | |
| | | size int |
| | | conv C.cconv |
| | | } |
| | | |
| | |
| | | srcH, |
| | | dstW, |
| | | dstH, |
| | | dstW * dstH * 3, |
| | | c, |
| | | } |
| | | } |
| | |
| | | return nil |
| | | } |
| | | |
| | | size := dstW * dstH * 3 |
| | | if format == SrcFormat { |
| | | size /= 2 |
| | | } |
| | | return &GoConv{ |
| | | srcW, |
| | | srcH, |
| | | dstW, |
| | | dstH, |
| | | size, |
| | | c, |
| | | } |
| | | } |
| | |
| | | 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 |