34 lines
827 B
Swift
34 lines
827 B
Swift
|
//
|
||
|
// AVCaptureDevice.Format+dimensions.swift
|
||
|
// VisionCamera
|
||
|
//
|
||
|
// Created by Marc Rousavy on 03.08.21.
|
||
|
// Copyright © 2021 mrousavy. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import AVFoundation
|
||
|
import Foundation
|
||
|
|
||
|
extension AVCaptureDevice.Format {
|
||
|
/**
|
||
|
* Returns the dimensions the video pipeline is streaming at.
|
||
|
*/
|
||
|
var videoDimensions: CMVideoDimensions {
|
||
|
return CMVideoFormatDescriptionGetDimensions(formatDescription)
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
Returns the maximum available photo resolution this format can use.
|
||
|
*/
|
||
|
var photoDimensions: CMVideoDimensions {
|
||
|
if #available(iOS 16.0, *) {
|
||
|
if let max = supportedMaxPhotoDimensions.max(by: { left, right in
|
||
|
return left.width * left.height < right.width * right.height
|
||
|
}) {
|
||
|
return max
|
||
|
}
|
||
|
}
|
||
|
return highResolutionStillImageDimensions
|
||
|
}
|
||
|
}
|