Raw FFI bindings to libyuv libraries,This is an unsafe package.
arch/os | linux | windows | macos |
---|---|---|---|
arm64 | ❌ | ❌ | ✅ |
amd64 | ✅ | ✅ | ❌ |
Add the following to your Cargo.toml:
[dependencies]
libyuv = "1"
Convert ARGB to NV12:
let argb = vec![0u8; 1280 * 720 * 4];
let mut nv12 = vec![0u8; 1280 * 720 * 1.5];
let ret = unsafe {
libyuv::argb_to_nv12(
argb.as_ptr(),
1280 * 4,
nv12.as_mut_ptr(),
1280,
nv12.as_mut_ptr().add(1280 * 720),
1280,
1280,
720,
)
};
assert_eq!(ret, 0);
MIT Copyright (c) 2022 Mr.Panda.