The codebase to run the *spark d-fuser controller www.sparkav.co.uk/dvimixer
Dependencies: SPK-TVOne DMX DmxArtNet NetServicesMin OSC PinDetect mRotaryEncoder iniparser mbed spk_oled_ssd1305 filter
Diff: spk_tvone.h
- Revision:
- 0:87aab40d5806
- Child:
- 1:f9fca21102e0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spk_tvone.h Sat Mar 10 19:26:44 2012 +0000 @@ -0,0 +1,348 @@ +// *spark audio-visual and v002 +// RS232 Control for TV-One products +// Good for 1T-C2-750, others will need some extra work +// Copyright *spark audio-visual / v002 2009-2011 + +#ifndef SPKTVOne_h +#define SPKTVOne_h + +// Sources - Note only higher end models have more than 2 in.... +//#pragma mark - +//#pragma mark Channel / Sources + +#define kTV1SourceRGB1 0x10 +#define kTV1SourceRGB2 0x11 +#define kTV1SourceRGB3 0x12 +#define kTV1SourceRGB4 0x13 +#define kTV1SourceRGB5 0x14 +#define kTV1SourceRGB6 0x15 + +// Window +//#pragma mark - +//#pragma mark Window IDs + +#define kTV1WindowIDA 'A' // aka 0x41 +#define kTV1WindowIDB 'B' +#define kTV1WindowIDZ 'Z' +#define kTV1WindowIDLogoA 'a' // aka 0x61 +#define kTV1WindowIDLogoB 'b' + +//#pragma mark - +//#pragma mark Functions + +// Complete function list for verbosity. We will probably only be using a small small subset. Useful to have in one place. + +// Preset & Mixer Mode Functions +#define kTV1FunctionMode 0x109 // Values: 0 = Switcher, 1 = Independant, 2 = Dual PIP +#define kTV1FunctionPreset 0x225 // Values: 0 - 9 (Preset 1 to 10) Set the current preset for the following functions. +#define kTV1FunctionPresetLoad 0x226 // Values: 1 to Load - switches back to 0 after a load +#define kTV1FunctionPresetStore 0x227 // Values: 1 to Store - switches back to 0 after a store +#define kTV1FunctionPresetErase 0x228 // Values: 1 to Erase - switches back to 0 after erase + +// Adjust output Functions +//#pragma mark - +#define kTV1FunctionAdjustOutputsOutputEnable 0x170 // Values: 0 = Blanked 1 = Active +#define kTV1FunctionAdjustOutputsLockSource 0x149 // Values: 0x10 to 0x1F = RGB1 - RGB 16 (see manual for other values corresponding to SDI, CV etc) +#define kTV1FunctionAdjustOutputsLockMethod 0x10A // Values: 0 = Off, 1 = Genlock, 2 = Lock & Mix (see manual for other values) +#define kTV1FunctionAdjustOutputsLockHShift 0x14A // Values: -4096 - 4096 +#define kTV1FunctionAdjustOutputsLockVShift 0x14B // Values: -4096 - 4096 +#define kTV1FunctionAdjustOutputsOutputResolution 0x083 // Values: 0 - 1000 (which resolution, "pragma mark" Resolutions for list. +#define kTV1FunctionAdjustOutputsOutputImageTypeA 0x0E2 // Values: 0 = RGBHV, 2 = RGBsB, 3 = YUV, 4 = tlYUV, 7 = tlRGB (Analog) +#define kTV1FunctionAdjustOutputsOutputImageTypeD 0x16C // Values: 0 = RGBHV, 3 = YUV, 9 = Not Available (?) (Digital) +#define kTV1FunctionAdjustOutputsHDCPRequired 0x233 // Values: 0 = Off, 1 = On (if display supports it) +#define kTV1FunctionAdjustOutputsHDCPStatus 0x234 // Values: 0 = Unavailable, 1 = Supported, 2 = Active, 3 = Repeater Supported, 4 = Repeater Active +#define kTV1FunctionAdjustOutputsBackgroundY 0x13B // Values: 16-235 +#define kTV1FunctionAdjustOutputsBackgroundU 0x13C // Values: 16-235 +#define kTV1FunctionAdjustOutputsBackgroundV 0x13D // Values: 16-235 +#define kTV1FunctionAdjustOutputsSDIOptimization 0x197 // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustOutputsOutputStandard 0x101 // Values: 0 = NTSC/PAL, 1 = PAL-M / PAL-N, 2 = SECAM +#define kTV1FunctionAdjustOutputsCVYCIRE 0x133 // Values: -0.75 - 12.5 +#define kTV1FunctionAdjustOutputsCVYCHue 0x139 // Values: -22 - 22 +#define kTV1FunctionAdjustOutputsSCHPhase 0x085 // Values: -180 - 180 +#define kTV1FunctionAdjustOutputsLumaBandwidth 0x134 // Values: 0 = Low, 1 = Medium, 2 = High +#define kTV1FunctionAdjustOutputsChromaBandwidth 0x135 // Values: 0 = Low, 1 = Medium, 2 = High +#define kTV1FunctionAdjustOutputsOutputChromaDelay 0x137 // Values: -4 - 3 +#define kTV1FunctionAdjustOutputsPalWSS 0x130 // Values: 0-8 (see manual for value explanation) +#define kTV1FunctionAdjustOutputsTake 0x11E // Values: 0->1 Perform a Preview -> Program transition (?) +#define kTV1FunctionAdjustOutputsVolume 0x201 // Values: -16 - 15 (-16 = Mute) +// Left out additional functions specific to SDI Audio Channel adjustment + +// Adjust Windows Functions - Note for window functions, you must specify a Window to work on via the below value +//#pragma mark - + +#define kTV1FunctionAdjustWindowsWindowSource 0x82 // Values: 0x10 to 0x1F = RGB1 to RGB16 +#define kTV1FunctionAdjustWindowsSelectUniSource 0x241 // Values: 0xE0 to OxEF for universal source 1 - 16 +#define kTV1FunctionAdjustWindowsSourceResolution 0xF8 // Values: (Read only) Resolution # +#define kTV1FunctionAdjustWindowsEnable 0x12B // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustWindowsZoomLevel 0x86 // Values: 100 - 1000 +#define kTV1FunctionAdjustWindowsZoomLevelH 0x103 // Values: 100 - 1000 (only if advanced aspect ratio mode is enabled) +#define kTV1FunctionAdjustWindowsZoomLevelV 0x105 // Values: 100 - 1000 (only if advanced aspect ratio mode is enabled) +#define kTV1FunctionAdjustWindowsAspectRationIn 0x107 // Values: 0.1:1 - 9.99:1 (read only) +#define kTV1FunctionAdjustWindowsZoomPanH 0x9F // Values: 0 - 100 +#define kTV1FunctionAdjustWindowsZoomPanV 0xA0 // Values: 0 - 100 +#define kTV1FunctionAdjustWindowsImageFreeze 0x9C // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustWindowsCropH 0x223 // Values: 0 - 100 +#define kTV1FunctionAdjustWindowsCropV 0x224 // Values: 0 - 100 +#define kTV1FunctionAdjustWindowsOutShiftH 0xAD // Values: -4096 - 4096 +#define kTV1FunctionAdjustWindowsOutShiftV 0xAE // Values: -4096 - 4096 +#define kTV1FunctionAdjustWindowsShrinkLevel 0x87 // Values: 10 - 100 +#define kTV1FunctionAdjustWindowsShrinkLevelH 0x104 // Values: 10 - 100 (only if advanced aspect ratio mode is enabled) +#define kTV1FunctionAdjustWindowsShrinkLevelV 0x106 // Values: 10 - 100 (only if advanced aspect ratio mode is enabled) +#define kTV1FunctionAdjustWindowsShrinkEnable 0x18E // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustWindowsShrinkPosH 0xDA // Values: 0 - 100 +#define kTV1FunctionAdjustWindowsShrinkPosV 0xDB // Values: 0 - 100 +#define kTV1FunctionAdjustWindowsInTopLeftH 0x21B // ?? +#define kTV1FunctionAdjustWindowsInTopLeftV 0x21D // ?? +#define kTV1FunctionAdjustWindowsInSizeH 0x21C // ?? +#define kTV1FunctionAdjustWindowsInSizeV 0x21E // ?? +#define kTV1FunctionAdjustWindowsOutTopLeftH 0x21F // ?? +#define kTV1FunctionAdjustWindowsOutTopLeftV 0x221 // ?? +#define kTV1FunctionAdjustWindowsOutSizeH 0x220 // ?? +#define kTV1FunctionAdjustWindowsOutTopLeft 0x222 // ?? +#define kTV1FunctionAdjustWindowsAspectChange 0x190 // Values: 0 = Normal, 1 = Letterbox, 2 = PillarBox +#define kTV1FunctionAdjustWindowsAspectAdjust 0x102 // Values: 0 = Simple, 1 = Advanced +#define kTV1FunctionAdjustWindowsFlickerReduction 0x92 // Values: 0 = Off, 1 = Low, 2 = Medium, 3 = High +#define kTV1FunctionAdjustWindowsImageSmoothing 0xA1 // Values: 0 = Off, 1 = Medium, 2 = High +#define kTV1FunctionAdjustWindowsImageFlip 0x95 // Values: 0 = Off, 1 = Horizontal, 2 = Vertical, 3 = H & V +#define kTV1FunctionAdjustWindowsTemporalInterp 0x229 // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustWindowsMaxFadeLevel 0x10F // Values: 0 - 100 +#define kTV1FunctionAdjustWindowsFadeOutIn 0x193 // Values -1 = Fade Out, 0 = No Action, 1 = Fade In +#define kTV1FunctionAdjustWindowsLayerPriority 0x144 // Values: 0 - 5 +#define kTV1FunctionAdjustWindowsHeadPhonVolume 0xFD // Vaules: -16 - 15 (-16 = Mute) +#define kTV1FunctionAdjustWindowsAudioVolume 0x206 // Vaules: -128 - 127 ( +#define kTV1FunctionAdjustWindowsAudioVolumeEnable 0x206 // Vaules: 0 = Off, 1 = On + +// Adjust Keyer +//#pragma mark - + +#define kTV1FunctionAdjustKeyerEnable 0x127 // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustKeyerMinY 0xAF // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerMinU 0xB0 // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerMinV 0xB1 // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerMaxY 0xB2 // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerMaxU 0xB3 // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerMaxV 0xB4 // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerSoftnessY 0x121 // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerSoftnessU 0x123 // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerSoftnessV 0x125 // Values: 0 - 255 +#define kTV1FunctionAdjustKeyerInvertY 0x122 // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustKeyerInvertU 0x124 // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustKeyerInvertV 0x126 // Values: 0 = Off, 1 = On (Typo in documentation, noted as 0x156) +#define kTV1FunctionAdjustKeyerSwap 0x144 // Values: 0 = Off, 1 = On + +// Edge Blending (not used in TVOne 1T-C2-750, therefore not bothered with for now) +//#define kTV1FunctionAdjustEdgeBlendXXX + +// Adjust Logos +//#pragma mark - + +#define kTV1FunctionAdjustLogoEnable 0x12B // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustLogoNumber 0x143 // Values: 0 - 9 (Logo Selection) +#define kTV1FunctionAdjustLogoOutShiftH 0xAD // Values: 0 - 100 +#define kTV1FunctionAdjustLogoOutShiftV 0xAE // Values: 0 - 100 +#define kTV1FunctionAdjustLogoMaxFadeLevel 0x10F // Values: 0 - 100 +#define kTV1FunctionAdjustLogoLayerPriority 0x144 // Values: 0 - 5 + +// Adjust Borders +//#pragma mark - + +#define kTV1FunctionAdjustBorderEnable 0x150 // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustBorderSizeH 0x151 // Values: 0 - 99 +#define kTV1FunctionAdjustBorderSizeV 0x152 // Values: 0 - 99 +#define kTV1FunctionAdjustBorderOffsetH 0x153 // Values: 0 - 99 +#define kTV1FunctionAdjustBorderOffsetV 0x154 // Values: 0 - 99 +#define kTV1FunctionAdjustBorderY 0x155 // Values: 16 - 235 +#define kTV1FunctionAdjustBorderU 0x156 // Values: 16 - 240 +#define kTV1FunctionAdjustBorderV 0x157 // Values: 16 - 240 +#define kTV1FunctionAdjustBorderOpacity 0x158 // Values: 0 - 100 ( 0 = Transparent, 100 = Opaque) + +// Adjust Sources - Note: These functions require the Channel parameter to be properly set. Not all functions take all channels. +//#pragma mark - + +#define kTV1FunctionAdjustSourceTestCard 0xDC // Values: 0 - 10 +#define kTV1FunctionAdjustSourceAutoSet 0xFE // Values: 1 = Start AutoSet Procedure +#define kTV1FunctionAdjustSourceAspectCorrect 0x240 // Values: 0 = Fill, 1 = Aspect, 2 = H-Fit, 3 = V-Fit, 4 = 1:1 +#define kTV1FunctionAdjustSourceEDID 0x243 // Values: 0 - 7 (edid entry number) +#define kTV1FunctionAdjustSourceEDIDCapureID 0x244 // Values: 0 - 7 (edid entry number) - entry to grab into +#define kTV1FunctionAdjustSourceEditCaptureGrab 0x245 // Values: 1 performs grab of Edid to currently set EDIDCapureID +#define kTV1FunctionAdjustSourceHDCPAdvertize 0x237 // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustSourceHDCPStatus 0x238 // Values: 0 = Inactive, 1 = Active (read only) +#define kTV1FunctionAdjustSourcePositionH 0xB6 // Values: -100 - 100 +#define kTV1FunctionAdjustSourcePositionV 0xB7 // Values: -100 - 100 +#define kTV1FunctionAdjustSourceSizeH 0xDE // Values: -100 - 100 +#define kTV1FunctionAdjustSourceSizeV 0xDF // Values: -100 - 100 +#define kTV1FunctionAdjustSourceAudioXXX // Ignored for now In source, Option IN source Volume, Balance +#define kTV1FunctionAdjustSourceOnSourceLoss 0xA3 // Values: 0 = Show, 1 = Freeze, 2 = Blue, 3 = Black, 4 = Remove +#define kTV1FunctionAdjustSourceSourceStable 0x22A // Values: 0 = Unstable, 1 = Stable +#define kTV1FunctionAdjustSourcePixelPhase 0x91 // Values: 0 - 31 +#define kTV1FunctionAdjustSourceRGBInType 0xC1 // Values: 0 = Auto, 1 = D-RGB, 2 = D-YUV, 3 = A-RGB, 4 = A-YUV (Digital / Analog) +#define kTV1FunctionAdjustSourceRGBContributionR 0xC5 // Values: 75 - 150 +#define kTV1FunctionAdjustSourceRGBContributionG 0xC6 // Values: 75 - 150 +#define kTV1FunctionAdjustSourceRGBContributionB 0xC7 // Values: 75 - 150 +#define kTV1FunctionAdjustSourceYUVSetup 0x23E // Values: 0 = 0 IRE, 1 = 7.5 IRE +#define kTV1FunctionAdjustSourceDeInterlace 0xB8 // Values: 0 = Normal, 1 = Auto, 2 = Film 3:2, 3 = Motion Compensation Low, 4 = Motion Compensation Medium, 5 = Motion Compensation High, 6 = Frame / Bob +#define kTV1FunctionAdjustSourceFilmMode 0xE3 // Values: 0 = Not Detected 1 = Detected (read only) +#define kTV1FunctionAdjustSourceDiagonalInterp 0x22B // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustSourceNoiseReduction 0x23F // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustSourceBrightness 0xBB // Values: 0 - 180 +#define kTV1FunctionAdjustSourceContrast 0xBC // Values: 0 - 180 +#define kTV1FunctionAdjustSourceSaturation 0xB9 // Values: 0 - 180 +#define kTV1FunctionAdjustSourceHue 0xBA // Values: -180 - 180 +#define kTV1FunctionAdjustSourceSharpness 0x80 // Values: -7 - 7 +#define kTV1FunctionAdjustSourceLumaDelay 0xBD // Values: -4 -3 +#define kTV1FunctionAdjustSourceFieldSwap 0xC9 // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustSourceFieldOffset 0x196 // Values: = 0 - 7 +#define kTV1FunctionAdjustSourceAudioChannel1 // Ignored for now +#define kTV1FunctionAdjustSourceAudioChannel2 // Ignored for now +#define kTV1FunctionAdjustSourceAudioChannel3 // Ignored for now +#define kTV1FunctionAdjustSourceAudioChannel4 // Ignored for now +#define kTV1FunctionAdjustSourceAudioChannel5 // Ignored for now +#define kTV1FunctionAdjustSourceAudioChannel6 // Ignored for now +#define kTV1FunctionAdjustSourceAudioChannel7 // Ignored for now + +// Adjust Audio +//#pragma mark - +#define kTV1FunctionAdjustAudioXXX // Ignored for now + +// Adjust Transitions +//#pragma mark - +#define kTV1FunctionAdjustTransitionType 0x112 // Values: 0 = Cut, 1 = Fade, 2 = Wipe, 3 = Push +#define kTV1FunctionAdjustTransitionFadeTime 0xF5 // Values: 0 - 50 (0 - 5.0 seconds) +#define kTV1FunctionAdjustTransitionWipeType 0x145 // Values: 0 = Left -> Right 1 = Right -> Left, 2 = Up -> Down, 3 = Down -> Up, 4 = Diagonal, 5 = Diamond +#define kTV1FunctionAdjustTransitionWipeSize 0x146 // Values: 10 - 2000 + +// Adjust Resolutions + +/* + Note: You MUST set the 'Image to adjust' value to the correct value first, + and only then change the other values - otherwise you may be adjusting the wrong entry. + The user should not adjust the 'Image to adjust' entry using the front panel whilst also accessing it via RS232 + */ + +//#pragma mark - +#define kTV1FunctionAdjustResolutionImageToAdjust 0x81 // Values: 0 - 1000 - the preset you wish to manipulate +#define kTV1FunctionAdjustResolutionInterlaced 0xCA // Values: 0 = Off, 1 = On +#define kTV1FunctionAdjustResolutionFreqCoarseH 0xBE // Values: 10,000 - 200,000 +#define kTV1FunctionAdjustResolutionFreqFineH 0xBF // Values: 10,000 - 200,000 +#define kTV1FunctionAdjustResolutionActiveH 0x96 // Values: 64 - 2047 +#define kTV1FunctionAdjustResolutionActiveV 0x97 // Values: 64 - 2047 +#define kTV1FunctionAdjustResolutionStartH 0x8B // Values: 0 - 1023 +#define kTV1FunctionAdjustResolutionStartV 0x8C // Values: 0 - 1023 +#define kTV1FunctionAdjustResolutionCLKS 0x8E // Values: 64 - 4095 +#define kTV1FunctionAdjustResolutionLines 0xBE // Values: 64 - 2047 +#define kTV1FunctionAdjustResolutionSyncH 0x8F // Values: 8 - 1023 +#define kTV1FunctionAdjustResolutionSyncV 0x90 // Values: 1 - 1023 +#define kTV1FunctionAdjustResolutionSyncPolarity 0x94 // Values: 0 - 3 (++, +-. -+. --) + +// Adjust Misc +//#pragma mark - +#define kTV1FunctionAdjustFrontPanelLock 0xFC // Values: 0 = Unlocked, 1 = Locked + +// Resolutions +//#pragma mark - +//#pragma mark Resolutions + +// Selected Common Resolutions and resolution Descriptions. For a complete list, use the menu system in your TV1 + +// Res #27 640x480, 59.97Hz +// Res #28 640x480, 60Hz +// Res #99 1920x1080, 60Hz +// Res #104 = 1920x1200, 60Hz + +#define kTV1ResolutionVGA 0x8 +#define kTV1ResolutionNTSC 0xF +#define kTV1ResolutionPAL 0x10 +#define kTV1ResolutionSVGA 0x12 +#define kTV1ResolutionXGAp5994 0x1B +#define kTV1ResolutionXGAp60 0x1C +#define kTV1ResolutionXGAp75 0x1D +#define kTV1Resolution720p2398 0x27 +#define kTV1Resolution720p24 0x28 +#define kTV1Resolution720p25 0x29 +#define kTV1Resolution720p2997 0x2A +#define kTV1Resolution720p30 0x2B +#define kTV1Resolution720p50 0x2C +#define kTV1Resolution720p5994 0x2D +#define kTV1Resolution720p60 0x2E +#define kTV1ResolutionWXGA5by3p60 0x30 +#define kTV1ResolutionWXGA5by3p75 0x31 +#define kTV1ResolutionWXGA16by10p60 0x34 +#define kTV1ResolutionWXGA16by10p75 0x35 +#define kTV1ResolutionSGAp60 0x3A +#define kTV1ResolutionSGAp75 0x3B +#define kTV1ResolutionWSXGAp60 0x40 +#define kTV1ResolutionUXGAp60 0x47 +#define kTV1ResolutionUXGAp75 0x4A +#define kTV1ResolutionUXGAp85 0x4B +#define kTV1ResolutionWSXGAPLUSp60 0x53 +#define kTV1Resolution1080p2398 0x60 // NOTE Firmware 362 has higher resolution numbers for these resolutions +#define kTV1Resolution1080p24 0x62 +#define kTV1Resolution1080p25 0x64 +#define kTV1Resolution1080p2997 0x65 +#define kTV1Resolution1080p30 0x66 +#define kTV1Resolution1080p50 0x67 +#define kTV1Resolution1080p5996 0x69 +#define kTV1Resolution1080p60 0x6A +#define kTV1Resolution1080p75 0x6D +#define kTV1ResolutionWUXGAp60 0x70 +#define kTV1ResolutionWUXGAp75 0x73 +#define kTV1ResolutionWUXGAp85 0x74 + +#define kTV1ResolutionDescriptionVGA "VGA (640x480) @ 60Hz" +#define kTV1ResolutionDescriptionNTSC "NTSC (720x480 @ 59.95Hz)" +#define kTV1ResolutionDescriptionPAL "PAL (720x576 @ 50Hz)" +#define kTV1ResolutionDescriptionSVGA "SVGA (800x600) @ 60Hz" +#define kTV1ResolutionDescriptionXGAp5994 "XGA (1024x768) @ 59.94Hz" +#define kTV1ResolutionDescriptionXGAp60 "XGA (1024x768) @ 60Hz" +#define kTV1ResolutionDescriptionXGAp75 "XGA (1024x768) @ 75Hz" +#define kTV1ResolutionDescription720p2398 "720p HD (1280x720) @ 23.98Hz" +#define kTV1ResolutionDescription720p24 "720p HD (1280x720) @ 24Hz" +#define kTV1ResolutionDescription720p25 "720p HD (1280x720) @ 25Hz" +#define kTV1ResolutionDescription720p2997 "720p HD (1280x720) @ 29.97Hz" +#define kTV1ResolutionDescription720p30 "720p HD (1280x720) @ 30Hz" +#define kTV1ResolutionDescription720p50 "720p HD (1280x720) @ 50Hz" +#define kTV1ResolutionDescription720p5994 "720p HD (1280x720) @ 59.95Hz" +#define kTV1ResolutionDescription720p60 "720p HD (1280x720) @ 60Hz" +#define kTV1ResolutionDescriptionWXGA5by3p60 "WXGA (1280x768) @ 60Hz" +#define kTV1ResolutionDescriptionWXGA5by3p75 "WXGA (1280x768) @ 75Hz" +#define kTV1ResolutionDescriptionWXGA16by10p60 "WXGA (1280x800) @ 60Hz" +#define kTV1ResolutionDescriptionWXGA16by10p75 "WXGA (1280x800) @ 75Hz" +#define kTV1ResolutionDescriptionSGAp60 "SGA (1280x1024) @ 60Hz" +#define kTV1ResolutionDescriptionSGAp75 "SGA (1280x1024) @ 75Hz" +#define kTV1ResolutionDescriptionWSXGAp60 "WSXGA (1440x900) @ 60Hz" +#define kTV1ResolutionDescriptionUXGAp60 "UXGA (1600x1200) @ 60Hz" +#define kTV1ResolutionDescriptionUXGAp75 "UXGA (1600x1200) @ 75Hz" +#define kTV1ResolutionDescriptionUXGAp85 "UXGA (1600x1200) @ 85Hz" +#define kTV1ResolutionDescriptionWSXGAPLUSp60 "WSXGA+ (1680x1050) @ 60Hz" +#define kTV1ResolutionDescription1080p2398 "1080p (1920x1080) @ 23.98Hz" +#define kTV1ResolutionDescription1080p24 "1080p (1920x1080) @ 24Hz" +#define kTV1ResolutionDescription1080p25 "1080p (1920x1080) @ 25Hz" +#define kTV1ResolutionDescription1080p2997 "1080p (1920x1080) @ 29.97Hz" +#define kTV1ResolutionDescription1080p30 "1080p (1920x1080) @ 30Hz" +#define kTV1ResolutionDescription1080p50 "1080p (1920x1080) @ 50Hz" +#define kTV1ResolutionDescription1080p5996 "1080p (1920x1080) @ 59.94Hz" +#define kTV1ResolutionDescription1080p60 "1080p (1920x1080) @ 60Hz" +#define kTV1ResolutionDescription1080p75 "1080p (1920x1080) @ 75Hz" +#define kTV1ResolutionDescriptionWUXGAp60 "WUXGA (1920x1200) @ 60Hz" +#define kTV1ResolutionDescriptionWUXGAp75 "WUXGA (1920x1200) @ 75Hz" +#define kTV1ResolutionDescriptionWUXGAp85 "WUXGA (1920x1200) @ 85Hz" + +#define kTV1Resolution2Kp60 0x71 +#define kTV1ResolutionDescription2Kp60 "2K (2048x1080) @ 60Hz" +#define kTV1ResolutionDoubleWXGA 0x73 +#define kTV1ResolutionDescriptionDoubleWXGA "DWXGA (2880x900) @ 60Hz" + +// Triplehead resolutions +// Note these are currently either added to the resolution list (#123-125) via CorioTools +// Previously these were written over existing resolutions (#112-114) + +#define kTV1ResolutionDualHeadSVGAp60 0x7B +#define kTV1ResolutionDescriptionDualHeadSVGAp60 "Dual Head SVGA (1600x600) @ 60Hz" + +#define kTV1ResolutionDualHeadXGAp60 0x7C +#define kTV1ResolutionDescriptionDualHeadXGAp60 "Dual Head XGA (2048x768) @ 60 Hz" + +#define kTV1ResolutionTripleHeadVGAp60 0x7D +#define kTV1ResolutionDescriptionTripleHeadVGAp60 "Triple Head VGA (1920x480) @ 60Hz" + +#endif