luxlabs header browser preview


@interface DolbyVisionMR : NSObject {
    struct { struct { int TgtNum; int Clr; int Chrm; int Weav; int Bdp; int RgbRng; int Eotf; double Gamma; int RgbLmsM33Ext; double M33RgbLms[3][3]; int Rng; int YuvXferSpec; int RgbYuvExt; double M33RgbYuv[3][3]; int RgbYuvOffExt; double V3RgbYuvOff[3]; int RgbYuvOffNormExt; double V3RgbYuvOffNorm[3]; int DmVer; int DmMode; int RunMode; } mrCtrl; struct { double Min; double Max; int RgbDef; int PrimariesExt; double V8Primaries[8]; unsigned int SupportDms; int AllowUpMap; } sigEnv[2]; } mrCfg;
    struct { unsigned int lvlAvails; unsigned char affected_dm_metadata_id; unsigned char scene_refresh_flag; double m33Yuv2Rgb[3][3]; double v3Yuv2Rgb[3]; double m33Rgb2WpLms[3][3]; double signal_eotf; double signal_eotf_param0; double signal_eotf_param1; double signal_eotf_param2; unsigned char signal_bit_depth; unsigned char signal_color_space; unsigned char signal_chroma_format; unsigned char signal_full_range_flag; double source_min_PQ; double source_max_PQ; unsigned short source_diagonal; unsigned short active_area_left_offset; unsigned short active_area_right_offset; unsigned short active_area_top_offset; unsigned short active_area_bottom_offset; unsigned char source_primary_index; double v8SrcPrimaries[8]; unsigned char content_sub_type; unsigned char content_type; unsigned char intendeded_white_point; unsigned char dm_mode; unsigned char dm_version_index; unsigned char dm_run_mode; unsigned char dm_run_version; unsigned char dm_debug0; unsigned char dm_debug1; unsigned char dm_debug2; unsigned char dm_debug3; double min_PQ; double max_PQ; double mid_PQ; double min_PQ_offset; double max_PQ_offset; double mid_PQ_offset; struct { int TrimLevel; int TrimTypeDim; int TrimNum; double Trima[9][7]; } trim2; struct { int TrimLevel; int TrimTypeDim; int TrimNum; double Trima[9][21]; } trim8; struct { int TrimLevel; int TrimTypeDim; int TrimNum; struct { unsigned char tgtIdx; double tgtMaxPq; double tgtMinPq; unsigned char tgtPrimaryIdx; double v8TgtPrimaries[8]; } Trima[6]; } trim10; double filtered_mean_PQ; double filtered_power_PQ; unsigned char num_ext_blocks; } mdsExt;
    struct { struct { double Default2[7]; double CodeBias2[7]; double Default8[21]; double CodeBias8[21]; double Default10[12]; double CodeBias10[12]; } trmCodec; int mrCfgActValid; int mrCfgChged; struct { struct { int TgtNum; int Clr; int Chrm; int Weav; int Bdp; int RgbRng; int Eotf; double Gamma; int RgbLmsM33Ext; double M33RgbLms[3][3]; int Rng; int YuvXferSpec; int RgbYuvExt; double M33RgbYuv[3][3]; int RgbYuvOffExt; double V3RgbYuvOff[3]; int RgbYuvOffNormExt; double V3RgbYuvOffNorm[3]; int DmVer; int DmMode; int RunMode; } mrCtrl; struct { double Min; double Max; int RgbDef; int PrimariesExt; double V8Primaries[8]; unsigned int SupportDms; int AllowUpMap; } sigEnv[2]; } mrCfgAct; int mdsExtActValid; int mdsExtChged; struct { unsigned int lvlAvails; unsigned char affected_dm_metadata_id; unsigned char scene_refresh_flag; double m33Yuv2Rgb[3][3]; double v3Yuv2Rgb[3]; double m33Rgb2WpLms[3][3]; double signal_eotf; double signal_eotf_param0; double signal_eotf_param1; double signal_eotf_param2; unsigned char signal_bit_depth; unsigned char signal_color_space; unsigned char signal_chroma_format; unsigned char signal_full_range_flag; double source_min_PQ; double source_max_PQ; unsigned short source_diagonal; unsigned short active_area_left_offset; unsigned short active_area_right_offset; unsigned short active_area_top_offset; unsigned short active_area_bottom_offset; unsigned char source_primary_index; double v8SrcPrimaries[8]; unsigned char content_sub_type; unsigned char content_type; unsigned char intendeded_white_point; unsigned char dm_mode; unsigned char dm_version_index; unsigned char dm_run_mode; unsigned char dm_run_version; unsigned char dm_debug0; unsigned char dm_debug1; unsigned char dm_debug2; unsigned char dm_debug3; double min_PQ; double max_PQ; double mid_PQ; double min_PQ_offset; double max_PQ_offset; double mid_PQ_offset; struct { int TrimLevel; int TrimTypeDim; int TrimNum; double Trima[9][7]; } trim2; struct { int TrimLevel; int TrimTypeDim; int TrimNum; double Trima[9][21]; } trim8; struct { int TrimLevel; int TrimTypeDim; int TrimNum; struct { unsigned char tgtIdx; double tgtMaxPq; double tgtMinPq; unsigned char tgtPrimaryIdx; double v8TgtPrimaries[8]; } Trima[6]; } trim10; double filtered_mean_PQ; double filtered_power_PQ; unsigned char num_ext_blocks; } mdsExtAct; int mdsBaseValid; struct { int mdsLen; struct { unsigned int lvlAvails; unsigned char affected_dm_metadata_id; unsigned char scene_refresh_flag; double m33Yuv2Rgb[3][3]; double v3Yuv2Rgb[3]; double m33Rgb2WpLms[3][3]; double signal_eotf; double signal_eotf_param0; double signal_eotf_param1; double signal_eotf_param2; unsigned char signal_bit_depth; unsigned char signal_color_space; unsigned char signal_chroma_format; unsigned char signal_full_range_flag; double source_min_PQ; double source_max_PQ; unsigned short source_diagonal; unsigned short active_area_left_offset; unsigned short active_area_right_offset; unsigned short active_area_top_offset; unsigned short active_area_bottom_offset; unsigned char source_primary_index; double v8SrcPrimaries[8]; unsigned char content_sub_type; unsigned char content_type; unsigned char intendeded_white_point; unsigned char dm_mode; unsigned char dm_version_index; unsigned char dm_run_mode; unsigned char dm_run_version; unsigned char dm_debug0; unsigned char dm_debug1; unsigned char dm_debug2; unsigned char dm_debug3; double min_PQ; double max_PQ; double mid_PQ; double min_PQ_offset; double max_PQ_offset; double mid_PQ_offset; struct { int TrimLevel; int TrimTypeDim; int TrimNum; double Trima[9][7]; } trim2; struct { int TrimLevel; int TrimTypeDim; int TrimNum; double Trima[9][21]; } trim8; struct { int TrimLevel; int TrimTypeDim; int TrimNum; struct { unsigned char tgtIdx; double tgtMaxPq; double tgtMinPq; unsigned char tgtPrimaryIdx; double v8TgtPrimaries[8]; } Trima[6]; } trim10; double filtered_mean_PQ; double filtered_power_PQ; unsigned char num_ext_blocks; } mdsExtBase; int fxpSync2Flt; struct { unsigned int lvlAvails; unsigned char affected_dm_metadata_id; unsigned char scene_refresh_flag; short m33Yuv2RgbScale2P; short m33Yuv2Rgb[3][3]; unsigned int v3Yuv2Rgb[3]; short m33Rgb2WpLmsScale2P; short m33Rgb2WpLms[3][3]; unsigned short signal_eotf; unsigned short signal_eotf_param0; unsigned short signal_eotf_param1; unsigned int signal_eotf_param2; unsigned char signal_bit_depth; unsigned char signal_color_space; unsigned char signal_chroma_format; unsigned char signal_full_range_flag; unsigned short source_min_PQ; unsigned short source_max_PQ; unsigned short source_diagonal; unsigned short active_area_left_offset; unsigned short active_area_right_offset; unsigned short active_area_top_offset; unsigned short active_area_bottom_offset; unsigned char source_primary_index; short v8SrcPrimaries[8]; unsigned char content_sub_type; unsigned char content_type; unsigned char intendeded_white_point; unsigned char dm_mode; unsigned char dm_version_index; unsigned char dm_run_mode; unsigned char dm_run_version; unsigned char dm_debug0; unsigned char dm_debug1; unsigned char dm_debug2; unsigned char dm_debug3; unsigned short min_PQ; unsigned short max_PQ; unsigned short mid_PQ; unsigned short min_PQ_offset; unsigned short max_PQ_offset; unsigned short mid_PQ_offset; struct { int TrimLevel; int TrimTypeDim; int TrimNum; unsigned short Trima[9][7]; } trim2; struct { int TrimLevel; int TrimTypeDim; int TrimNum; unsigned short Trima[6][21]; } trim8; struct { int TrimLevel; int TrimTypeDim; int TrimNum; unsigned short Trima[6][12]; } trim10; unsigned short filtered_mean_PQ; unsigned short filtered_power_PQ; unsigned char num_ext_blocks; } mdsExtBaseFxp; } mdsBase; struct { int srcPrimaryIdx; double v8SrcPrimaries[8]; double TgtMmPq[2][2]; double crush; double clip; double mid; double tCrush; double tMid; double tClip; double s2Tratio; double rolloff; double sor; double c1; double c2; double c3; struct { double sMin; double sMid; double sMax; double tMin; double tMid; double tMax; double slopeMin; double slopeMid; double slopeMax; double c2l; double c3l; double c2u; double c3u; } sps[2]; int lvl8Ready; double *pDefL8; double lvl8TrmMax[6][2]; double *pLvl8TrmPrims[6]; int lvl8LcTidxMax[2]; int lvl8LcTidx[2][6]; double lvl8Lc[2][6]; int lvl2Ready; double *pDefL2; int lvl2TidxMax; int lvl2Tidx[9]; double lvl2Luma[9]; int isCurDefL2_8; int isDefL2_8[2]; double lvl2_8[2][21]; int tcVer[2]; int runMode; int dmMode; int dmVer; } tcCtrl; int trim8ExtLens[5]; int trim10ExtLens[5]; unsigned char l11Buf[4]; } mr;
    struct { int YCCtoRGB_coef[9]; unsigned int YCCtoRGB_offset[3]; int RGBtoLMS_coef[9]; unsigned int source_min_PQ; unsigned int source_max_PQ; unsigned int num_ext_blocks; unsigned int num_blocks_l2; unsigned int num_blocks_l8; struct { unsigned short valid; unsigned short min_PQ; unsigned short max_PQ; unsigned short avg_PQ; } L1; struct { unsigned short valid; unsigned short target_max_PQ; unsigned short trim_slope; unsigned short trim_offset; unsigned short trim_power; unsigned short trim_chroma_weight; unsigned short trim_saturation_gain; short ms_weight; } L2[8]; struct { unsigned short valid; unsigned short min_PQ_offset; unsigned short max_PQ_offset; unsigned short avg_PQ_offset; } L3; struct { unsigned short valid; unsigned short length; unsigned char target_display_index; unsigned short trim_slope; unsigned short trim_offset; unsigned short trim_power; unsigned short trim_chroma_weight; unsigned short trim_saturation_gain; unsigned short ms_weight; unsigned short target_mid_contrast; unsigned short clip_trim; unsigned char saturation_vector_field[6]; unsigned char hue_vector_field[6]; } L8[5]; struct { unsigned short valid; unsigned short length; unsigned char target_display_index; unsigned short target_max_PQ; unsigned short target_min_PQ; unsigned char target_primary_index; short target_primary_red_x; short target_primary_red_y; short target_primary_green_x; short target_primary_green_y; short target_primary_blue_x; short target_primary_blue_y; short target_primary_white_x; short target_primary_white_y; } L10[4]; int mr_YCCtoRGB_coef[9]; unsigned int mr_YCCtoRGB_offset[3]; int mr_RGBtoLMS_coef[9]; unsigned int mr_source_min_PQ; unsigned int mr_source_max_PQ; unsigned int mr_num_ext_blocks; unsigned int mr_num_blocks_l2; unsigned int mr_num_blocks_l8; struct { unsigned short valid; unsigned short min_PQ; unsigned short max_PQ; unsigned short avg_PQ; } mr_L1; struct { unsigned short valid; unsigned short target_max_PQ; unsigned short trim_slope; unsigned short trim_offset; unsigned short trim_power; unsigned short trim_chroma_weight; unsigned short trim_saturation_gain; short ms_weight; } mr_L2[8]; struct { unsigned short valid; unsigned short min_PQ_offset; unsigned short max_PQ_offset; unsigned short avg_PQ_offset; } mr_L3; struct { unsigned short valid; unsigned short length; unsigned char target_display_index; unsigned short trim_slope; unsigned short trim_offset; unsigned short trim_power; unsigned short trim_chroma_weight; unsigned short trim_saturation_gain; unsigned short ms_weight; unsigned short target_mid_contrast; unsigned short clip_trim; unsigned char saturation_vector_field[6]; unsigned char hue_vector_field[6]; } mr_L8[5]; struct { unsigned short valid; unsigned short length; unsigned char target_display_index; unsigned short target_max_PQ; unsigned short target_min_PQ; unsigned char target_primary_index; short target_primary_red_x; short target_primary_red_y; short target_primary_green_x; short target_primary_green_y; short target_primary_blue_x; short target_primary_blue_y; short target_primary_white_x; short target_primary_white_y; } mr_L10[4]; float targetMaxNits; float targetMinNits; float baseMax; float baseMin; int videoFullRangeFlag; int colourPrimaries; int matrixCoeffs; BOOL valid; } mrCache;
}

- (id)init;
- (void)dealloc;
- (int)metadataReconstruction:(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 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 maxDisplayBrightnessNits:(double)a2 targetMaxNits:(double)a3 targetMinNits:(double)a4 displayPrimaries:(double *)a5 baseMax:(double)a6 baseMin:(double)a7 videoFullRangeFlag:(int)a8 colourPrimaries:(int)a9 matrixCoeffs:(int)a10 numFrames:(unsigned int)a11;

@end