| /* |
| * Copyright (c) 2017, Intel Corporation |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining a |
| * copy of this software and associated documentation files (the "Software"), |
| * to deal in the Software without restriction, including without limitation |
| * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| * and/or sell copies of the Software, and to permit persons to whom the |
| * Software is furnished to do so, subject to the following conditions: |
| * |
| * The above copyright notice and this permission notice shall be included |
| * in all copies or substantial portions of the Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR |
| * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
| * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
| * OTHER DEALINGS IN THE SOFTWARE. |
| */ |
| //! |
| //! \file cm_rt_g9.h |
| //! \brief Contains Definitions for CM on Gen 9 |
| //! |
| |
| #ifndef __CM_RT_G9_H__ |
| #define __CM_RT_G9_H__ |
| |
| #define SKL_L3_PLANE_DEFAULT CM_L3_PLANE_DEFAULT |
| #define SKL_L3_PLANE_1 CM_L3_PLANE_1 |
| #define SKL_L3_PLANE_2 CM_L3_PLANE_2 |
| #define SKL_L3_PLANE_3 CM_L3_PLANE_3 |
| #define SKL_L3_PLANE_4 CM_L3_PLANE_4 |
| #define SKL_L3_PLANE_5 CM_L3_PLANE_5 |
| #define SKL_L3_PLANE_6 CM_L3_PLANE_6 |
| #define SKL_L3_PLANE_7 CM_L3_PLANE_7 |
| #define SKL_L3_CONFIG_COUNT 8 |
| |
| #define SKL_SLM_PLANE_DEFAULT = SKL_L3_PLANE_5 |
| |
| static const L3ConfigRegisterValues SKL_L3_PLANE[SKL_L3_CONFIG_COUNT] = |
| { // SLM URB Rest DC RO I/S C T Sum |
| {0x00000000, 0x00000000, 0x00000000, 0x60000060}, //{0, 48, 48, 0, 0, 0, 0, 0, 96}, |
| {0x00000000, 0x00000000, 0x00000000,0x00808060}, //{0, 48, 0, 16, 32, 0, 0, 0, 96}, |
| {0x00000000, 0x00000000, 0x00000000,0x00818040}, //{0, 32, 0, 16, 48, 0, 0, 0, 96}, |
| {0x00000000, 0x00000000, 0x00000000,0x00030040}, //{0, 32, 0, 0, 64, 0, 0, 0, 96}, |
| {0x00000000, 0x00000000, 0x00000000,0x80000040}, //{0, 32, 64, 0, 0, 0, 0, 0, 96}, |
| {0x00000000, 0x00000000, 0x00000000,0x60000121}, //{32, 16, 48, 0, 0, 0, 0, 0, 96}, |
| {0x00000000, 0x00000000, 0x00000000,0x00410121}, //{32, 16, 0, 16, 32, 0, 0, 0, 96}, |
| {0x00000000, 0x00000000, 0x00000000,0x00808121} //{32, 16, 0, 32, 16, 0, 0, 0, 96} |
| }; |
| |
| typedef struct _VEBOX_SURFACE_CONTROL_BITS_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD Reserved0 : BITFIELD_BIT(0); |
| DWORD IndexToMemoryObjectControlStateMocsTables : BITFIELD_RANGE(1, 6); |
| DWORD MemoryCompressionEnable : BITFIELD_BIT(7); |
| DWORD MemoryCompressionMode : BITFIELD_BIT(8); |
| DWORD TiledResourceMode : BITFIELD_RANGE(9, 10); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(11, 31); |
| }; |
| DWORD Value; |
| } DW0; |
| } VEBOX_SURFACE_CONTROL_BITS_G9, *PVEBOX_SURFACE_CONTROL_BITS_G9; |
| |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_DNDI_STATE_G9 |
| { |
| // Temporal DN |
| // DWORD 0 |
| union { |
| struct { |
| DWORD DenoiseMovingPixelThreshold : BITFIELD_RANGE(0, 4); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(5, 7); |
| DWORD DenoiseHistoryIncrease : BITFIELD_RANGE(8, 11); |
| DWORD DenoiseMaximumHistory : BITFIELD_RANGE(12, 19); |
| DWORD DenoiseStadThreshold : BITFIELD_RANGE(20, 31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD LowTemporalDifferenceThreshold : BITFIELD_RANGE(0, 9); |
| DWORD TemporalDifferenceThreshold : BITFIELD_RANGE(10, 19); |
| DWORD DenoiseAsdThreshold : BITFIELD_RANGE(20, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(0, 9); |
| DWORD InitialDenoiseHistory : BITFIELD_RANGE(10, 15); |
| DWORD DenoiseThresholdForSumOfComplexityMeasure : BITFIELD_RANGE(16, 27); |
| DWORD ProgressiveDn : BITFIELD_BIT(28); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(29, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| // Global Noise estimate and hot pixel detection |
| // DWORD 3 |
| union { |
| struct { |
| DWORD BlockNoiseEstimateNoiseThreshold : BITFIELD_RANGE(0, 11); |
| DWORD BlockNoiseEstimateEdgeThreshold : BITFIELD_RANGE(12, 19); |
| DWORD HotPixelThreshold : BITFIELD_RANGE(20, 27); |
| DWORD HotPixelCount : BITFIELD_RANGE(28, 31); |
| }; |
| DWORD Value; |
| } DW3; |
| |
| // Chroma DN |
| // DWORD 4 |
| union { |
| struct { |
| DWORD ChromaLowTemporalDifferenceThreshold : BITFIELD_RANGE(0, 5); |
| DWORD ChromaTemporalDifferenceThreshold : BITFIELD_RANGE(6, 11); |
| DWORD ChromaDenoiseEnable : BITFIELD_BIT(12); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(13, 15); |
| DWORD ChromaDenoiseStadThreshold : BITFIELD_RANGE(16, 23); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW4; |
| |
| // 5x5 Spatial Denoise |
| // DWORD 5 |
| union { |
| struct { |
| DWORD DnWr0 : BITFIELD_RANGE(0, 4); |
| DWORD DnWr1 : BITFIELD_RANGE(5, 9); |
| DWORD DnWr2 : BITFIELD_RANGE(10, 14); |
| DWORD DnWr3 : BITFIELD_RANGE(15, 19); |
| DWORD DnWr4 : BITFIELD_RANGE(20, 24); |
| DWORD DnWr5 : BITFIELD_RANGE(25, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW5; |
| |
| // DWORD 6 |
| union { |
| struct { |
| DWORD DnThmin : BITFIELD_RANGE(0, 12); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(13, 15); |
| DWORD DnThmax : BITFIELD_RANGE(16, 28); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(29, 31); |
| }; |
| DWORD Value; |
| } DW6; |
| |
| // DWORD 7 |
| union { |
| struct { |
| DWORD DnDynThmin : BITFIELD_RANGE(0, 12); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(13, 15); |
| DWORD DnPrt5 : BITFIELD_RANGE(16, 28); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(29, 31); |
| }; |
| DWORD Value; |
| } DW7; |
| |
| // DWORD 8 |
| union { |
| struct { |
| DWORD DnPrt3 : BITFIELD_RANGE(0, 12); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(13, 15); |
| DWORD DnPrt4 : BITFIELD_RANGE(16, 28); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(29, 31); |
| }; |
| DWORD Value; |
| } DW8; |
| |
| // DWORD 9 |
| union { |
| struct { |
| DWORD DnPrt1 : BITFIELD_RANGE(0, 12); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(13, 15); |
| DWORD DnPrt2 : BITFIELD_RANGE(16, 28); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(29, 31); |
| }; |
| DWORD Value; |
| } DW9; |
| |
| // DWORD 10 |
| union { |
| struct { |
| DWORD DnWd20 : BITFIELD_RANGE(0, 4); |
| DWORD DnWd21 : BITFIELD_RANGE(5, 9); |
| DWORD DnWd22 : BITFIELD_RANGE(10, 14); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(15); |
| DWORD DnPrt0 : BITFIELD_RANGE(16, 28); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(29, 31); |
| }; |
| DWORD Value; |
| } DW10; |
| |
| // DWORD 11 |
| union { |
| struct { |
| DWORD DnWd00 : BITFIELD_RANGE(0, 4); |
| DWORD DnWd01 : BITFIELD_RANGE(5, 9); |
| DWORD DnWd02 : BITFIELD_RANGE(10, 14); |
| DWORD DnWd10 : BITFIELD_RANGE(15, 19); |
| DWORD DnWd11 : BITFIELD_RANGE(20, 24); |
| DWORD DnWd12 : BITFIELD_RANGE(25, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW11; |
| |
| // FMD and DI |
| // DWORD 12 |
| union { |
| struct { |
| DWORD SmoothMvThreshold : BITFIELD_RANGE(0, 1); |
| DWORD SadTightThreshold : BITFIELD_RANGE(2, 5); |
| DWORD ContentAdaptiveThresholdSlope : BITFIELD_RANGE(6, 9); |
| DWORD StmmC2 : BITFIELD_RANGE(10, 12); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(13, 31); |
| }; |
| DWORD Value; |
| } DW12; |
| |
| // DWORD 13 |
| union { |
| struct { |
| DWORD MaximumStmm : BITFIELD_RANGE(0, 7); |
| DWORD MultiplierForVecm : BITFIELD_RANGE(8, 13); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(14, 15); |
| DWORD BlendingConstantAcrossTimeForSmallValuesOfStmm : BITFIELD_RANGE(16, 23); |
| DWORD BlendingConstantAcrossTimeForLargeValuesOfStmm : BITFIELD_RANGE(24, 30); |
| DWORD StmmBlendingConstantSelect : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW13; |
| |
| // DWORD 14 |
| union { |
| struct { |
| DWORD SdiDelta : BITFIELD_RANGE(0, 7); |
| DWORD SdiThreshold : BITFIELD_RANGE(8, 15); |
| DWORD StmmOutputShift : BITFIELD_RANGE(16, 19); |
| DWORD StmmShiftUp : BITFIELD_RANGE(20, 21); |
| DWORD StmmShiftDown : BITFIELD_RANGE(22, 23); |
| DWORD MinimumStmm : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW14; |
| |
| // DWORD 15 |
| union { |
| struct { |
| DWORD FmdTemporalDifferenceThreshold : BITFIELD_RANGE(0, 7); |
| DWORD SdiFallbackMode2ConstantAngle2X1 : BITFIELD_RANGE(8, 15); |
| DWORD SdiFallbackMode1T2Constant : BITFIELD_RANGE(16, 23); |
| DWORD SdiFallbackMode1T1Constant : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW15; |
| |
| // DWORD 16 |
| union { |
| struct { |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(0, 2); |
| DWORD DnDiTopFirst : BITFIELD_BIT(3); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(4, 6); |
| DWORD McdiEnable : BITFIELD_BIT(7); |
| DWORD FmdTearThreshold : BITFIELD_RANGE(8, 13); |
| DWORD CatThreshold : BITFIELD_RANGE(14, 15); |
| DWORD Fmd2VerticalDifferenceThreshold : BITFIELD_RANGE(16, 23); |
| DWORD Fmd1VerticalDifferenceThreshold : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW16; |
| |
| // DWORD 17 |
| union { |
| struct { |
| DWORD SadTha : BITFIELD_RANGE(0, 3); |
| DWORD SadThb : BITFIELD_RANGE(4, 7); |
| DWORD FmdFor1StFieldOfCurrentFrame : BITFIELD_RANGE(8, 9); |
| DWORD McPixelConsistencyThreshold : BITFIELD_RANGE(10, 15); |
| DWORD FmdFor2NdFieldOfPreviousFrame : BITFIELD_RANGE(16, 17); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(18); |
| DWORD NeighborPixelThreshold : BITFIELD_RANGE(19, 22); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(23, 31); |
| }; |
| DWORD Value; |
| } DW17; |
| } VEBOX_DNDI_STATE_G9, *PVEBOX_DNDI_STATE_G9; |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_STD_STE_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD StdEnable : BITFIELD_BIT(0); |
| DWORD SteEnable : BITFIELD_BIT(1); |
| DWORD OutputControl : BITFIELD_BIT(2); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(3); |
| DWORD SatMax : BITFIELD_RANGE(4, 9); |
| DWORD HueMax : BITFIELD_RANGE(10, 15); |
| DWORD UMid : BITFIELD_RANGE(16, 23); |
| DWORD VMid : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD Sin : BITFIELD_RANGE(0, 7); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(8, 9); |
| DWORD Cos : BITFIELD_RANGE(10, 17); |
| DWORD HsMargin : BITFIELD_RANGE(18, 20); |
| DWORD DiamondDu : BITFIELD_RANGE(21, 27); |
| DWORD DiamondMargin : BITFIELD_RANGE(28, 30); |
| DWORD StdScoreOutput : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD DiamondDv : BITFIELD_RANGE(0, 6); |
| DWORD DiamondTh : BITFIELD_RANGE(7, 12); |
| DWORD DiamondAlpha : BITFIELD_RANGE(13, 20); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(21, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| // DWORD 3 |
| union { |
| struct { |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(0, 6); |
| DWORD VyStdEnable : BITFIELD_BIT(7); |
| DWORD YPoint1 : BITFIELD_RANGE(8, 15); |
| DWORD YPoint2 : BITFIELD_RANGE(16, 23); |
| DWORD YPoint3 : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW3; |
| |
| // DWORD 4 |
| union { |
| struct { |
| DWORD YPoint4 : BITFIELD_RANGE(0, 7); |
| DWORD YSlope1 : BITFIELD_RANGE(8, 12); |
| DWORD YSlope2 : BITFIELD_RANGE(13, 17); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(18, 31); |
| }; |
| DWORD Value; |
| } DW4; |
| |
| // DWORD 5 |
| union { |
| struct { |
| DWORD InvMarginVyl : BITFIELD_RANGE(0, 15); |
| DWORD InvSkinTypesMargin : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW5; |
| |
| // DWORD 6 |
| union { |
| struct { |
| DWORD InvMarginVyu : BITFIELD_RANGE(0, 15); |
| DWORD P0L : BITFIELD_RANGE(16, 23); |
| DWORD P1L : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW6; |
| |
| // DWORD 7 |
| union { |
| struct { |
| DWORD P2L : BITFIELD_RANGE(0, 7); |
| DWORD P3L : BITFIELD_RANGE(8, 15); |
| DWORD B0L : BITFIELD_RANGE(16, 23); |
| DWORD B1L : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW7; |
| |
| // DWORD 8 |
| union { |
| struct { |
| DWORD B2L : BITFIELD_RANGE(0, 7); |
| DWORD B3L : BITFIELD_RANGE(8, 15); |
| DWORD S0L : BITFIELD_RANGE(16, 26); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(27, 31); |
| }; |
| DWORD Value; |
| } DW8; |
| |
| // DWORD 9 |
| union { |
| struct { |
| DWORD S1L : BITFIELD_RANGE(0, 10); |
| DWORD S2L : BITFIELD_RANGE(11, 21); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW9; |
| |
| // DWORD 10 |
| union { |
| struct { |
| DWORD S3L : BITFIELD_RANGE(0, 10); |
| DWORD P0U : BITFIELD_RANGE(11, 18); |
| DWORD P1U : BITFIELD_RANGE(19, 26); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(27, 31); |
| }; |
| DWORD Value; |
| } DW10; |
| |
| // DWORD 11 |
| union { |
| struct { |
| DWORD P2U : BITFIELD_RANGE(0, 7); |
| DWORD P3U : BITFIELD_RANGE(8, 15); |
| DWORD B0U : BITFIELD_RANGE(16, 23); |
| DWORD B1U : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW11; |
| |
| // DWORD 12 |
| union { |
| struct { |
| DWORD B2U : BITFIELD_RANGE(0, 7); |
| DWORD B3U : BITFIELD_RANGE(8, 15); |
| DWORD S0U : BITFIELD_RANGE(16, 26); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(27, 31); |
| }; |
| DWORD Value; |
| } DW12; |
| |
| // DWORD 13 |
| union { |
| struct { |
| DWORD S1U : BITFIELD_RANGE(0, 10); |
| DWORD S2U : BITFIELD_RANGE(11, 21); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW13; |
| |
| // DWORD 14 |
| union { |
| struct { |
| DWORD S3U : BITFIELD_RANGE(0, 10); |
| DWORD SkinTypesEnable : BITFIELD_BIT(11); |
| DWORD SkinTypesThresh : BITFIELD_RANGE(12, 19); |
| DWORD SkinTypesMargin : BITFIELD_RANGE(20, 27); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(28, 31); |
| }; |
| DWORD Value; |
| } DW14; |
| |
| // DWORD 15 |
| union { |
| struct { |
| DWORD Satp1 : BITFIELD_RANGE(0, 6); |
| DWORD Satp2 : BITFIELD_RANGE(7, 13); |
| DWORD Satp3 : BITFIELD_RANGE(14, 20); |
| DWORD Satb1 : BITFIELD_RANGE(21, 30); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW15; |
| |
| // DWORD 16 |
| union { |
| struct { |
| DWORD Satb2 : BITFIELD_RANGE(0, 9); |
| DWORD Satb3 : BITFIELD_RANGE(10, 19); |
| DWORD Sats0 : BITFIELD_RANGE(20, 30); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW16; |
| |
| // DWORD 17 |
| union { |
| struct { |
| DWORD Sats1 : BITFIELD_RANGE(0, 10); |
| DWORD Sats2 : BITFIELD_RANGE(11, 21); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW17; |
| |
| // DWORD 18 |
| union { |
| struct { |
| DWORD Sats3 : BITFIELD_RANGE(0, 10); |
| DWORD Huep1 : BITFIELD_RANGE(11, 17); |
| DWORD Huep2 : BITFIELD_RANGE(18, 24); |
| DWORD Huep3 : BITFIELD_RANGE(25, 31); |
| }; |
| DWORD Value; |
| } DW18; |
| |
| // DWORD 19 |
| union { |
| struct { |
| DWORD Hueb1 : BITFIELD_RANGE(0, 9); |
| DWORD Hueb2 : BITFIELD_RANGE(10, 19); |
| DWORD Hueb3 : BITFIELD_RANGE(20, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW19; |
| |
| // DWORD 20 |
| union { |
| struct { |
| DWORD Hues0 : BITFIELD_RANGE(0, 10); |
| DWORD Hues1 : BITFIELD_RANGE(11, 21); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW20; |
| |
| // DWORD 21 |
| union { |
| struct { |
| DWORD Hues2 : BITFIELD_RANGE(0, 10); |
| DWORD Hues3 : BITFIELD_RANGE(11, 21); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW21; |
| |
| // DWORD 22 |
| union { |
| struct { |
| DWORD Satp1Dark : BITFIELD_RANGE(0, 6); |
| DWORD Satp2Dark : BITFIELD_RANGE(7, 13); |
| DWORD Satp3Dark : BITFIELD_RANGE(14, 20); |
| DWORD Satb1Dark : BITFIELD_RANGE(21, 30); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW22; |
| |
| // DWORD 23 |
| union { |
| struct { |
| DWORD Satb2Dark : BITFIELD_RANGE(0, 9); |
| DWORD Satb3Dark : BITFIELD_RANGE(10, 19); |
| DWORD Sats0Dark : BITFIELD_RANGE(20, 30); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW23; |
| |
| // DWORD 24 |
| union { |
| struct { |
| DWORD Sats1Dark : BITFIELD_RANGE(0, 10); |
| DWORD Sats2Dark : BITFIELD_RANGE(11, 21); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW24; |
| |
| // DWORD 25 |
| union { |
| struct { |
| DWORD Sats3Dark : BITFIELD_RANGE(0, 10); |
| DWORD Huep1Dark : BITFIELD_RANGE(11, 17); |
| DWORD Huep2Dark : BITFIELD_RANGE(18, 24); |
| DWORD Huep3Dark : BITFIELD_RANGE(25, 31); |
| }; |
| DWORD Value; |
| } DW25; |
| |
| // DWORD 26 |
| union { |
| struct { |
| DWORD Hueb1Dark : BITFIELD_RANGE(0, 9); |
| DWORD Hueb2Dark : BITFIELD_RANGE(10, 19); |
| DWORD Hueb3Dark : BITFIELD_RANGE(20, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW26; |
| |
| // DWORD 27 |
| union { |
| struct { |
| DWORD Hues0Dark : BITFIELD_RANGE(0, 10); |
| DWORD Hues1Dark : BITFIELD_RANGE(11, 21); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW27; |
| |
| // DWORD 28 |
| union { |
| struct { |
| DWORD Hues2Dark : BITFIELD_RANGE(0, 10); |
| DWORD Hues3Dark : BITFIELD_RANGE(11, 21); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW28; |
| } VEBOX_STD_STE_STATE_G9, *PVEBOX_STD_STE_STATE_G9; |
| |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_ACE_LACE_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD AceEnable : BITFIELD_BIT(0); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(1); |
| DWORD SkinThreshold : BITFIELD_RANGE(2, 6); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(7, 11); |
| DWORD LaceHistogramEnable : BITFIELD_BIT(12); |
| DWORD LaceHistogramSize : BITFIELD_BIT(13); |
| DWORD LaceSingleHistogramSet : BITFIELD_RANGE(14, 15); |
| DWORD MinAceLuma : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD Ymin : BITFIELD_RANGE(0, 7); |
| DWORD Y1 : BITFIELD_RANGE(8, 15); |
| DWORD Y2 : BITFIELD_RANGE(16, 23); |
| DWORD Y3 : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD Y4 : BITFIELD_RANGE(0, 7); |
| DWORD Y5 : BITFIELD_RANGE(8, 15); |
| DWORD Y6 : BITFIELD_RANGE(16, 23); |
| DWORD Y7 : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| // DWORD 3 |
| union { |
| struct { |
| DWORD Y8 : BITFIELD_RANGE(0, 7); |
| DWORD Y9 : BITFIELD_RANGE(8, 15); |
| DWORD Y10 : BITFIELD_RANGE(16, 23); |
| DWORD Ymax : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW3; |
| |
| // DWORD 4 |
| union { |
| struct { |
| DWORD B1 : BITFIELD_RANGE(0, 7); |
| DWORD B2 : BITFIELD_RANGE(8, 15); |
| DWORD B3 : BITFIELD_RANGE(16, 23); |
| DWORD B4 : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW4; |
| |
| // DWORD 5 |
| union { |
| struct { |
| DWORD B5 : BITFIELD_RANGE(0, 7); |
| DWORD B6 : BITFIELD_RANGE(8, 15); |
| DWORD B7 : BITFIELD_RANGE(16, 23); |
| DWORD B8 : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW5; |
| |
| // DWORD 6 |
| union { |
| struct { |
| DWORD B9 : BITFIELD_RANGE(0, 7); |
| DWORD B10 : BITFIELD_RANGE(8, 15); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW6; |
| |
| // DWORD 7 |
| union { |
| struct { |
| DWORD S0 : BITFIELD_RANGE(0, 10); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(11, 15); |
| DWORD S1 : BITFIELD_RANGE(16, 26); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(27, 31); |
| }; |
| DWORD Value; |
| } DW7; |
| |
| // DWORD 8 |
| union { |
| struct { |
| DWORD S2 : BITFIELD_RANGE(0, 10); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(11, 15); |
| DWORD S3 : BITFIELD_RANGE(16, 26); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(27, 31); |
| }; |
| DWORD Value; |
| } DW8; |
| |
| // DWORD 9 |
| union { |
| struct { |
| DWORD S4 : BITFIELD_RANGE(0, 10); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(11, 15); |
| DWORD S5 : BITFIELD_RANGE(16, 26); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(27, 31); |
| }; |
| DWORD Value; |
| } DW9; |
| |
| // DWORD 10 |
| union { |
| struct { |
| DWORD S6 : BITFIELD_RANGE(0, 10); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(11, 15); |
| DWORD S7 : BITFIELD_RANGE(16, 26); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(27, 31); |
| }; |
| DWORD Value; |
| } DW10; |
| |
| // DWORD 11 |
| union { |
| struct { |
| DWORD S8 : BITFIELD_RANGE(0, 10); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(11, 15); |
| DWORD S9 : BITFIELD_RANGE(16, 26); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(27, 31); |
| }; |
| DWORD Value; |
| } DW11; |
| |
| // DWORD 12 |
| union { |
| struct { |
| DWORD S10 : BITFIELD_RANGE(0, 10); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(11, 15); |
| DWORD MaxAceLuma : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW12; |
| |
| } VEBOX_ACE_LACE_STATE_G9, *PVEBOX_ACE_LACE_STATE_G9; |
| |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_TCC_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(0, 6); |
| DWORD TccEnable : BITFIELD_BIT(7); |
| DWORD SatFactor1 : BITFIELD_RANGE(8, 15); |
| DWORD SatFactor2 : BITFIELD_RANGE(16, 23); |
| DWORD SatFactor3 : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(0, 7); |
| DWORD SatFactor4 : BITFIELD_RANGE(8, 15); |
| DWORD SatFactor5 : BITFIELD_RANGE(16, 23); |
| DWORD SatFactor6 : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD BaseColor1 : BITFIELD_RANGE(0, 9); |
| DWORD BaseColor2 : BITFIELD_RANGE(10, 19); |
| DWORD BaseColor3 : BITFIELD_RANGE(20, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| // DWORD 3 |
| union { |
| struct { |
| DWORD BaseColo4 : BITFIELD_RANGE(0, 9); |
| DWORD BaseColor5 : BITFIELD_RANGE(10, 19); |
| DWORD BaseColor6 : BITFIELD_RANGE(20, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW3; |
| |
| // DWORD 4 |
| union { |
| struct { |
| DWORD ColorTransitSlope2 : BITFIELD_RANGE(0, 15); |
| DWORD ColorTransitSlope23 : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW4; |
| |
| // DWORD 5 |
| union { |
| struct { |
| DWORD ColorTransitSlope34 : BITFIELD_RANGE(0, 15); |
| DWORD ColorTransitSlope45 : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW5; |
| |
| // DWORD 6 |
| union { |
| struct { |
| DWORD ColorTransitSlope56 : BITFIELD_RANGE(0, 15); |
| DWORD ColorTransitSlope61 : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW6; |
| |
| // DWORD 7 |
| union { |
| struct { |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(0, 1); |
| DWORD ColorBias1 : BITFIELD_RANGE(2, 11); |
| DWORD ColorBias2 : BITFIELD_RANGE(12, 21); |
| DWORD ColorBias3 : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW7; |
| |
| // DWORD 8 |
| union { |
| struct { |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(0, 1); |
| DWORD ColorBias4 : BITFIELD_RANGE(2, 11); |
| DWORD ColorBias5 : BITFIELD_RANGE(12, 21); |
| DWORD ColorBias6 : BITFIELD_RANGE(22, 31); |
| }; |
| DWORD Value; |
| } DW8; |
| |
| // DWORD 9 |
| union { |
| struct { |
| DWORD SteSlopeBits : BITFIELD_RANGE(0, 2); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(3, 7); |
| DWORD SteThreshold : BITFIELD_RANGE(8, 12); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(13, 15); |
| DWORD UvThresholdBits : BITFIELD_RANGE(16, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 23); |
| DWORD UvThreshold : BITFIELD_RANGE(24, 30); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW9; |
| |
| // DWORD 10 |
| union { |
| struct { |
| DWORD UVMaxColor : BITFIELD_RANGE(0, 8); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(9, 15); |
| DWORD InvUvmaxColor : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW10; |
| |
| } VEBOX_TCC_STATE_G9, *PVEBOX_TCC_STATE_G9; |
| |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_PROCAMP_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD ProcampEnable : BITFIELD_BIT(0); |
| DWORD Brightness : BITFIELD_RANGE(1, 12); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(13, 16); |
| DWORD Contrast : BITFIELD_RANGE(17, 27); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(28, 31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD SinCS : BITFIELD_RANGE(0, 15); |
| DWORD CosCS : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| } VEBOX_PROCAMP_STATE_G9, *PVEBOX_PROCAMP_STATE_G9; |
| |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_CSC_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD C0 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 29); |
| DWORD YuvChannelSwap : BITFIELD_BIT(30); |
| DWORD TransformEnable : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD C1 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD C2 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| // DWORD 3 |
| union { |
| struct { |
| DWORD C3 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW3; |
| |
| // DWORD 4 |
| union { |
| struct { |
| DWORD C4 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW4; |
| |
| // DWORD 5 |
| union { |
| struct { |
| DWORD C5 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW5; |
| |
| // DWORD 6 |
| union { |
| struct { |
| DWORD C6 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW6; |
| |
| // DWORD 7 |
| union { |
| struct { |
| DWORD C7 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW7; |
| |
| // DWORD 8 |
| union { |
| struct { |
| DWORD C8 : BITFIELD_RANGE(0, 18); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW8; |
| |
| // DWORD 9 |
| union { |
| struct { |
| DWORD OffsetIn1 : BITFIELD_RANGE(0, 15); |
| DWORD OffsetOut1 : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW9; |
| |
| // DWORD 10 |
| union { |
| struct { |
| DWORD OffsetIn2 : BITFIELD_RANGE(0, 15); |
| DWORD OffsetOut2 : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW10; |
| |
| // DWORD 11 |
| union { |
| struct { |
| DWORD OffsetIn3 : BITFIELD_RANGE(0, 15); |
| DWORD OffsetOut3 : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW11; |
| |
| } VEBOX_CSC_STATE_G9, *PVEBOX_CSC_STATE_G9; |
| |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_ALPHA_AOI_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD ColorPipeAlpha : BITFIELD_RANGE(0, 15); |
| DWORD AlphaFromStateSelect : BITFIELD_BIT(16); |
| DWORD FullImageHistogram : BITFIELD_BIT(17); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(18, 31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD AoiMinX : BITFIELD_RANGE(0, 13); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(14, 15); |
| DWORD AoiMaxX : BITFIELD_RANGE(16, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD AoiMinY : BITFIELD_RANGE(0, 13); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(14, 15); |
| DWORD AoiMaxY : BITFIELD_RANGE(16, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| } VEBOX_ALPHA_AOI_STATE_G9, *PVEBOX_ALPHA_AOI_STATE_G9; |
| |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_CCM_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD C1 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 30); |
| DWORD ColorCorrectionMatrixEnable : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD C0 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD C3 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| // DWORD 3 |
| union { |
| struct { |
| DWORD C2 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 31); |
| }; |
| DWORD Value; |
| } DW3; |
| |
| // DWORD 4 |
| union { |
| struct { |
| DWORD C5 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 31); |
| }; |
| DWORD Value; |
| } DW4; |
| |
| // DWORD 5 |
| union { |
| struct { |
| DWORD C4 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 31); |
| }; |
| DWORD Value; |
| } DW5; |
| |
| // DWORD 6 |
| union { |
| struct { |
| DWORD C7 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 31); |
| }; |
| DWORD Value; |
| } DW6; |
| |
| // DWORD 7 |
| union { |
| struct { |
| DWORD C6 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 31); |
| }; |
| DWORD Value; |
| } DW7; |
| |
| // DWORD 8 |
| union { |
| struct { |
| DWORD C8 : BITFIELD_RANGE(0, 16); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(17, 31); |
| }; |
| DWORD Value; |
| } DW8; |
| |
| } VEBOX_CCM_STATE_G9, *PVEBOX_CCM_STATE_G9; |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_FRONT_END_CSC_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD FecscC0TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 30); |
| DWORD FrontEndCscTransformEnable : BITFIELD_BIT(31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD FecscC1TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD FecscC2TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| // DWORD 3 |
| union { |
| struct { |
| DWORD FecscC3TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW3; |
| |
| // DWORD 4 |
| union { |
| struct { |
| DWORD FecscC4TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW4; |
| |
| // DWORD 5 |
| union { |
| struct { |
| DWORD FecscC5TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW5; |
| |
| // DWORD 6 |
| union { |
| struct { |
| DWORD FecscC6TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW6; |
| |
| // DWORD 7 |
| union { |
| struct { |
| DWORD FecscC7TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW7; |
| |
| // DWORD 8 |
| union { |
| struct { |
| DWORD FecscC8TransformCoefficient : BITFIELD_RANGE(0, 18); |
| DWORD Rserved : BITFIELD_RANGE(19, 31); |
| }; |
| DWORD Value; |
| } DW8; |
| |
| // DWORD 9 |
| union { |
| struct { |
| DWORD FecScOffsetIn1OffsetInForYR : BITFIELD_RANGE(0, 15); |
| DWORD FecScOffsetOut1OffsetOutForYR : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW9; |
| |
| // DWORD 10 |
| union { |
| struct { |
| DWORD FecScOffsetIn2OffsetOutForUG : BITFIELD_RANGE(0, 15); |
| DWORD FecScOffsetOut2OffsetOutForUG : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW10; |
| |
| // DWORD 11 |
| union { |
| struct { |
| DWORD FecScOffsetIn3OffsetOutForVB : BITFIELD_RANGE(0, 15); |
| DWORD FecScOffsetOut3OffsetOutForVB : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW11; |
| |
| } VEBOX_FRONT_END_CSC_STATE_G9, *PVEBOX_FRONT_END_CSC_STATE_G9; |
| |
| // Defined in vol2c "Vebox" |
| typedef struct _VEBOX_IECP_STATE_G9 |
| { |
| // DWORD 0_28 |
| VEBOX_STD_STE_STATE_G9 StdSteState; |
| |
| // DWORD 29_41 |
| VEBOX_ACE_LACE_STATE_G9 AceLaceState; |
| |
| // DWORD 42_52 |
| VEBOX_TCC_STATE_G9 TccState; |
| |
| // DWORD 53_54 |
| VEBOX_PROCAMP_STATE_G9 ProcAmpState; |
| |
| // DWORD 55_66 |
| VEBOX_CSC_STATE_G9 CscState; |
| |
| // DWORD 67_69 |
| VEBOX_ALPHA_AOI_STATE_G9 AlphaAoiState; |
| |
| // DWORD 70_78 |
| VEBOX_CCM_STATE_G9 CcmState; |
| |
| // DWORD 79_90 |
| VEBOX_FRONT_END_CSC_STATE_G9 FrontEndCscState; |
| } VEBOX_IECP_STATE_G9, *PVEBOX_IECP_STATE_G9; |
| |
| |
| // Defined in vol2c "VEBOX" |
| typedef struct _VEBOX_CAPTURE_PIPE_STATE_G9 |
| { |
| // DWORD 0 |
| union { |
| struct { |
| DWORD GoodPixelNeighborThreshold : BITFIELD_RANGE(0, 5); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(6, 7); |
| DWORD AverageColorThreshold : BITFIELD_RANGE(8, 15); |
| DWORD GreenImbalanceThreshold : BITFIELD_RANGE(16, 19); |
| DWORD ShiftMinCost : BITFIELD_RANGE(20, 22); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_BIT(23); |
| DWORD GoodPixelThreshold : BITFIELD_RANGE(24, 29); |
| DWORD __CODEGEN_UNIQUE(Reserved) : BITFIELD_RANGE(30, 31); |
| }; |
| DWORD Value; |
| } DW0; |
| |
| // DWORD 1 |
| union { |
| struct { |
| DWORD BadColorThreshold3 : BITFIELD_RANGE(0, 3); |
| DWORD NumberBigPixelTheshold : BITFIELD_RANGE(4, 7); |
| DWORD BadColorThreshold2 : BITFIELD_RANGE(8, 15); |
| DWORD BadColorThreshold1 : BITFIELD_RANGE(16, 23); |
| DWORD GoodIntesityThreshold : BITFIELD_RANGE(24, 27); |
| DWORD ScaleForMinCost : BITFIELD_RANGE(28, 31); |
| }; |
| DWORD Value; |
| } DW1; |
| |
| // DWORD 2 |
| union { |
| struct { |
| DWORD WhiteBalanceCorrectionEnable : BITFIELD_BIT(0); |
| DWORD BlackPointCorrectionEnable : BITFIELD_BIT(1); |
| DWORD VignetteCorrectionFormat : BITFIELD_BIT(2); |
| DWORD RgbHistogramEnable : BITFIELD_BIT(3); |
| DWORD BlackPointOffsetGreenBottomMsb : BITFIELD_BIT(4); |
| DWORD BlackPointOffsetBlueMsb : BITFIELD_BIT(5); |
| DWORD BlackPointOffsetGreenTopMsb : BITFIELD_BIT(6); |
| DWORD BlackPointOffsetRedMsb : BITFIELD_BIT(7); |
| DWORD UvThresholdValue : BITFIELD_RANGE(8, 15); |
| DWORD YOutlierValue : BITFIELD_RANGE(16, 23); |
| DWORD YBrightValue : BITFIELD_RANGE(24, 31); |
| }; |
| DWORD Value; |
| } DW2; |
| |
| // DWORD 3 |
| union { |
| struct { |
| DWORD BlackPointOffsetGreenTop : BITFIELD_RANGE(0, 15); |
| DWORD BlackPointOffsetRed : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW3; |
| |
| // DWORD 4 |
| union { |
| struct { |
| DWORD BlackPointOffsetGreenBottom : BITFIELD_RANGE(0, 15); |
| DWORD BlackPointOffsetBlue : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW4; |
| |
| // DWORD 5 |
| union { |
| struct { |
| DWORD WhiteBalanceGreenTopCorrection : BITFIELD_RANGE(0, 15); |
| DWORD WhiteBalanceRedCorrection : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW5; |
| |
| // DWORD 6 |
| union { |
| struct { |
| DWORD WhiteBalanceGreenBottomCorrection : BITFIELD_RANGE(0, 15); |
| DWORD WhiteBalanceBlueCorrection : BITFIELD_RANGE(16, 31); |
| }; |
| DWORD Value; |
| } DW6; |
| |
| } VEBOX_CAPTURE_PIPE_STATE_G9, *PVEBOX_CAPTURE_PIPE_STATE_G9; |
| |
| |
| |
| |
| typedef struct __CM_VEBOX_PARAM_G9 |
| { |
| PVEBOX_DNDI_STATE_G9 pDndiState; |
| unsigned char padding1[4024]; |
| PVEBOX_IECP_STATE_G9 pIecpState; |
| unsigned char padding2[3732]; |
| PVEBOX_GAMUT_STATE_G75 pGamutState; |
| unsigned char padding3[3936]; |
| PVEBOX_VERTEX_TABLE_G75 pVertexTable; |
| unsigned char padding4[2048]; |
| PVEBOX_CAPTURE_PIPE_STATE_G9 pCapturePipe; |
| }CM_VEBOX_PARAM_G9, PCM_VEBOX_PARAM_G9; |
| |
| #endif //__CM_RT_G9_H__ |