2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.Runtime.InteropServices;
23 internal static partial class Interop
26 /// Interop for media vision APIs
28 internal static partial class MediaVision
30 [StructLayout(LayoutKind.Sequential)]
37 [StructLayout(LayoutKind.Sequential)]
38 internal struct Rectangle
46 [StructLayout(LayoutKind.Sequential)]
47 internal struct Quadrangle
56 /// Interop for media vision source APIs
58 internal static partial class MediaSource
60 [DllImport(Libraries.MediaVision, EntryPoint = "mv_create_source")]
61 internal static extern int Create(out IntPtr /* mv_source_h */ source);
63 [DllImport(Libraries.MediaVision, EntryPoint = "mv_destroy_source")]
64 internal static extern int Destroy(IntPtr /* mv_source_h */ source);
66 [DllImport(Libraries.MediaVision, EntryPoint = "mv_source_fill_by_media_packet")]
67 internal static extern int FillMediaPacket(IntPtr /* mv_source_h */ source, IntPtr /* media_packet_h */ mediaPacket);
69 [DllImport(Libraries.MediaVision, EntryPoint = "mv_source_fill_by_buffer")]
70 internal static extern int FillBuffer(IntPtr /* mv_source_h */ source, byte[] buffer, int bufferSize, uint imageWidth, uint imageHeight, Tizen.Multimedia.Colorspace colorspace);
72 [DllImport(Libraries.MediaVision, EntryPoint = "mv_source_clear")]
73 internal static extern int Clear(IntPtr /* mv_source_h */ source);
75 [DllImport(Libraries.MediaVision, EntryPoint = "mv_source_get_buffer")]
76 internal static extern int GetBuffer(IntPtr /* mv_source_h */ source, out IntPtr buffer, out int bufferSize);
78 [DllImport(Libraries.MediaVision, EntryPoint = "mv_source_get_height")]
79 internal static extern int GetHeight(IntPtr /* mv_source_h */ source, out uint imageHeight);
81 [DllImport(Libraries.MediaVision, EntryPoint = "mv_source_get_width")]
82 internal static extern int GetWidth(IntPtr /* mv_source_h */ source, out uint imageWidth);
84 [DllImport(Libraries.MediaVision, EntryPoint = "mv_source_get_colorspace")]
85 internal static extern int GetColorspace(IntPtr /* mv_source_h */ source, out Tizen.Multimedia.Colorspace colorspace);
89 /// Interop for engine configuration APIs
91 internal static partial class EngineConfig
93 [DllImport(Libraries.MediaVision, EntryPoint = "mv_create_engine_config")]
94 internal static extern int Create(out IntPtr /* mv_engine_config_h */ engineConfig);
96 [DllImport(Libraries.MediaVision, EntryPoint = "mv_destroy_engine_config")]
97 internal static extern int Destroy(IntPtr /* mv_engine_config_h */ engineConfig);
99 [DllImport(Libraries.MediaVision, EntryPoint = "mv_engine_config_set_double_attribute")]
100 internal static extern int SetDouble(IntPtr /* mv_engine_config_h */ source, string name, double value);
102 [DllImport(Libraries.MediaVision, EntryPoint = "mv_engine_config_set_int_attribute")]
103 internal static extern int SetInt(IntPtr /* mv_engine_config_h */ source, string name, int value);
105 [DllImport(Libraries.MediaVision, EntryPoint = "mv_engine_config_set_bool_attribute")]
106 internal static extern int SetBool(IntPtr /* mv_engine_config_h */ source, string name, bool value);
108 [DllImport(Libraries.MediaVision, EntryPoint = "mv_engine_config_set_string_attribute")]
109 internal static extern int SetString(IntPtr /* mv_engine_config_h */ source, string name, string value);
111 [DllImport(Libraries.MediaVision, EntryPoint = "mv_engine_config_get_double_attribute")]
112 internal static extern int GetDouble(IntPtr /* mv_engine_config_h */ source, string name, out double value);
114 [DllImport(Libraries.MediaVision, EntryPoint = "mv_engine_config_get_int_attribute")]
115 internal static extern int GetInt(IntPtr /* mv_engine_config_h */ source, string name, out int value);
117 [DllImport(Libraries.MediaVision, EntryPoint = "mv_engine_config_get_bool_attribute")]
118 internal static extern int GetBool(IntPtr /* mv_engine_config_h */ source, string name, out bool value);
120 [DllImport(Libraries.MediaVision, EntryPoint = "mv_engine_config_get_string_attribute")]
121 internal static extern int GetString(IntPtr /* mv_engine_config_h */ source, string name, out string value);