imencode function

(bool, VecU8) imencode(
  1. String ext,
  2. VARP src, {
  3. List<int> params = const [],
})

Implementation

(bool success, VecU8 data) imencode(String ext, VARP src, {List<int> params = const []}) {
  final cExt = ext.toNativeUtf8().cast<ffi.Char>();
  final pOut = calloc<c.VecU8>();
  final pParams = params.isEmpty ? ffi.nullptr : calloc<ffi.Int32>(params.length)
    ..asTypedList(params.length).setAll(0, params);
  try {
    final success = c.mnn_cv_imencode(cExt, src.ptr, pParams.cast(), params.length, pOut);
    final rval = (success, VecU8.fromPointer(pOut.value));
    return rval;
  } finally {
    calloc.free(pOut);
    calloc.free(cExt);
    calloc.free(pParams);
  }
}