@class ComposerShader; @protocol MTLLibrary, MTLTexture, MTLBuffer, MTLDeviceSPI; @interface DolbyVisionComposer : NSObject { unsigned long long _frameIndex; id _device; id _defaultLibrary; ComposerShader *_horizontalHalfLumaKernel; ComposerShader *_verticalHalfLumaKernel; ComposerShader *_verticalResampleKernel; ComposerShader *_horizontalResampleKernel; ComposerShader *_composeLumaKernel; ComposerShader *_composeChromaKernel; ComposerShader *_composeYUVKernel; ComposerShader *_sdr2cif10; ComposerShader *_packedDolbyIPT_ptv; ComposerShader *_packed422DolbyIPT_ptv; ComposerShader *_unpackedHDR10_ptv; ComposerShader *_packedHDR10_ptv; ComposerShader *_packed422HDR10_ptv; ComposerShader *_unpackedHLG_ptv; ComposerShader *_packedHLG_ptv; ComposerShader *_packed422HLG_ptv; ComposerShader *_packedHDR10toRGB; ComposerShader *_packed422HDR10toRGB; ComposerShader *_unpackedHDR10toRGB; ComposerShader *_packedHDR10toRGB_YUVTM; ComposerShader *_packed422HDR10toRGB_YUVTM; ComposerShader *_unpackedHDR10toRGB_YUVTM; ComposerShader *_packedHDR10_msr; ComposerShader *_packed422HDR10_msr; ComposerShader *_packedHLGtoRGB_YUVTM; ComposerShader *_packedHLGtoRGB_YUVTM_flip; ComposerShader *_packedHLGtoRGB_YUVTM_rotate; ComposerShader *_packed422HLGtoRGB_YUVTM; ComposerShader *_packed422HLGtoRGB_YUVTM_flip; ComposerShader *_packed422HLGtoRGB_YUVTM_rotate; ComposerShader *_unpackedHLG8toRGB_YUVTM; ComposerShader *_unpackedHLG10toRGB_YUVTM; ComposerShader *_packedHLG_msr; ComposerShader *_packed422HLG_msr; ComposerShader *_packedDolbyYUVtoRGB_YUVTM[4]; ComposerShader *_packedDolbyYUVtoRGB_IPTTM_HLGOOTF; ComposerShader *_packedDolbyYUVtoRGB_IPTTM_YScale; ComposerShader *_packed422DolbyYUVtoRGB_YUVTM[4]; ComposerShader *_packed422DolbyYUVtoRGB_IPTTM_HLGOOTF; ComposerShader *_packed422DolbyYUVtoRGB_IPTTM_YScale; ComposerShader *_packedDolbyIPTtoRGB_YUVTM[4]; ComposerShader *_packedDolbyIPTtoRGB_IPTTM_HLGOOTF; ComposerShader *_packedDolbyIPTtoRGB_IPTTM_YScale; ComposerShader *_packed422DolbyIPTtoRGB_YUVTM[4]; ComposerShader *_packed422DolbyIPTtoRGB_IPTTM_HLGOOTF; ComposerShader *_packed422DolbyIPTtoRGB_IPTTM_YScale; ComposerShader *_singleLayerIntegratedKernel[4]; ComposerShader *_singleLayerIntegratedIPTKernel[4]; ComposerShader *_singleLayerIntegratedIPTKernelMsr; ComposerShader *_singleLayerIntegratedKernelPlanar[4]; ComposerShader *_singleLayerIntegratedIPTKernelPlanar[4]; ComposerShader *_singleLayerIntegratedKernelPackedPlanar[4]; ComposerShader *_singleLayerIntegratedKernelPackedPlanar_flip[4]; ComposerShader *_singleLayerIntegratedKernelPackedPlanar_rotate[4]; ComposerShader *_singleLayerIntegratedKernelPackedPlanar_msr[4]; ComposerShader *_singleLayerIntegratedKernelPackedPlanarDM4[4]; ComposerShader *_singleLayerIntegratedKernelPackedPlanarDM4_flip[4]; ComposerShader *_singleLayerIntegratedKernelPackedPlanarDM4_rotate[4]; ComposerShader *_singleLayerIntegratedKernelPackedPlanarDM4_msr[4]; ComposerShader *_singleLayerIntegratedIPTKernelPackedPlanar[4]; ComposerShader *_singleLayerIntegratedIPTKernelPackedPlanar_msr; ComposerShader *_yuvP422PackedPlanar[4]; ComposerShader *_yuvP422PackedPlanar_msr[4]; ComposerShader *_yuvP422PackedPlanar_flip[4]; ComposerShader *_yuvP422PackedPlanar_rotate[4]; ComposerShader *_yuvP422PackedPlanarDM4[4]; ComposerShader *_yuvP422PackedPlanarDM4_flip[4]; ComposerShader *_yuvP422PackedPlanarDM4_rotate[4]; ComposerShader *_yuvP422PackedPlanarDM4_msr[4]; ComposerShader *_iptP422PackedPlanar[4]; ComposerShader *_iptP422PackedPlanar_msr; ComposerShader *_packedHDR10Cif10[4]; ComposerShader *_packed422HDR10Cif10[4]; ComposerShader *_packedHLGCif10[4]; ComposerShader *_packed422HLGCif10[4]; ComposerShader *_y416HLGw30r; ComposerShader *_RGhAHLGw30r; ComposerShader *_y416HDR10w30r; ComposerShader *_x444HDR10w30r; ComposerShader *_RGhAHDR10w30r; ComposerShader *_singleLayer16bit444Kernel; float _ambientHeadroomAdaptationLut[2000]; id _polynomialTables[3]; id _currentPolynomialTable; id _dequantizelTable; id _configBuffers[3]; id _config; id _blTexture; id _blTextureUV; id _blSubsampledTempTexture; id _blSubsampledTexture; id _elTexture; id _elTextureUV; id _outputTexture[3]; id _outputTextureUV; id _pq2LTable; unsigned int _pq2LTableSize; id _hlg2LTable; unsigned int _hlg2LTableSize; id _yuvScalingFactorTable; float _yuvScalingFactorTableBuffer[2048]; id _scalingFactorTable; float _scalingFactorTableBuffer[1024]; id _sat2FactorTable; float _sat2FactorTableBuffer[1024]; id _lumaMixFactorTable; float _lumaMixFactorTableBuffer[512]; id _xferToLinear; unsigned int _l2PQTableSize; id _dm4_tLutI; id _dm4_tLutS; float _dm4_tLutIBuffer[1024]; float _dm4_tLutSBuffer[1024]; float _dm4_sLutIBuffer[512]; float _dm4_sLutSBuffer[512]; float _l2PQMidPoint; float _l2PQMaxPoint; BOOL _dumpPolynomialResult; unsigned int _srcFormat; unsigned int _dstFormat; unsigned int _inputPixelFormat; unsigned int _outputPixelFormat; unsigned long long _inputProtectionOptions; unsigned long long _outputProtectionOptions; BOOL _isPackedInputBuffer; float _cached_target_white; float _cached_target_black; float _cached_source_white; float _cached_source_black; unsigned long long _iosurface_ReadOnlyTextureAlignmentBytes; struct { unsigned int contentType; int processingType; struct { float max_fp16; float additional_scaler; } degamma; struct { float ambientnits; float maxpq; float maxedr; struct _HDR10TMParam { BOOL on; float Smin_nits; float Smax_nits; float Tmin_nits; float Tmax_nits; float tm_Smin_nits; float tm_Smid_nits; float tm_Smax_nits; float tm_Send_nits; float tm_Tmin_nits; float tm_Tmid_nits; float tm_Tmax_nits; float tm_Tend_nits; float tm_Smin_C; float tm_Smid_C; float tm_Smax_C; float tm_Send_C; float tm_Tmin_C; float tm_Tmid_C; float tm_Tmax_C; float tm_Tend_C; struct _TMCurveParam { int curveType; union { struct _splCurveParam { unsigned short n; float XsC[6]; float YsC[6]; float MsC[6]; float splCs[5][4]; float polyCs[5][4]; float linCs[2][2]; } spl; struct _ebzCurveParam { unsigned short n; float XsC[6]; float YsC[6]; float MsC[6]; unsigned short ms[5]; float arrPsC[5][14]; float XsCA[6]; float bezierAnchors[5][15]; float genericPolyCoeffs[5][15]; float stdPolyCoeffs[5][15]; } ebz; struct _doviCurveParam { float sl; float c1; float c2; float c3; } dovi; } param; } tmCurveParam; float linearOffset; float linearScaler; float nonlinearOffset; float nonlinearScaler; int linearStretchMode; float lumaMixXMinRatio; float lumaMixXMaxRatio; float lumaMixYMinRatio; float lumaMixYMaxRatio; float lumaMixPower; } tmParam; struct _EdrAdaptationParam { BOOL on; unsigned short n; float Xs[3]; float Ys[3]; float Ms[3]; BOOL withLinearExtension; float splCs[2][4]; float polyCs[2][4]; float linCs[2][2]; } edrAdaptationParam; struct _AmbAdaptationParam { BOOL on; unsigned short n; float XsC[3]; float YsC[3]; float MsC[3]; float aL; float bL; BOOL withLinearExtension; float splCs[2][4]; float polyCs[2][4]; float linCs[2][2]; float TmaxNits; } ambAdaptationParam; struct _DpcParam { float alpha; float alphaPrime; float rangeMax; float gain; BOOL on; } dpcParam; int dmVersion; union { struct { float slope; float c1; float c2; float c3; float trim_slope; float trim_offset; float trim_power; float trim_sat; float s2t_ratio; float sat2_p1; float sat2_p2; float sat2_p3; float sat2_p4; float sat2_p5; } dovi; struct { float sCrushPq; float sMidPq; float sClipPq; float tMinPq; float tMaxPq; float trimSlope; float trimOffset; float trimPower; float targetMidContrast; float trimSaturationGain; float trimChromaWeight; short src_m33Rgb2Lms[3][3]; short tgt_m33Rgb2Lms[3][3]; } dovi_dm4; struct { float gamma; BOOL applyArtisticOOTF; } hlg; } ; } tm; } _prev; } @property BOOL yuvCombinedCompose; @property BOOL preSubsampleLumaForMMR; @property BOOL bypassDisplayManagement; - (id)initWithDevice:(id)a0; - (void).cxx_destruct; - (void)setupMetal; - (void)createPQ2LTable; - (void)createL2PQTable; - (void)dovi_tm_createLUTFromDMConfig:(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 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; } *)a1 DM:(id)a2 TMParam:(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:(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:(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 HlgOOTFOnly:(BOOL)a7 IsDoVi84:(BOOL)a8; - (long long)encodeDualLayerToCommandBuffer:(id)a0 BL:(struct __IOSurface { } *)a1 EL:(struct __IOSurface { } *)a2 Output:(struct __IOSurface { } *)a3 MetaData:(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; unsigned int x12[3]; unsigned int x13[3][18]; unsigned int x14[1][1][3][9]; unsigned int x15[1][1][3][9]; unsigned int x16[1][1][3][9]; unsigned int x17[1][1][3][9]; unsigned int x18[1][1][3][9]; int x19[1][1][3][9][3]; unsigned int x20[1][1][3][9][3]; long long x21[1][1][3][9][6]; float x22[1][1][3][9][6]; unsigned int x23[1][1][3][9]; int x24[1][1][3][9]; unsigned int x25[1][1][3][9]; int x26[1][1][3][9][4][7]; unsigned int x27[1][1][3][9][4][7]; long long x28[1][1][3][9][4][7]; float x29[1][1][3][9][4][7]; int x30[1][1][3][9][6]; unsigned int x31[1][1][3][9][6]; unsigned int x32; unsigned int x33; unsigned int x34; unsigned int x35[9]; unsigned int x36[1][1][9][3]; unsigned int x37[1][1][9][3]; unsigned int x38[1][1][9][3]; long long x39[1][1][9][3]; unsigned int x40[1][1][9][3]; unsigned int x41[1][1][9][3]; long long x42[1][1][9][3]; unsigned int x43[1][1][9][3]; unsigned int x44[1][1][9][3]; long long x45[1][1][9][3]; unsigned int x46[1][1][9][3]; unsigned int x47[1][1][9][3]; unsigned int x48[1][1][3][16384]; unsigned int x49[1][1][3][16384]; unsigned int x50; } *)a4 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; } *)a5; - (long long)checkForContent:(unsigned int)a0 contentReturn1:(BOOL *)a1 contentReturn2:(BOOL *)a2 contentReturn3:(BOOL *)a3 forDisplay:(unsigned int)a4 displayReturn1:(BOOL *)a5 displayReturn2:(BOOL *)a6 displayReturn3:(BOOL *)a7 displayReturn4:(BOOL *)a8 displayReturn5:(BOOL *)a9; - (long long)checkInputFormats:(unsigned int)a0 returnInput1:(BOOL *)a1 returnInput2:(BOOL *)a2 returnInput3:(BOOL *)a3 returnInput4:(BOOL *)a4 returnInput5:(BOOL *)a5 outputFormat:(unsigned int)a6 returnOutput1:(BOOL *)a7 returnOutput2:(BOOL *)a8 returnOutput3:(BOOL *)a9 returnOutput4:(BOOL *)a10; - (void)createHLG2LTable; - (void)createLUTFromDMConfig:(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 DM:(id)a1 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; } *)a2 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; } *)a3; - (id)createNullShader; - (void)createScalingTable_YUVTM; - (id)createShaderWithName:(id)a0 dolby84:(BOOL)a1 forLLDovi:(BOOL)a2; - (void)dovi_createLUTFromDMConfig:(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 DM:(id)a1 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; } *)a2 TMParam:(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:(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:(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 HlgOOTFOnly:(BOOL)a7 IsDoVi84:(BOOL)a8; - (void)dovi_dm4_updateInterleavedLUT; - (BOOL)dovi_tm_configChanged:(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 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; } *)a1 DM:(id)a2 EdrAdaptationParam:(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]; } *)a3 AmbAdaptationParam:(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; } *)a4; - (void)dovi_tm_reserveConfig:(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 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; } *)a1 DM:(id)a2 EdrAdaptationParam:(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]; } *)a3 AmbAdaptationParam:(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; } *)a4; - (void)dovi_tm_updateLUT; - (void)embeddedCreateKernels; - (long long)embeddedSetupEncoderForCommandBuffer:(id)a0 DMData:(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; } *)a1 dmConfig:(id)a2 isInput422:(BOOL)a3 hasThreeOutputPlane:(BOOL)a4 isSdrOnDolbyOrHDR10:(BOOL)a5 isHDR10OnHDR10TV:(BOOL)a6 isDolbyOnHDR10TV:(BOOL)a7 isHDR10OnDolby:(BOOL)a8 isHDR10OnPad:(BOOL)a9 isHLGOnPad:(BOOL)a10 isDoviOnPad:(BOOL)a11 isDoviOnLLDovi:(BOOL)a12 isHDR10OnLLDovi:(BOOL)a13 isHLGOnHDR10TV:(BOOL)a14 isHLGOnDolbyTV:(BOOL)a15 isHLGOnLLDovi:(BOOL)a16 isPtvMode:(BOOL)a17 orientation:(int)a18 isDolby84:(BOOL)a19 dovi50toHDR10TVMode:(unsigned int)a20 isDM4:(BOOL)a21 isGpuTmRefMode:(BOOL)a22; - (long long)embeddedSetupToneMappingWithContent:(BOOL)a0 Output:(struct __IOSurface { } *)a1 DM:(id)a2 DMData:(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 hdr10InfoFrame:(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; } *)a6 dmConfig:(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; } *)a7 hdr10OnPad:(BOOL)a8 useYUVScalingTable:(BOOL)a9; - (void)encodeComposeChromaToCommandBuffer:(id)a0 withMetaData:(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; unsigned int x12[3]; unsigned int x13[3][18]; unsigned int x14[1][1][3][9]; unsigned int x15[1][1][3][9]; unsigned int x16[1][1][3][9]; unsigned int x17[1][1][3][9]; unsigned int x18[1][1][3][9]; int x19[1][1][3][9][3]; unsigned int x20[1][1][3][9][3]; long long x21[1][1][3][9][6]; float x22[1][1][3][9][6]; unsigned int x23[1][1][3][9]; int x24[1][1][3][9]; unsigned int x25[1][1][3][9]; int x26[1][1][3][9][4][7]; unsigned int x27[1][1][3][9][4][7]; long long x28[1][1][3][9][4][7]; float x29[1][1][3][9][4][7]; int x30[1][1][3][9][6]; unsigned int x31[1][1][3][9][6]; unsigned int x32; unsigned int x33; unsigned int x34; unsigned int x35[9]; unsigned int x36[1][1][9][3]; unsigned int x37[1][1][9][3]; unsigned int x38[1][1][9][3]; long long x39[1][1][9][3]; unsigned int x40[1][1][9][3]; unsigned int x41[1][1][9][3]; long long x42[1][1][9][3]; unsigned int x43[1][1][9][3]; unsigned int x44[1][1][9][3]; long long x45[1][1][9][3]; unsigned int x46[1][1][9][3]; unsigned int x47[1][1][9][3]; unsigned int x48[1][1][3][16384]; unsigned int x49[1][1][3][16384]; unsigned int x50; } *)a1; - (void)encodeComposeCombinedToCommandBuffer:(id)a0; - (void)encodeComposeLumaToCommandBuffer:(id)a0; - (long long)encodeSingleLayerToCommandBuffer:(id)a0 BL:(struct __IOSurface { } *)a1 Output:(struct __IOSurface { } *)a2 ComposerData:(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; unsigned int x12[3]; unsigned int x13[3][18]; unsigned int x14[1][1][3][9]; unsigned int x15[1][1][3][9]; unsigned int x16[1][1][3][9]; unsigned int x17[1][1][3][9]; unsigned int x18[1][1][3][9]; int x19[1][1][3][9][3]; unsigned int x20[1][1][3][9][3]; long long x21[1][1][3][9][6]; float x22[1][1][3][9][6]; unsigned int x23[1][1][3][9]; int x24[1][1][3][9]; unsigned int x25[1][1][3][9]; int x26[1][1][3][9][4][7]; unsigned int x27[1][1][3][9][4][7]; long long x28[1][1][3][9][4][7]; float x29[1][1][3][9][4][7]; int x30[1][1][3][9][6]; unsigned int x31[1][1][3][9][6]; unsigned int x32; unsigned int x33; unsigned int x34; unsigned int x35[9]; unsigned int x36[1][1][9][3]; unsigned int x37[1][1][9][3]; unsigned int x38[1][1][9][3]; long long x39[1][1][9][3]; unsigned int x40[1][1][9][3]; unsigned int x41[1][1][9][3]; long long x42[1][1][9][3]; unsigned int x43[1][1][9][3]; unsigned int x44[1][1][9][3]; long long x45[1][1][9][3]; unsigned int x46[1][1][9][3]; unsigned int x47[1][1][9][3]; unsigned int x48[1][1][3][16384]; unsigned int x49[1][1][3][16384]; unsigned int x50; } *)a3 DM:(id)a4 DMData:(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; } *)a5 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; } *)a6 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; } *)a7 hdr10InfoFrame:(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; } *)a8; - (void)encodeSubsampleLumaHorizontalToCommandBuffer:(id)a0; - (void)encodeSubsampleLumaVerticalToCommandBuffer:(id)a0; - (long long)encodeToCommandBuffer:(id)a0 BL:(struct __IOSurface { } *)a1 EL:(struct __IOSurface { } *)a2 Output:(struct __IOSurface { } *)a3 ComposerData:(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; unsigned int x12[3]; unsigned int x13[3][18]; unsigned int x14[1][1][3][9]; unsigned int x15[1][1][3][9]; unsigned int x16[1][1][3][9]; unsigned int x17[1][1][3][9]; unsigned int x18[1][1][3][9]; int x19[1][1][3][9][3]; unsigned int x20[1][1][3][9][3]; long long x21[1][1][3][9][6]; float x22[1][1][3][9][6]; unsigned int x23[1][1][3][9]; int x24[1][1][3][9]; unsigned int x25[1][1][3][9]; int x26[1][1][3][9][4][7]; unsigned int x27[1][1][3][9][4][7]; long long x28[1][1][3][9][4][7]; float x29[1][1][3][9][4][7]; int x30[1][1][3][9][6]; unsigned int x31[1][1][3][9][6]; unsigned int x32; unsigned int x33; unsigned int x34; unsigned int x35[9]; unsigned int x36[1][1][9][3]; unsigned int x37[1][1][9][3]; unsigned int x38[1][1][9][3]; long long x39[1][1][9][3]; unsigned int x40[1][1][9][3]; unsigned int x41[1][1][9][3]; long long x42[1][1][9][3]; unsigned int x43[1][1][9][3]; unsigned int x44[1][1][9][3]; long long x45[1][1][9][3]; unsigned int x46[1][1][9][3]; unsigned int x47[1][1][9][3]; unsigned int x48[1][1][3][16384]; unsigned int x49[1][1][3][16384]; unsigned int x50; } *)a4 DM:(id)a5 DMData:(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; } *)a6 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; } *)a7 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; } *)a8 hdr10InfoFrame:(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; } *)a9; - (void)fillInScalingTable_YUVTM:(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 target_White:(float)a1 target_Black:(float)a2 source_White:(float)a3 source_Black:(float)a4 satBoost:(float)a5 scalingFactor:(BOOL)a6; - (id)getComputePipeLineStateForShader:(id)a0; - (void)getTmLutInput:(unsigned long long)a0 lutInput:(float *)a1; - (void)getTmLutInput_C:(unsigned long long)a0 lutInput:(float *)a1; - (void)hdr10_createLUTFromDMConfig:(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 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; } *)a1 TMParam:(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; } *)a2 EdrAdaptationParam:(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]; } *)a3 AmbAdaptationParam:(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; } *)a4; - (BOOL)hdr10_tm_configChanged:(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; } *)a0 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; } *)a1 EdrAdaptationParam:(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:(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; - (void)hdr10_tm_createLUTFromDMConfig:(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; } *)a0 EdrAdaptationParam:(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]; } *)a1 AmbAdaptationParam:(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; } *)a2 dmConfig:(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 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; } *)a4; - (void)hdr10_tm_reserveConfig:(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; } *)a0 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; } *)a1 EdrAdaptationParam:(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:(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; - (void)hdr10_tm_updateLUT; - (void)hlg_createLUTFromDMConfig:(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 DM:(id)a1 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; } *)a2 TMParam:(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; } *)a3 EdrAdaptationParam:(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:(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 TMMode:(int)a6; - (BOOL)hlg_tm_configChanged:(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 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; } *)a1 TMParam:(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; } *)a2 EdrAdaptationParam:(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]; } *)a3 AmbAdaptationParam:(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; } *)a4; - (void)hlg_tm_createLUTFromDMConfig:(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 DM:(id)a1 TMParam:(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; } *)a2 EdrAdaptationParam:(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]; } *)a3 AmbAdaptationParam:(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; } *)a4 TMMode:(int)a5; - (void)hlg_tm_reserveConfig:(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 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; } *)a1 TMParam:(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; } *)a2 EdrAdaptationParam:(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]; } *)a3 AmbAdaptationParam:(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; } *)a4; - (void)hlg_tm_updateLUT; - (void)initBuffers; - (void)initDMConfigCache; - (void)setupComposerKernelConfiguration:(struct { unsigned int x0; BOOL x1; unsigned int x2; int x3; int x4; unsigned int x5; unsigned int x6; BOOL x7; BOOL x8; unsigned int x9; float x10; float x11[22]; float x12[22]; float x13; struct { float x0; float x1; float x2; float x3; } x14[3]; BOOL x15; } *)a0 fromMetaData:(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; unsigned int x12[3]; unsigned int x13[3][18]; unsigned int x14[1][1][3][9]; unsigned int x15[1][1][3][9]; unsigned int x16[1][1][3][9]; unsigned int x17[1][1][3][9]; unsigned int x18[1][1][3][9]; int x19[1][1][3][9][3]; unsigned int x20[1][1][3][9][3]; long long x21[1][1][3][9][6]; float x22[1][1][3][9][6]; unsigned int x23[1][1][3][9]; int x24[1][1][3][9]; unsigned int x25[1][1][3][9]; int x26[1][1][3][9][4][7]; unsigned int x27[1][1][3][9][4][7]; long long x28[1][1][3][9][4][7]; float x29[1][1][3][9][4][7]; int x30[1][1][3][9][6]; unsigned int x31[1][1][3][9][6]; unsigned int x32; unsigned int x33; unsigned int x34; unsigned int x35[9]; unsigned int x36[1][1][9][3]; unsigned int x37[1][1][9][3]; unsigned int x38[1][1][9][3]; long long x39[1][1][9][3]; unsigned int x40[1][1][9][3]; unsigned int x41[1][1][9][3]; long long x42[1][1][9][3]; unsigned int x43[1][1][9][3]; unsigned int x44[1][1][9][3]; long long x45[1][1][9][3]; unsigned int x46[1][1][9][3]; unsigned int x47[1][1][9][3]; unsigned int x48[1][1][3][16384]; unsigned int x49[1][1][3][16384]; unsigned int x50; } *)a1; - (void)setupInputBuffersWithMetadata:(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; unsigned int x12[3]; unsigned int x13[3][18]; unsigned int x14[1][1][3][9]; unsigned int x15[1][1][3][9]; unsigned int x16[1][1][3][9]; unsigned int x17[1][1][3][9]; unsigned int x18[1][1][3][9]; int x19[1][1][3][9][3]; unsigned int x20[1][1][3][9][3]; long long x21[1][1][3][9][6]; float x22[1][1][3][9][6]; unsigned int x23[1][1][3][9]; int x24[1][1][3][9]; unsigned int x25[1][1][3][9]; int x26[1][1][3][9][4][7]; unsigned int x27[1][1][3][9][4][7]; long long x28[1][1][3][9][4][7]; float x29[1][1][3][9][4][7]; int x30[1][1][3][9][6]; unsigned int x31[1][1][3][9][6]; unsigned int x32; unsigned int x33; unsigned int x34; unsigned int x35[9]; unsigned int x36[1][1][9][3]; unsigned int x37[1][1][9][3]; unsigned int x38[1][1][9][3]; long long x39[1][1][9][3]; unsigned int x40[1][1][9][3]; unsigned int x41[1][1][9][3]; long long x42[1][1][9][3]; unsigned int x43[1][1][9][3]; unsigned int x44[1][1][9][3]; long long x45[1][1][9][3]; unsigned int x46[1][1][9][3]; unsigned int x47[1][1][9][3]; unsigned int x48[1][1][3][16384]; unsigned int x49[1][1][3][16384]; unsigned int x50; } *)a0; - (long long)setupInputTexturesWithBL:(struct __IOSurface { } *)a0 EL:(struct __IOSurface { } *)a1 Output:(struct __IOSurface { } *)a2 MetaData:(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; unsigned int x12[3]; unsigned int x13[3][18]; unsigned int x14[1][1][3][9]; unsigned int x15[1][1][3][9]; unsigned int x16[1][1][3][9]; unsigned int x17[1][1][3][9]; unsigned int x18[1][1][3][9]; int x19[1][1][3][9][3]; unsigned int x20[1][1][3][9][3]; long long x21[1][1][3][9][6]; float x22[1][1][3][9][6]; unsigned int x23[1][1][3][9]; int x24[1][1][3][9]; unsigned int x25[1][1][3][9]; int x26[1][1][3][9][4][7]; unsigned int x27[1][1][3][9][4][7]; long long x28[1][1][3][9][4][7]; float x29[1][1][3][9][4][7]; int x30[1][1][3][9][6]; unsigned int x31[1][1][3][9][6]; unsigned int x32; unsigned int x33; unsigned int x34; unsigned int x35[9]; unsigned int x36[1][1][9][3]; unsigned int x37[1][1][9][3]; unsigned int x38[1][1][9][3]; long long x39[1][1][9][3]; unsigned int x40[1][1][9][3]; unsigned int x41[1][1][9][3]; long long x42[1][1][9][3]; unsigned int x43[1][1][9][3]; unsigned int x44[1][1][9][3]; long long x45[1][1][9][3]; unsigned int x46[1][1][9][3]; unsigned int x47[1][1][9][3]; unsigned int x48[1][1][3][16384]; unsigned int x49[1][1][3][16384]; unsigned int x50; } *)a3; - (long long)setupOutputTexturesWithBuffer:(struct __IOSurface { } *)a0 orientation:(int)a1 ptvMode:(BOOL)a2; @end