public float GetHighestFrameRate(HoloLensCameraStream.Resolution forResolution) { if (videoCapture == null) { throw new Exception("Please call this method after a VideoCapture instance has been created."); } return(videoCapture.GetSupportedFrameRatesForResolution(forResolution).OrderByDescending(r => r).FirstOrDefault()); }
protected virtual HoloLensCameraStream.CameraParameters CreateCameraParams(HoloLensCameraStream.VideoCapture videoCapture) { int min1 = videoCapture.GetSupportedResolutions().Min(r => Mathf.Abs((r.width * r.height) - (_requestedWidth * _requestedHeight))); HoloLensCameraStream.Resolution resolution = videoCapture.GetSupportedResolutions().First(r => Mathf.Abs((r.width * r.height) - (_requestedWidth * _requestedHeight)) == min1); float min2 = videoCapture.GetSupportedFrameRatesForResolution(resolution).Min(f => Mathf.Abs(f - _requestedFPS)); float frameRate = videoCapture.GetSupportedFrameRatesForResolution(resolution).First(f => Mathf.Abs(f - _requestedFPS) == min2); HoloLensCameraStream.CameraParameters cameraParams = new HoloLensCameraStream.CameraParameters(); cameraParams.cameraResolutionHeight = resolution.height; cameraParams.cameraResolutionWidth = resolution.width; cameraParams.frameRate = Mathf.RoundToInt(frameRate); cameraParams.pixelFormat = CapturePixelFormat.BGRA32; cameraParams.enableHolograms = false; return(cameraParams); }
protected virtual HoloLensCameraStream.CameraParameters CreateCameraParams(HoloLensCameraStream.VideoCapture videoCapture) { int min1 = videoCapture.GetSupportedResolutions().Min(r => Mathf.Abs((r.width * r.height) - (_requestedWidth * _requestedHeight))); HoloLensCameraStream.Resolution resolution = videoCapture.GetSupportedResolutions().First(r => Mathf.Abs((r.width * r.height) - (_requestedWidth * _requestedHeight)) == min1); float min2 = videoCapture.GetSupportedFrameRatesForResolution(resolution).Min(f => Mathf.Abs(f - _requestedFPS)); float frameRate = videoCapture.GetSupportedFrameRatesForResolution(resolution).First(f => Mathf.Abs(f - _requestedFPS) == min2); HoloLensCameraStream.CameraParameters cameraParams = new HoloLensCameraStream.CameraParameters(); cameraParams.cameraResolutionHeight = resolution.height; cameraParams.cameraResolutionWidth = resolution.width; cameraParams.frameRate = Mathf.RoundToInt(frameRate); cameraParams.pixelFormat = (outputColorFormat == ColorFormat.GRAY) ? CapturePixelFormat.NV12 : CapturePixelFormat.BGRA32; cameraParams.rotateImage180Degrees = false; cameraParams.enableHolograms = false; cameraParams.enableVideoStabilization = false; cameraParams.recordingIndicatorVisible = false; return(cameraParams); }