@interface DolbyVisionDM4 : NSObject { float sMinPq; float sMaxPq; float tMinPq; float tMaxPq; float sCrushPq; float sMidPq; float sClipPq; float tMaxLinear; float sMinTm; float sMaxTm; float tMinTm; float tMaxTm; float sMinPqTm; float sMaxPqTm; float tMinPqTm; float tMaxPqTm; unsigned int dmAlgVerInCm; struct { float Lw; float Lb; float a; float b; float gamma; float aR; float gammaR; } bt1886Param; struct { float min_PQ_offset; float max_PQ_offset; float avg_PQ_offset; } pqOffset; struct { float trimSlope; float trimOffset; float trimPower; float trimChromaWeight; float trimSaturationGain; float msWeight; float targetMidContrast; float clipTrim; float saturationVector[6]; float hueVector[6]; } trimData; struct { float trimSlope; float trimOffset; float trimPower; float trimChromaWeight; float trimSaturationGain; float msWeight; float targetMidContrast; float clipTrim; float saturationVector[6]; float hueVector[6]; } trimData2; struct { float trimSlope; float trimOffset; float trimPower; float trimChromaWeight; float trimSaturationGain; float msWeight; float targetMidContrast; float clipTrim; float saturationVector[6]; float hueVector[6]; } default2; struct { float trimSlope; float trimOffset; float trimPower; float trimChromaWeight; float trimSaturationGain; float msWeight; float targetMidContrast; float clipTrim; float saturationVector[6]; float hueVector[6]; } valueAdj2; struct { float trimSlope; float trimOffset; float trimPower; float trimChromaWeight; float trimSaturationGain; float msWeight; float targetMidContrast; float clipTrim; float saturationVector[6]; float hueVector[6]; } codeBias2; struct { float trimSlope; float trimOffset; float trimPower; float trimChromaWeight; float trimSaturationGain; float msWeight; float targetMidContrast; float clipTrim; float saturationVector[6]; float hueVector[6]; } trimData8; struct { float trimSlope; float trimOffset; float trimPower; float trimChromaWeight; float trimSaturationGain; float msWeight; float targetMidContrast; float clipTrim; float saturationVector[6]; float hueVector[6]; } default8; struct { float trimSlope; float trimOffset; float trimPower; float trimChromaWeight; float trimSaturationGain; float msWeight; float targetMidContrast; float clipTrim; float saturationVector[6]; float hueVector[6]; } codeBias8; int powerAdj; int slopeAdj; int satGainAdj; int tMidContrastAdj; float SRGB2LMS_TM[3][3]; float TRGB2LMS_TM[3][3]; float LMS2ITP[3][3]; float ITP2LMS[3][3]; float RGB2LMS[3][3]; float LMS2RGB[3][3]; float YUV2RGB[3][3]; float RGB2YUV[3][3]; unsigned int Yuv2RgbOffset[3]; unsigned int Rgb2YuvOffset[3]; struct { unsigned int colorPrimaries; unsigned int colorSpace; unsigned int transferFunction; int primariesScale2P; int m33Rgb2LmsScale2P; int primaries[8]; short m33Rgb2Lms[3][3]; } inputSurface; struct { unsigned int colorPrimaries; unsigned int colorSpace; unsigned int transferFunction; int primariesScale2P; int m33Rgb2LmsScale2P; int primaries[8]; short m33Rgb2Lms[3][3]; } outputSurface; unsigned int inputRange; unsigned int outputRange; float tCrushPq; float tMidPq; float tClipPq; float clipI; float clipSat; float clipIPred; float clipSatPred; float clipTmI; float clipSmI; float clipIPred2TmIRatio; float clipSatPred2SmISatRatio; float crushSlope; float midSlope; float clipSlope; float tms_change; float sms_change; float mLow; float bLow; float mHigh; float bHigh; float cLow[4]; float cHigh[4]; float ITPRedInSaturation; float ITPRedOutSaturation; unsigned long long tmLutSize; float *tmLutI; float *tmLutS; float *smLutI; float *smLutS; } - (id)init:(unsigned long long)a0; - (void)dealloc; - (void)BuildLumaXInfo:(double)a0 TrimSetAct:(int)a1 Luma:(double *)a2 Idxa:(int *)a3 IdxMax:(int *)a4 X2Interp:(double *)a5 DmMetaData:(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; - (void)BuildChromaXInfo:(double)a0 TrimSetAct:(int)a1 Luma:(double *)a2 Idxa:(int *)a3 IdxMax:(int *)a4 X2Interp:(double *)a5 DmMetaData:(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; - (int)DecodeL2L8:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a0 CodeBias2:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a1 TrimData8:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a2 CodeBias8:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a3 Default8:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a4 UseDftLuma:(unsigned char)a5 UseDftChroma:(unsigned char)a6; - (BOOL)GetPrimaries:(unsigned int)a0 Primaries:(int *)a1 Count:(int)a2; - (void)InputMapping:(float *)a0 pX1:(float *)a1 pX2:(float *)a2; - (void)SetL2L8L10:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a0 TrimData8:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a1 Default8:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a2 UseDftLuma:(unsigned char)a3 UseDftChroma:(unsigned char)a4; - (void)debugTrimData8:(const struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a0; - (void)dumpConfigData:(struct __sFILE { char *x0; int x1; int x2; short x3; short x4; struct __sbuf { char *x0; int x1; } x5; int x6; void *x7; void /* function */ *x8; void /* function */ *x9; void /* function */ *x10; void /* function */ *x11; struct __sbuf { char *x0; int x1; } x12; struct __sFILEX *x13; int x14; unsigned char x15[3]; unsigned char x16[1]; struct __sbuf { char *x0; int x1; } x17; int x18; long long x19; } *)a0; - (void)initBt1886Param; - (void)ToneMapping:(float *)a0 pX1:(float *)a1 pX2:(float *)a2 pAdm:(float *)a3; - (int)BuildInterpInfo:(int)a0 Xa:(double *)a1 Idxa:(int *)a2 TIdxMax:(int)a3 X2Interp:(double)a4 Alpha:(double *)a5 U16a:(void *)a6 U16L:(void **)a7 U16R:(void **)a8 DmMetaData:(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; } *)a9; - (void)DmProcess:(int)a0 Height:(int)a1 bufI:(float *)a2 bufU:(float *)a3 bufV:(float *)a4; - (void)ToneMappingInCtrl:(float *)a0 pX1:(float *)a1 pX2:(float *)a2 pAdm:(float *)a3; - (void)OutputMapping:(float *)a0 pX1:(float *)a1 pX2:(float *)a2; - (void)debugTrimData2:(const struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8[6]; float x9[6]; } *)a0; - (float)toneMapInterpI:(float)a0; - (void)applyL3:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a0 srcCrushPQ:(float *)a1 srcMidPQ:(float *)a2 srcClipPQ:(float *)a3; - (float)applyL8Trim:(float)a0; - (void)applyL9:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a0; - (void)calcToneMapParams; - (void)createTmLuts:(float *)a0 tLutS:(float *)a1 sLutI:(float *)a2 sLutS:(float *)a3 tLutISize:(unsigned long long)a4 tLutSSize:(unsigned long long)a5 sLutISize:(unsigned long long)a6 sLutSSize:(unsigned long long)a7; - (void)createTmLutsEx:(float *)a0 tLutS:(float *)a1 sLutI:(float *)a2 sLutS:(float *)a3 tLutISize:(unsigned long long)a4 tLutSSize:(unsigned long long)a5 sLutISize:(unsigned long long)a6 sLutSSize:(unsigned long long)a7 config:(struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a8 TmParam:(const struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } *)a9 EdrAdaptationParam:(const struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } *)a10 AmbAdaptationParam:(const struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } *)a11 IsDoVi84:(BOOL)a12 HlgOOTFCombined:(BOOL)a13; - (void)createToneCurve:(float)a0 srcMaxPQ:(float)a1 tgtMinPQ:(float)a2 tgtMaxPQ:(float)a3 srcCrushPQ:(float)a4 srcMidPQ:(float)a5 srcClipPQ:(float)a6 targetMaxLinear:(float)a7 DM_MetaData:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a8 tcCtrl:(struct ToneCurve_Control { double x0; double x1; double x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; double x10; BOOL x11; BOOL x12; float x13; BOOL x14; int x15; struct __CFString *x16; int x17; int x18; int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; float x24; float x25; float x26; float x27; float x28; unsigned int x29; unsigned char x30 : 1; unsigned char x31 : 1; float x32; struct _AuxData { int x0; int x1; int x2; float x3; float x4; float x5; float x6; int x7; float x8; float x9; float x10; BOOL x11; } x33; struct _TMData { int x0; int x1; int x2; int x3; int x4; float x5; float x6; float x7; int x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; int x25; int x26; float x27; float x28; struct _Percentiles_t { float x0[8]; float x1[8]; unsigned int x2; } x29; BOOL x30; BOOL x31; BOOL x32; } x34; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x35; struct _HLGTMParam { float x0; struct _HDR10TMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; struct _TMCurveParam { int x0; union { struct _splCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; float x4[5][4]; float x5[5][4]; float x6[2][2]; } x0; struct _ebzCurveParam { unsigned short x0; float x1[6]; float x2[6]; float x3[6]; unsigned short x4[5]; float x5[5][14]; float x6[6]; float x7[5][15]; float x8[5][15]; float x9[5][15]; } x1; struct _doviCurveParam { float x0; float x1; float x2; float x3; } x2; } x1; } x21; float x22; float x23; float x24; float x25; int x26; float x27; float x28; float x29; float x30; float x31; } x1; BOOL x2; float x3; float x4; float x5; float x6; BOOL x7; BOOL x8; } x36; struct _DoViTMParam { BOOL x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; int x34; float x35; } x37; struct _EdrAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; BOOL x12; float x13; float x14; float x15; float x16; unsigned int x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; BOOL x33; } x38; struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } x39; struct _AmbAdaptationData { int x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; BOOL x8; float x9; } x40; struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } x41; struct _DpcData { int x0; float x1; float x2; float x3; } x42; int x43; } *)a9 usePseudoTrim:(BOOL)a10; - (void)debugDMMetaData2:(const struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } *)a0; - (void)debugDMMetaData8:(const 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]; } *)a0; - (void)dumpConfigDataToFile:(int)a0; - (void)getDM4Params:(struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7[4]; float x8[4]; } *)a0; - (BOOL)hasDM4TonemapConfigChanged:(const 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 TonemapConfig:(const struct { float x0; float x1; float x2; 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; } x3; 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]; } x4; 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; } x5; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x6; int x7; union { struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; } x0; struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; short x11[3][3]; short x12[3][3]; } x1; struct { float x0; BOOL x1; } x2; } x8; } *)a1 EdrAdaptationParam:(const struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } *)a2 AmbAdaptationParam:(const struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } *)a3; - (void)initColorSpace:(unsigned int)a0 OutClrSpace:(unsigned int)a1 OutTrfFunction:(unsigned int)a2; - (void)initDmAlgVerInCm:(unsigned int)a0; - (void)initOutputColorPrimaries:(unsigned int)a0; - (void)initToneMapMatrices:(unsigned int)a0 outbits:(unsigned int)a1 srcRgb2LmsTm:(float *)a2 tgtRgb2LmsTm:(float *)a3; - (void)initToneMapMatrices:(float *)a0 tgtRgb2LmsTm:(float *)a1; - (void)initToneMapParams:(float)a0 srcMaxPQ:(float)a1 tgtMinPQ:(float)a2 tgtMaxPQ:(float)a3 srcCrushPQ:(float)a4 srcMidPQ:(float)a5 srcClipPQ:(float)a6 targetMaxLinear:(float)a7 DM_MetaData:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a8; - (void)initTrimData:(struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; int x4[9]; unsigned int x5[3]; int x6[9]; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x21; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; short x7; } x22[8]; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x23; struct { unsigned short x0; unsigned short x1; unsigned short x2; } x24; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x25; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x26; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned char x11[6]; unsigned char x12[6]; } x27[5]; struct { unsigned short x0; unsigned short x1; unsigned char x2; short x3; short x4; short x5; short x6; short x7; short x8; short x9; short x10; } x28; struct { unsigned short x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned short x4; unsigned char x5; short x6; short x7; short x8; short x9; short x10; short x11; short x12; short x13; } x29[4]; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; } x30; struct { unsigned short x0; unsigned char x1; unsigned char x2; } x31; struct { unsigned short x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; } x32; unsigned short x33; } *)a0; - (float)satMapI:(float)a0 Adm:(float)a1; - (float)satMapS:(float)a0; - (void)setPseudoTrimDataForHLG:(float)a0; - (float)toneMapI:(float)a0; - (float)toneMapS:(float)a0; - (void)updateDM4TonemapConfig:(struct { float x0; float x1; float x2; 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; } x3; 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]; } x4; 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; } x5; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x6; int x7; union { struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; } x0; struct { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; short x11[3][3]; short x12[3][3]; } x1; struct { float x0; BOOL x1; } x2; } x8; } *)a0 DMConfig:(const struct { float x0; float x1; unsigned int x2; float x3; float x4; float x5; float x6; unsigned int x7; float x8; float x9; float x10; float x11; unsigned int x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; float x25; unsigned int x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; float x37; float x38; float x39; float x40; float x41; float x42; float x43; float x44; BOOL x45; float x46; float x47; BOOL x48; float x49; BOOL x50; int x51; int x52; float x53; int x54; struct _DpcParam { float x0; float x1; float x2; float x3; BOOL x4; } x55; int x56; unsigned short x57; BOOL x58; float x59; BOOL x60; BOOL x61; BOOL x62; BOOL x63; BOOL x64; } *)a1 EdrAdaptationParam:(const struct _EdrAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; BOOL x5; float x6[2][4]; float x7[2][4]; float x8[2][2]; } *)a2 AmbAdaptationParam:(const struct _AmbAdaptationParam { BOOL x0; unsigned short x1; float x2[3]; float x3[3]; float x4[3]; float x5; float x6; BOOL x7; float x8[2][4]; float x9[2][4]; float x10[2][2]; float x11; } *)a3; @end