Chen Xin 9e6a3c8ec5
add csharp support (#388)
* add csharp support, init commit

* export MMDeploySharpExtern.dll when build sdk

* refactor code

* multi frameworks

* move csharp demo to demo folder

* try to fix lint

* try to fix lint

* update csharp demo Readme

* rename MMDeploySharp -> MMDeploy

* add comment why build MMDeployExtern.dll

* squeeze MMDeploy project

* remove Mm

* print error code

* update c# api build README.md

* fix exception

* fix exception

* update demo

* update README.md

* fix typo

* fix ci

* fix ci

* fix formatresult

* add options whether build MMDeployExtern.dll

* update CMakeListst.txt

* change MMDEPLOY_BUILD_CSHARP_EXTERN -> MMDEPLOY_BUILD_SDK_CSHARP_API

* c# api -> C# API

Co-authored-by: chenxin2 <chenxin2@sensetime.com>
2022-05-27 16:02:29 +08:00

92 lines
1.6 KiB
C#

#pragma warning disable 1591
namespace MMDeploy
{
/// <summary>
/// Pixel format.
/// </summary>
public enum PixelFormat
{
BGR,
RGB,
Grayscale,
NV12,
NV21,
BGRA,
UnknownPixelFormat
}
/// <summary>
/// Mat data type.
/// </summary>
public enum DataType
{
Float,
Half,
Int8,
Int32,
UnknownDataType
}
/// <summary>
/// Function return value.
/// </summary>
public enum Status
{
Success = 0,
InvalidArg = 1,
NotSupported = 2,
OutOfRange = 3,
OutOfMemory = 4,
FileNotExist = 5,
Fail = 6,
Unknown = -1,
}
/// <summary>
/// c struct of mm_mat_t.
/// </summary>
public unsafe struct Mat
{
public byte* Data;
public int Height;
public int Width;
public int Channel;
public PixelFormat Format;
public DataType Type;
}
/// <summary>
/// Rect of float value.
/// </summary>
public struct Rect
{
public float Left;
public float Top;
public float Right;
public float Bottom;
}
/// <summary>
/// Point of int.
/// </summary>
public struct Pointi
{
public int X;
public int Y;
}
/// <summary>
/// Point of float.
/// </summary>
public struct Pointf
{
public float X;
public float Y;
public Pointf(float x, float y)
{
X = x;
Y = y;
}
}
}