[Camera] Add new preview format (#1520)
authorhsgwon <haesu.gwon@samsung.com>
Wed, 22 Apr 2020 07:15:35 +0000 (16:15 +0900)
committerGitHub <noreply@github.com>
Wed, 22 Apr 2020 07:15:35 +0000 (16:15 +0900)
* [Camera] Add new preview format

src/Tizen.Multimedia.Camera/Camera/CameraEnums.cs
src/Tizen.Multimedia.Camera/Camera/EncodedPlane.cs [changed mode: 0755->0644]
src/Tizen.Multimedia.Camera/Camera/PreviewFrame.cs
src/Tizen.Multimedia.Camera/Interop/Interop.Camera.cs

index c1b8b20..3f94a07 100644 (file)
@@ -234,7 +234,12 @@ namespace Tizen.Multimedia
         /// Depth pixel format.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        Invz
+        Invz,
+        /// <summary>
+        /// Encoded pixel format : Motion JPEG
+        /// </summary>
+        /// <since_tizen> 8 </since_tizen>
+        Mjpeg
     }
 
     /// <summary>
old mode 100755 (executable)
new mode 100644 (file)
index 30aaff9..fae8ea9
@@ -29,6 +29,8 @@ namespace Tizen.Multimedia
         {
             Data = new byte[unmanagedData.DataLength];
             Marshal.Copy(unmanagedData.Data, Data, 0, (int)unmanagedData.DataLength);
+
+            IsDeltaFrame = unmanagedData.IsDeltaFrame;
         }
 
         /// <summary>
@@ -36,5 +38,11 @@ namespace Tizen.Multimedia
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public byte[] Data { get; }
+
+        /// <summary>
+        /// The flag indicating whether the current frame is a delta frame or not.
+        /// </summary>
+        /// <since_tizen> 8 </since_tizen>
+        public bool IsDeltaFrame { get; }
     }
 }
index f497f7d..0b51afb 100644 (file)
@@ -42,7 +42,8 @@ namespace Tizen.Multimedia
         {
             if (unmanagedStruct.NumOfPlanes == 1)
             {
-                if (unmanagedStruct.Format == CameraPixelFormat.H264 || unmanagedStruct.Format == CameraPixelFormat.Jpeg)
+                if (unmanagedStruct.Format == CameraPixelFormat.H264 || unmanagedStruct.Format == CameraPixelFormat.Jpeg
+                    || unmanagedStruct.Format == CameraPixelFormat.Mjpeg)
                 {
                     return new EncodedPlane(unmanagedStruct.Plane.EncodedPlane);
                 }
@@ -79,7 +80,8 @@ namespace Tizen.Multimedia
         {
             if (unmanagedStruct.NumOfPlanes == 1)
             {
-                if (unmanagedStruct.Format == CameraPixelFormat.H264 || unmanagedStruct.Format == CameraPixelFormat.Jpeg)
+                if (unmanagedStruct.Format == CameraPixelFormat.H264 || unmanagedStruct.Format == CameraPixelFormat.Jpeg
+                    || unmanagedStruct.Format == CameraPixelFormat.Mjpeg)
                 {
                     return PlaneType.EncodedPlane;
                 }
index 3144800..aca2143 100644 (file)
@@ -253,6 +253,7 @@ internal static partial class Interop
         {
             internal IntPtr Data;
             internal uint DataLength;
+            internal bool IsDeltaFrame;
         }
 
         [StructLayout(LayoutKind.Sequential)]