Mac Developer Library

Developer

IOVideoTypes.h Reference

Options
Deployment Target:

On This Page

IOVideoTypes.h Reference

Inheritance


Not Applicable

Conforms To


Not Applicable

Import Statement


Not Applicable

Objective-C

@import Kernel;

Included Headers

  • <IOKit/IOTypes.h>

  • <mach/message.h>

Data Types

See the Overview section above for header-level documentation.

  • This structure contains an individual notification from the driver.

    Declaration

    Objective-C

    struct IOVideoDeviceNotification { UInt32 mObjectID; UInt32 mNotificationID; UInt32 mNotificationArgument1; UInt32 mNotificationArgument2; UInt64 mNotificationArgument3; UInt64 mNotificationArgument4; };

    Fields

    mObjectID

    The ID of the object to which the notification pertains.

    mNotificationID

    A UInt32 that identifies the kind of the notification.

    mNotificationArgument1

    A UInt32 whose usage depends on the the specific kind of notification.

    mNotificationArgument2

    A UInt32 whose usage depends on the the specific kind of notification.

    mNotificationArgument3

    A UInt64 whose usage depends on the the specific kind of notification.

    mNotificationArgument4

    A UInt64 whose usage depends on the the specific kind of notification.

  • This structure describes a notification from the driver. Note that the message can contain multiple notifications.

    Declaration

    Objective-C

    struct IOVideoDeviceNotificationMessage { mach_msg_header_t mMessageHeader; UInt32 mClientData; UInt32 mNumberNotifications; IOVideoDeviceNotification mNotifications[1]; };

    Fields

    mMessageHeader

    The mach message header.

    mClientData

    The client data that was registered with the mach port.

    mNumberNotifications

    The number of IOVideoNotifications in the mNotifications array.

    mNotifications

    A variable length array of IOVideoNotification structures that carry the actual notification data. The number of elements in this array is denoted by mNumberNotifications, but can also be inferred from the message size in the mach message header.

  • This structure contains an individual notification from the driver.

    Declaration

    Objective-C

    struct IOVideoDeviceNotification { UInt32 mObjectID; UInt32 mNotificationID; UInt32 mNotificationArgument1; UInt32 mNotificationArgument2; UInt64 mNotificationArgument3; UInt64 mNotificationArgument4; };

    Fields

    mObjectID

    The ID of the object to which the notification pertains.

    mNotificationID

    A UInt32 that identifies the kind of the notification.

    mNotificationArgument1

    A UInt32 whose usage depends on the the specific kind of notification.

    mNotificationArgument2

    A UInt32 whose usage depends on the the specific kind of notification.

    mNotificationArgument3

    A UInt64 whose usage depends on the the specific kind of notification.

    mNotificationArgument4

    A UInt64 whose usage depends on the the specific kind of notification.

Constants

See the Overview section above for header-level documentation.

  • The class IDs that identify the various control base classes.

    Declaration

    Objective-C

    enum { kIOVideoControlBaseClassIDBoolean = 'togl', kIOVideoControlBaseClassIDSelector = 'slct', kIOVideoControlBaseClassIDFeature = 'ftct' };

    Constants

    • kIOVideoControlBaseClassIDBoolean

      kIOVideoControlBaseClassIDBoolean

      The class ID that identifies the boolean control class which is a subclass of the base control class. Boolean controls manipulate on/off switches in the hardware.

      Available in OS X v10.7 and later.

    • kIOVideoControlBaseClassIDSelector

      kIOVideoControlBaseClassIDSelector

      The class ID that identifies the selector control class which is a subclass of the base control class. Selector controls manipulate controls that have multiple, but discreet values.

      Available in OS X v10.7 and later.

    • kIOVideoControlBaseClassIDFeature

      kIOVideoControlBaseClassIDFeature

      The class ID that identifies the feature control class which is a subclass of the base control class. Feature controls manipulate various features that might be present on a device, such as hue, saturation, zoom, etc.

      Available in OS X v10.7 and later.

  • Various constants related to controls.

    Declaration

    Objective-C

    enum { kIOVideoControlScopeGlobal = 'glob', kIOVideoControlScopeInput = 'inpt', kIOVideoControlScopeOutput = 'outp', kIOVideoControlScopePlayThrough = 'ptru', kIOVideoControlElementMaster = 0 };

    Constants

    • kIOVideoControlScopeGlobal

      kIOVideoControlScopeGlobal

      The scope for controls that apply to the device as a whole.

      Available in OS X v10.7 and later.

    • kIOVideoControlScopeInput

      kIOVideoControlScopeInput

      The scope for controls that apply to the input section of the device.

      Available in OS X v10.7 and later.

    • kIOVideoControlScopeOutput

      kIOVideoControlScopeOutput

      The scope for controls that apply to the output section of the device.

      Available in OS X v10.7 and later.

    • kIOVideoControlScopePlayThrough

      kIOVideoControlScopePlayThrough

      The scope for controls that apply to the play through section of the device.

      Available in OS X v10.7 and later.

    • kIOVideoControlElementMaster

      kIOVideoControlElementMaster

      The element value for controls that apply to the master element or to the entire scope. Note that other elements are numbered consecutively starting from 1.

      Available in OS X v10.7 and later.

  • The four char codes that identify the various standard subclasses of IOVideoBooleanControl.

    Declaration

    Objective-C

    enum { kIOVideoBooleanControlClassIDJack = 'jack', kIOVideoBooleanControlClassIDDirection = 'dire' };

    Constants

    • kIOVideoBooleanControlClassIDJack

      kIOVideoBooleanControlClassIDJack

      A IOVideoBooleanControl where a true value means something is plugged into that element.

      Available in OS X v10.7 and later.

    • kIOVideoBooleanControlClassIDDirection

      kIOVideoBooleanControlClassIDDirection

      A IOVideoBooleanControl where a true value means the element is operating in input mode, and false means the element is operating in output mode. This control is only needed for devices which can do input and output, but not at the same time.

      Available in OS X v10.7 and later.

  • The four char codes that identify the various standard subclasses of IOVideoFeatureControl.

    Declaration

    Objective-C

    enum { kIOVideoFeatureControlClassIDBlackLevel = 'bklv', kIOVideoFeatureControlClassIDWhiteLevel = 'whlv', kIOVideoFeatureControlClassIDHue = 'hue ', kIOVideoFeatureControlClassIDSaturation = 'satu', kIOVideoFeatureControlClassIDContrast = 'ctst', kIOVideoFeatureControlClassIDSharpness = 'shrp', kIOVideoFeatureControlClassIDBrightness = 'brit', kIOVideoFeatureControlClassIDGain = 'gain', kIOVideoFeatureControlClassIDIris = 'iris', kIOVideoFeatureControlClassIDShutter = 'shtr', kIOVideoFeatureControlClassIDExposure = 'xpsr', kIOVideoFeatureControlClassIDWhiteBalanceU = 'whbu', kIOVideoFeatureControlClassIDWhiteBalanceV = 'whbv', kIOVideoFeatureControlClassIDGamma = 'gmma', kIOVideoFeatureControlClassIDTemperature = 'temp', kIOVideoFeatureControlClassIDZoom = 'zoom', kIOVideoFeatureControlClassIDFocus = 'fcus', kIOVideoFeatureControlClassIDPan = 'pan ', kIOVideoFeatureControlClassIDTilt = 'tilt', kIOVideoFeatureControlClassIDOpticalFilter = 'opft', kIOVideoFeatureControlClassIDBacklightCompensation = 'bklt', kIOVideoFeatureControlClassIDPowerLineFrequency = 'pwfq' };

    Constants

    • kIOVideoFeatureControlClassIDBlackLevel

      kIOVideoFeatureControlClassIDBlackLevel

      A IOVideoFeatureControl that controls the black level offset. The units for the control's absolute value are percetage (%).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDWhiteLevel

      kIOVideoFeatureControlClassIDWhiteLevel

      A IOVideoFeatureControl that controls the white level offset. The units for the control's absolute value are percentage (%).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDHue

      kIOVideoFeatureControlClassIDHue

      A IOVideoFeatureControl that controls the hue offset. Positive values mean counterclockwise, negative values means clockwise on a vector scope. The units for the control's absolute value are degrees (°).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDSaturation

      kIOVideoFeatureControlClassIDSaturation

      A IOVideoFeatureControl that controls color intensity. For example, at high saturation levels, red appears to be red; at low saturation, red appears as pink. The unit for the control's absolute value is a percentage (%).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDContrast

      kIOVideoFeatureControlClassIDContrast

      A IOVideoFeatureControl that controls a the distance bewtween the whitest whites and blackest blacks. The units for the control's absolute value are percentage (%).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDSharpness

      kIOVideoFeatureControlClassIDSharpness

      A IOVideoFeatureControl that controls the sharpness of the picture. The units for the control's absolute value are undefined.

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDBrightness

      kIOVideoFeatureControlClassIDBrightness

      A IOVideoFeatureControl that controls the intensity of the video level. The units for the control's absolute value are percetage (%).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDGain

      kIOVideoFeatureControlClassIDGain

      A IOVideoFeatureControl that controls the amplification of the signal. The units for the control's absolute value are decibels (dB).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDIris

      kIOVideoFeatureControlClassIDIris

      A IOVideoFeatureControl that controls a mechanical lens iris. The units for the control's absolute value are an F number (F).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDShutter

      kIOVideoFeatureControlClassIDShutter

      A IOVideoFeatureControl that controls the integration time of the incoming light. The units for the control's absolute value are seconds (s).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDExposure

      kIOVideoFeatureControlClassIDExposure

      A IOVideoFeatureControl that controls a the total amount of light accumulated. The units for the control's absolute value are exposure value (EV).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDWhiteBalanceU

      kIOVideoFeatureControlClassIDWhiteBalanceU

      A IOVideoFeatureControl that controls the adjustment of the white color of the picture. The units for the control's absolute value are kelvin (K).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDWhiteBalanceV

      kIOVideoFeatureControlClassIDWhiteBalanceV

      A IOVideoFeatureControl that controls a adjustment of the white color of the picture. The units for the control's absolute value are kelvin (K).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDGamma

      kIOVideoFeatureControlClassIDGamma

      A IOVideoFeatureControl that defines the function between incoming light level and output picture level. The units for the control's absolute value are undefined.

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDTemperature

      kIOVideoFeatureControlClassIDTemperature

      A IOVideoFeatureControl that controls the temperature inside of the device and/or controlling temperature. The units for the control's absolute value are undefined.

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDZoom

      kIOVideoFeatureControlClassIDZoom

      A IOVideoFeatureControl that controls the zoom. The units for the control's absolute value are power where 1 is the wide end.

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDFocus

      kIOVideoFeatureControlClassIDFocus

      A IOVideoFeatureControl that controls a focus mechanism. The units for the control's absolute value are meters (m).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDPan

      kIOVideoFeatureControlClassIDPan

      A IOVideoFeatureControl that controls a panning mechanism. Positive values mean clockwise, negative values means counterclockwise. The units for the control's absolute value are degrees (°).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDTilt

      kIOVideoFeatureControlClassIDTilt

      A IOVideoFeatureControl that controls a tilt mechanism. Positive values mean updwards, negative values means downwards. The units for the control's absolute value are degrees (°).

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDOpticalFilter

      kIOVideoFeatureControlClassIDOpticalFilter

      A IOVideoFeatureControl that controls changing the optical filter of camera lens function. The units for the control's absolute value are are undefined.

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDBacklightCompensation

      kIOVideoFeatureControlClassIDBacklightCompensation

      A IOVideoFeatureControl that controls the amount of backlight compensation to apply. A low number indicates the least amount of backlight compensation. The units for the control's absolute value are are undefined.

      Available in OS X v10.7 and later.

    • kIOVideoFeatureControlClassIDPowerLineFrequency

      kIOVideoFeatureControlClassIDPowerLineFrequency

      A IOVideoFeatureControl to specify the power line frequency to properly implement anti-flicker processing. The units for the contorl's absolute value are hertz (Hz).

      Available in OS X v10.7 and later.

  • The four char codes that identify the various standard subclasses of IOVideoSelectorControl.

    Declaration

    Objective-C

    enum { kIOVideoSelectorControlClassIDDataSource = 'dsrc', kIOVideoSelectorControlClassIDDataDestination = 'dest' };

    Constants

    • kIOVideoSelectorControlClassIDDataSource

      kIOVideoSelectorControlClassIDDataSource

      A IOVideoSelectorControl that identifies where the data for the element is coming from.

      Available in OS X v10.7 and later.

    • kIOVideoSelectorControlClassIDDataDestination

      kIOVideoSelectorControlClassIDDataDestination

      A IOVideoSelectorControl that identifies where the data for the element is going.

      Available in OS X v10.7 and later.

  • The four char codes used to identify the kind of the notification.

    Declaration

    Objective-C

    enum { kIOVideoDeviceNotificationID_ControlValueChanged = 'cval', kIOVideoDeviceNotificationID_ControlRangeChanged = 'crng' };

    Constants

    • kIOVideoDeviceNotificationID_ControlValueChanged

      kIOVideoDeviceNotificationID_ControlValueChanged

      Indicates that the value of the control with the given ID has changed. The first argument is the new value.

      Available in OS X v10.7 and later.

    • kIOVideoDeviceNotificationID_ControlRangeChanged

      kIOVideoDeviceNotificationID_ControlRangeChanged

      Indicates that the range of the control with the given ID has changed.

      Available in OS X v10.7 and later.

    Discussion

    All device-level notifications will have an object ID of 0.