@class HistBasedToneMapping, AdaptiveTM, DolbyVisionDM4, DMShader; @protocol MTLLibrary, MTLTexture, MTLBuffer, MTLDeviceSPI; @interface DolbyVisionDisplayManagement : NSObject { id _device; id _defaultLibrary; DMShader *_displayManagementKernel; id _config; id _inputYTexture; id _inputUVTexture; id _outputTexture; unsigned long long _inputProtectionOptions; unsigned long long _outputProtectionOptions; int _inputDmVersion; DolbyVisionDM4 *_dm40; AdaptiveTM *_adaptiveTM; HistBasedToneMapping *_histBasedToneMapping; } - (void)releaseResources; - (id)initWithDevice:(id)a0; - (void).cxx_destruct; - (void)setupMetal; - (float)dovi84_getScalingFactor:(float)a0 tableSize:(unsigned long long)a1 config:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a2 tmParam:(const struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } *)a3 edrAdaptationParam:(const struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } *)a4 ambAdaptationParam:(const struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } *)a5 hlgOOTFCombined:(BOOL)a6; - (float)dovi84_getScalingFactorForPT:(float)a0 tableSize:(unsigned long long)a1 config:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a2 tmParam:(const struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } *)a3 edrAdaptationParam:(const struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } *)a4 ambAdaptationParam:(const struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } *)a5 hlgOOTFCombined:(BOOL)a6; - (void)dovi_computeDM4Tables:(const struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } *)a0 config:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a1 edrAdaptationParam:(const struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } *)a2 ambAdaptationParam:(const struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } *)a3 tLutI:(float *)a4 tLutS:(float *)a5 sLutI:(float *)a6 sLutS:(float *)a7 tLutISize:(unsigned long long)a8 tLutSSize:(unsigned long long)a9 sLutISize:(unsigned long long)a10 sLutSSize:(unsigned long long)a11 IsDoVi84:(BOOL)a12 HlgOOTFCombined:(BOOL)a13; - (void)dovi_setSat2FactorTable:(float *)a0 tableSize:(unsigned long long)a1 config:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a2 llDovi:(BOOL)a3 applyDoVi84SatAdjustment:(BOOL)a4; - (void)dovi_setScalingFactorTable:(float *)a0 lutInput:(const float *)a1 tableSize:(unsigned long long)a2 config:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a3 hdrCtrl:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a4 tmParam:(const struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } *)a5 edrAdaptationParam:(const struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } *)a6 ambAdaptationParam:(const struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } *)a7 hlgOOTFCombined:(BOOL)a8 hlgOOTFOnly:(BOOL)a9 isDoVi84:(BOOL)a10; - (BOOL)enableMSRandIOSTuning:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a0; - (void)encodeToCommandBuffer:(id)a0 Input:(struct __IOSurface { } *)a1 Output:(struct __IOSurface { } *)a2 MetaData:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a3; - (void)encodeToCommandBuffer:(id)a0 Input:(struct __IOSurface { } *)a1 Output:(struct __IOSurface { } *)a2 MetaData:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a3 tcControl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a4 hdrControl:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a5; - (id)getAdaptiveTM; - (id)getComputePipeLineStateForShader:(id)a0; - (id)getDolbyVisionDM4; - (id)getHistBasedToneMapping; - (void)getSat2Parameters:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a0; - (void)getToneCurves:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float *x9; float *x10; float *x11; float *x12; float x13; float x14; float x15; BOOL x16; BOOL x17; BOOL x18; BOOL x19; float *x20; } *)a0 tcCtrl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a1 tmData:(struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } *)a2; - (void)getToneCurves:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a0 tcCtrl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a1 tmData:(struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } *)a2 srcMinPQ:(float)a3 srcMaxPQ:(float)a4 tgtMinPQ:(float)a5 tgtMaxPQ:(float)a6 srcDiagSize:(float)a7 dstDiagSize:(float)a8 EDRFactor:(float)a9 ambient:(float)a10 nominalPQ:(float)a11 useLCDPanel:(BOOL)a12 referenceDisplay:(BOOL)a13 slopeScaled:(float *)a14 c1:(float *)a15 c2:(float *)a16 c3:(float *)a17 BrightAdjBySat2:(float *)a18 DM_MetaData:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a19; - (void)getToneCurvesDM31:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float *x9; float *x10; float *x11; float *x12; float x13; float x14; float x15; BOOL x16; BOOL x17; BOOL x18; BOOL x19; float *x20; } *)a0; - (id)initTmEngine:(int)a0 device:(id)a1; - (void)initToneCurveParams:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float *x9; float *x10; float *x11; float *x12; float x13; float x14; float x15; BOOL x16; BOOL x17; BOOL x18; BOOL x19; float *x20; } *)a0 srcMinPQ:(float)a1 srcMaxPQ:(float)a2 tgtMinPQ:(float)a3 tgtMaxPQ:(float)a4 srcCrushPQ:(float)a5 srcMidPQ:(float)a6 srcClipPQ:(float)a7 srcDiagSize:(float)a8 dstDiagSize:(float)a9 EDRFactor:(float)a10 ambient:(float)a11 nominalPQ:(float)a12 useLCDPanel:(BOOL)a13 noPCC:(BOOL)a14 referenceDisplay:(BOOL)a15 passThroughTM:(BOOL)a16 slopeScaled:(float *)a17 c1:(float *)a18 c2:(float *)a19 c3:(float *)a20 BrightAdjBySat2:(float *)a21; - (id)initWithTmLutSize:(int)a0; - (void)setConvertConfig:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a0 tcCtrl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a1 hdrCtrl:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a2 auxData:(struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } *)a3 tmData:(struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } *)a4; - (void)setDisplayManagementConfigFromDictionary:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a0 hdrCtrl:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a1 tcCtrl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a2 infoFrame:(struct { struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned int x8; unsigned int x9; } x0; struct { unsigned short x0; unsigned short x1; } x1; } *)a3; - (void)setDisplayManagementConfigFromMetaData:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a0 config:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a1 hdrCtrl:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a2 tcCtrl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a3; - (void)setDisplayManagementToneMappingConfigFromDictionary:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a0 hdrCtrl:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a1 tcCtrl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a2 infoFrame:(struct { struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned int x8; unsigned int x9; } x0; struct { unsigned short x0; unsigned short x1; } x1; } *)a3; - (void)setDisplayManagementToneMappingConfigFromMetaData:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a0 config:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a1 tcCtrl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a2 hdrCtrl:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a3 auxData:(struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } *)a4 dpcParam:(struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } *)a5; - (void)setInputDmVersion:(int)a0; - (void)setupDoViDmVersion:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a0 tmData:(struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } *)a1 hdrCtrl:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; float x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; float x18[9]; float x19[9]; unsigned int x20; float x21; unsigned int x22; float x23; BOOL x24; int x25; unsigned int x26; BOOL x27; } *)a2; - (void)setupTexturesWithInput:(struct __IOSurface { } *)a0 Output:(struct __IOSurface { } *)a1; @end