mirror of
https://github.com/HaishinKit/HaishinKit.swift.git
synced 2026-06-06 20:17:36 +00:00
48 lines
4.2 KiB
Swift
48 lines
4.2 KiB
Swift
import Foundation
|
|
import VideoToolbox
|
|
|
|
struct VTSessionOptionKey {
|
|
static let depth = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_Depth)
|
|
static let profileLevel = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_ProfileLevel)
|
|
static let H264EntropyMode = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_H264EntropyMode)
|
|
static let numberOfPendingFrames = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_NumberOfPendingFrames)
|
|
static let pixelBufferPoolIsShared = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_PixelBufferPoolIsShared)
|
|
static let videoEncoderPixelBufferAttributes = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes)
|
|
static let aspectRatio16x9 = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_AspectRatio16x9)
|
|
static let cleanAperture = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_CleanAperture)
|
|
static let fieldCount = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_FieldCount)
|
|
static let fieldDetail = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_FieldDetail)
|
|
static let pixelAspectRatio = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_PixelAspectRatio)
|
|
static let progressiveScan = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_ProgressiveScan)
|
|
static let colorPrimaries = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_ColorPrimaries)
|
|
static let transferFunction = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_TransferFunction)
|
|
static let YCbCrMatrix = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_YCbCrMatrix)
|
|
static let ICCProfile = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_ICCProfile)
|
|
static let expectedDuration = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_ExpectedDuration)
|
|
static let expectedFrameRate = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_ExpectedFrameRate)
|
|
static let sourceFrameCount = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_SourceFrameCount)
|
|
static let allowFrameReordering = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_AllowFrameReordering)
|
|
static let allowTemporalCompression = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_AllowTemporalCompression)
|
|
static let maxKeyFrameInterval = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_MaxKeyFrameInterval)
|
|
static let maxKeyFrameIntervalDuration = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration)
|
|
#if os(macOS)
|
|
static let usingHardwareAcceleratedVideoEncoder = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder)
|
|
static let requireHardwareAcceleratedVideoEncoder = VTSessionOptionKey(CFString: kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder)
|
|
static let enableHardwareAcceleratedVideoEncoder = VTSessionOptionKey(CFString: kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder)
|
|
#endif
|
|
static let multiPassStorage = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_MultiPassStorage)
|
|
static let forceKeyFrame = VTSessionOptionKey(CFString: kVTEncodeFrameOptionKey_ForceKeyFrame)
|
|
static let pixelTransferProperties = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_PixelTransferProperties)
|
|
static let averageBitRate = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_AverageBitRate)
|
|
static let dataRateLimits = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_DataRateLimits)
|
|
static let moreFramesAfterEnd = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_MoreFramesAfterEnd)
|
|
static let moreFramesBeforeStart = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_MoreFramesBeforeStart)
|
|
static let quality = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_Quality)
|
|
static let realTime = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_RealTime)
|
|
static let maxH264SliceBytes = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_MaxH264SliceBytes)
|
|
static let maxFrameDelayCount = VTSessionOptionKey(CFString: kVTCompressionPropertyKey_MaxFrameDelayCount)
|
|
static let encoderID = VTSessionOptionKey(CFString: kVTVideoEncoderSpecification_EncoderID)
|
|
|
|
let CFString: CFString
|
|
}
|