luxlabs header browser preview


@class ComposerShader;
@protocol MTLLibrary, MTLTexture, MTLBuffer, MTLDeviceSPI;

@interface DolbyVisionComposer : NSObject {
    unsigned long long _frameIndex;
    id<MTLDeviceSPI> _device;
    id<MTLLibrary> _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<MTLTexture> _polynomialTables[3];
    id<MTLTexture> _currentPolynomialTable;
    id<MTLBuffer> _dequantizelTable;
    id<MTLBuffer> _configBuffers[3];
    id<MTLBuffer> _config;
    id<MTLTexture> _blTexture;
    id<MTLTexture> _blTextureUV;
    id<MTLTexture> _blSubsampledTempTexture;
    id<MTLTexture> _blSubsampledTexture;
    id<MTLTexture> _elTexture;
    id<MTLTexture> _elTextureUV;
    id<MTLTexture> _outputTexture[3];
    id<MTLTexture> _outputTextureUV;
    id<MTLTexture> _pq2LTable;
    unsigned int _pq2LTableSize;
    id<MTLTexture> _hlg2LTable;
    unsigned int _hlg2LTableSize;
    id<MTLTexture> _yuvScalingFactorTable;
    float _yuvScalingFactorTableBuffer[2048];
    id<MTLTexture> _scalingFactorTable;
    float _scalingFactorTableBuffer[1024];
    id<MTLTexture> _sat2FactorTable;
    float _sat2FactorTableBuffer[1024];
    id<MTLTexture> _lumaMixFactorTable;
    float _lumaMixFactorTableBuffer[512];
    id<MTLTexture> _xferToLinear;
    unsigned int _l2PQTableSize;
    id<MTLTexture> _dm4_tLutI;
    id<MTLTexture> _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