[Camera] Add new CameraPixelFormat - VP8,VP9 (#3164)
authorHaesu Gwon <haesu.gwon@samsung.com>
Tue, 15 Jun 2021 02:52:45 +0000 (11:52 +0900)
committerGitHub <noreply@github.com>
Tue, 15 Jun 2021 02:52:45 +0000 (11:52 +0900)
* [Camera] Add new CameraPixelFormat - VP8,VP9

src/Tizen.Multimedia.Camera/Camera/CameraEnums.cs
src/Tizen.Multimedia.Camera/Camera/PreviewFrame.cs

index 7c01ebf..ca5a5b0 100644 (file)
@@ -240,7 +240,17 @@ namespace Tizen.Multimedia
         /// Encoded pixel format : Motion JPEG
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        Mjpeg
+        Mjpeg,
+        /// <summary>
+        /// Encoded pixel format : VP8
+        /// </summary>
+        /// <since_tizen> 9 </since_tizen>
+        Vp8,
+        /// <summary>
+        /// Encoded pixel format : VP9
+        /// </summary>
+        /// <since_tizen> 9 </since_tizen>
+        Vp9
     }
 
     /// <summary>
index 0b51afb..756e6f4 100644 (file)
@@ -38,72 +38,58 @@ namespace Tizen.Multimedia
             Plane = ConvertPlane(unmanagedStruct);
         }
 
-        private IPreviewPlane ConvertPlane(CameraPreviewDataStruct unmanagedStruct)
+        private static PlaneType GetPlaneType(CameraPreviewDataStruct unmanagedStruct)
         {
             if (unmanagedStruct.NumOfPlanes == 1)
             {
-                if (unmanagedStruct.Format == CameraPixelFormat.H264 || unmanagedStruct.Format == CameraPixelFormat.Jpeg
-                    || unmanagedStruct.Format == CameraPixelFormat.Mjpeg)
-                {
-                    return new EncodedPlane(unmanagedStruct.Plane.EncodedPlane);
-                }
-                else if (unmanagedStruct.Format == CameraPixelFormat.Invz)
-                {
-                    return new DepthPlane(unmanagedStruct.Plane.DepthPlane);
-                }
-                else if (unmanagedStruct.Format == CameraPixelFormat.Rgba || unmanagedStruct.Format == CameraPixelFormat.Argb)
-                {
-                    return new RgbPlane(unmanagedStruct.Plane.RgbPlane);
-                }
-                else
+                switch (unmanagedStruct.Format)
                 {
-                    return new SinglePlane(unmanagedStruct.Plane.SinglePlane);
+                    case CameraPixelFormat.H264:
+                    case CameraPixelFormat.Jpeg:
+                    case CameraPixelFormat.Mjpeg:
+                    case CameraPixelFormat.Vp8:
+                    case CameraPixelFormat.Vp9:
+                        return PlaneType.EncodedPlane;
+                    case CameraPixelFormat.Invz:
+                        return PlaneType.DepthPlane;
+                    case CameraPixelFormat.Rgba:
+                    case CameraPixelFormat.Argb:
+                        return PlaneType.RgbPlane;
+                    default:
+                        return PlaneType.SinglePlane;
                 }
             }
             else if (unmanagedStruct.NumOfPlanes == 2)
             {
-                var size = Resolution.Width * Resolution.Height;
-                unmanagedStruct.Plane.DoublePlane.YLength = (uint)size;
-                unmanagedStruct.Plane.DoublePlane.UVLength = (uint)size / 2;
-                return new DoublePlane(unmanagedStruct.Plane.DoublePlane);
-            }
-            else if (unmanagedStruct.NumOfPlanes == 3)
-            {
-                return new TriplePlane(unmanagedStruct.Plane.TriplePlane);
+                return PlaneType.DoublePlane;
             }
 
-            Debug.Fail("Unknown preview data!");
-            return null;
+            return PlaneType.TriplePlane;
         }
 
-        private static PlaneType GetPlaneType(CameraPreviewDataStruct unmanagedStruct)
+        private IPreviewPlane ConvertPlane(CameraPreviewDataStruct unmanagedStruct)
         {
-            if (unmanagedStruct.NumOfPlanes == 1)
-            {
-                if (unmanagedStruct.Format == CameraPixelFormat.H264 || unmanagedStruct.Format == CameraPixelFormat.Jpeg
-                    || unmanagedStruct.Format == CameraPixelFormat.Mjpeg)
-                {
-                    return PlaneType.EncodedPlane;
-                }
-                else if (unmanagedStruct.Format == CameraPixelFormat.Invz)
-                {
-                    return PlaneType.DepthPlane;
-                }
-                else if (unmanagedStruct.Format == CameraPixelFormat.Rgba || unmanagedStruct.Format == CameraPixelFormat.Argb)
-                {
-                    return PlaneType.RgbPlane;
-                }
-                else
-                {
-                    return PlaneType.SinglePlane;
-                }
-            }
-            else if (unmanagedStruct.NumOfPlanes == 2)
+            switch (PlaneType)
             {
-                return PlaneType.DoublePlane;
+                case PlaneType.SinglePlane:
+                    return new SinglePlane(unmanagedStruct.Plane.SinglePlane);
+                case PlaneType.DoublePlane:
+                    var size = Resolution.Width * Resolution.Height;
+                    unmanagedStruct.Plane.DoublePlane.YLength = (uint)size;
+                    unmanagedStruct.Plane.DoublePlane.UVLength = (uint)size / 2;
+                    return new DoublePlane(unmanagedStruct.Plane.DoublePlane);
+                case PlaneType.TriplePlane:
+                    return new TriplePlane(unmanagedStruct.Plane.TriplePlane);
+                case PlaneType.EncodedPlane:
+                    return new EncodedPlane(unmanagedStruct.Plane.EncodedPlane);
+                case PlaneType.DepthPlane:
+                    return new DepthPlane(unmanagedStruct.Plane.DepthPlane);
+                case PlaneType.RgbPlane:
+                    return new RgbPlane(unmanagedStruct.Plane.RgbPlane);
             }
 
-            return PlaneType.TriplePlane;
+            Debug.Fail("Unknown preview data!");
+            return null;
         }
 
         /// <summary>