luxlabs header browser preview


@class BackwardDmShader, NSMutableData;
@protocol MTLSamplerState, MTLLibrary, MTLTexture, MTLBuffer, MTLDeviceSPI;

@interface HDRBackwardDisplayManagement : NSObject {
    unsigned long long _frameIndex;
    id<MTLDeviceSPI> _device;
    id<MTLLibrary> _defaultLibrary;
    BackwardDmShader *_BKDM_ARGB_Linear;
    BackwardDmShader *_BKDM_3Plane_2Pixel_PTV[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_PTV[12];
    BackwardDmShader *_BKDM_3Plane_2Pixel_UIBlending_PTV[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_UIBlending_PTV[12];
    BackwardDmShader *_BKDM_3Plane_2Pixel_Linear[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Linear[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Gamma[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Gamma_Scaled[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Gamma_Scaled_Inverse_HLGOOTF[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Gamma_Scaled_Inverse_YScale[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Video_Scaled[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Video_Scaled_Inverse_HLGOOTF[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Video_Scaled_Inverse_YScale[12];
    BackwardDmShader *_BKDM_3Plane_1Pixel_Video_HDR10;
    BackwardDmShader *_BKDM_3Plane_2Pixel_Video_HDR10;
    BackwardDmShader *_BKDM_3Plane_2Pixel_Gamma_Scaled[12];
    BackwardDmShader *_BKDM_3Plane_2Pixel_Video_Scaled[12];
    BackwardDmShader *_BKDM_SDRUIOnly_ShaderDegamma[12];
    BackwardDmShader *_BKDM_SDRUIOnly[12];
    BackwardDmShader *_BKDM_SDRVideoOnly[12];
    BackwardDmShader *_BKDM_SDRVideoUIBlending[12];
    BackwardDmShader *_BKDM_SDRUIBlending[12];
    BackwardDmShader *_colorfill1[12];
    BackwardDmShader *_colorfill2[12];
    BackwardDmShader *_fillUI1ForHDR[12];
    BackwardDmShader *_fillUI1SDR24[12];
    BackwardDmShader *_fillUI2ForHDR[12];
    BackwardDmShader *_metadataKernel;
    BackwardDmShader *_metadataKernel2Pixel;
    id<MTLSamplerState> _inputSampler;
    id<MTLTexture> _pq2LTable;
    id<MTLTexture> _l2PQTable;
    id<MTLTexture> _inverseScalingFactorTableTexture;
    id<MTLTexture> _inverseScalingFactorTableTextures[3];
    NSMutableData *_inverseScalingTable;
    id<MTLTexture> _sdrScalingFactorTableTexture;
    id<MTLTexture> _yuvScalingFactorTableTexture;
    id<MTLTexture> _yuvScalingFactorTableTextures[3];
    unsigned int _indexOfyuvScalingFactorTableTexture;
    NSMutableData *_sdrScalingTable;
    NSMutableData *_yuvScalingTable;
    float _cached_target_white;
    float _cached_target_black;
    float _cached_source_white;
    float _cached_source_black;
    BOOL _cached_scaling_factor;
    float _prev_SlopeScaled;
    float _prev_c1;
    float _prev_c2;
    float _prev_c3;
    id<MTLBuffer> _uniformBuffer;
    id<MTLBuffer> _uniformBuffers[3];
    id<MTLBuffer> _vertsBuffer;
    id<MTLBuffer> _vertsBuf;
    id<MTLBuffer> _vertsBufs[3];
    int _num_Blend_Rects[3];
    int _num_Video_Rects[3];
    int _num_UI_Rects[3];
    int _num_ColorFill_Rects[3];
    struct { struct { unsigned int x; unsigned int y; } origin; struct { unsigned int width; unsigned int height; } size; } _cachedFullRegion;
    struct { struct { unsigned int x; unsigned int y; } origin; struct { unsigned int width; unsigned int height; } size; } _cachedVideoDstRegion[3];
    struct { struct { unsigned int x; unsigned int y; } origin; struct { unsigned int width; unsigned int height; } size; } _cachedVideoSrcRegion[3];
    struct { struct { unsigned int x; unsigned int y; } origin; struct { unsigned int width; unsigned int height; } size; } _cachedUIDstRegion[3];
    struct { struct { unsigned int x; unsigned int y; } origin; struct { unsigned int width; unsigned int height; } size; } _cachedUISrcRegion[3];
    unsigned int _cached_videoInputFormat;
    unsigned int _cached_uiInputFormat;
    id<MTLBuffer> _metadataVertexBuffer;
    int _metadataSpanCount[5];
    int _width;
    int _height;
    int _targetWidth;
    int _targetHeight;
    id<MTLTexture> _metadataTexture[5];
    id<MTLTexture> _metadataTextures[3][5];
    id<MTLTexture> _inputTexture[3];
    id<MTLTexture> _outputTexture;
    id<MTLTexture> _outputTextureMetadata;
    id<MTLTexture> _intermediateTexture;
    id<MTLTexture> _uiTexture;
    long long _callerApiVersion;
    float _uiEDRFactor;
    float _inputScaleFactor;
    unsigned int _displayMaxBrightnessInNits;
    unsigned int _displayMaxBrightnessInNitsForSDR;
    float _displayMinBrightnessInNits;
    BOOL _hasDisplayBrightnessFromEDID;
    unsigned int _displayType;
    unsigned int _outputPackingColorFormat;
    unsigned int _inverseScalingTableIndex;
    BOOL _useAccessibilityMatrix;
    struct { float parameter[3][3]; } _cachedHDRMatrix;
    float _709toPanelPrimaryMatrix[9];
}

- (void)initWithDevice:(id)a0;
- (void).cxx_destruct;
- (void)createKernels;
- (long long)encodeToCommandBuffer:(id)a0 video:(struct __IOSurface { } *)a1 videoSrcRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a2 videoDstRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a3 ui:(struct __IOSurface { } *)a4 uiSrcRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a5 uiDstRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a6 backgroundColor:(struct { double x0; double x1; double x2; double x3; } *)a7 output:(struct __IOSurface { } *)a8 frameProperties:(id)a9;
- (id)initWithDevice:(id)a0 displayProperties:(id)a1;
- (long long)setAccessibilityMatrix:(struct { float x0[3][3]; } *)a0;
- (void)setupMetal;
- (long long)EncodeToCommandBuffer:(id)a0 inputSurface:(struct __IOSurface { } *)a1 uiSurface:(struct __IOSurface { } *)a2 outputSurface:(struct __IOSurface { } *)a3 frameProperties:(id)a4;
- (void)createInverseScalingFactorTable;
- (void)createPQ2LTable;
- (void)generateMetaAndConfig:(id)a0 inputSurface:(struct __IOSurface { } *)a1 outputSurface:(struct __IOSurface { } *)a2 payLoad:(struct **)a3 dmCfg:(struct **)a4;
- (void)createL2PQTable;
- (void)setupMetadataTextureWithOutput:(struct __IOSurface { } *)a0;
- (int)adjustMetaData:(struct { unsigned char x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; unsigned char x7; unsigned char x8; unsigned char x9; unsigned char x10; unsigned char x11; unsigned char x12; unsigned char x13; unsigned char x14; unsigned char x15; unsigned char x16; unsigned char x17; unsigned char x18; unsigned char x19; unsigned char x20; unsigned char x21; unsigned char x22; unsigned char x23; unsigned char x24; unsigned char x25; unsigned char x26; unsigned char x27; unsigned char x28; unsigned char x29; unsigned char x30; unsigned char x31; unsigned char x32; unsigned char x33; unsigned char x34; unsigned char x35; unsigned char x36; unsigned char x37; unsigned char x38; unsigned char x39; unsigned char x40; unsigned char x41; unsigned char x42; unsigned char x43; unsigned char x44; unsigned char x45; unsigned char x46; unsigned char x47; unsigned char x48; unsigned char x49; unsigned char x50; unsigned char x51; unsigned char x52; unsigned char x53; unsigned char x54; unsigned char x55; unsigned char x56; unsigned char x57; unsigned char x58; unsigned char x59; unsigned char x60; unsigned char x61; unsigned char x62; unsigned char x63; unsigned char x64; unsigned char x65; unsigned char x66; unsigned char x67; unsigned char x68; unsigned char x69; unsigned char x70; struct { unsigned char x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; unsigned char x7; unsigned char x8; unsigned char x9; unsigned char x10; } x71; unsigned char x72[525]; } *)a0 HDRUIBlending:(BOOL)a1 hasLetterbox:(BOOL)a2;
- (float)adjustUiScaleForDoViToHDR10Conversion:(float)a0;
- (void)attatchInfoFrame:(struct { float x0; float x1; float x2; float x3; float x4[9]; float x5[9]; float x6[9]; float x7[9]; float x8[9]; float x9[3]; float x10[3]; float x11; unsigned int x12; unsigned int x13; unsigned int x14; float x15; unsigned int x16; float x17; 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; } x18; struct { unsigned short x0; unsigned short x1; } x19; unsigned int x20; unsigned char x21 : 1; BOOL x22; int x23; } *)a0 toOutputSurface:(struct __IOSurface { } *)a1;
- (void)createBuffers;
- (void)createMetadataTexture;
- (void)createMetadataVertexBuffer;
- (id)createRenderCommandEncoderWithCommandBuffer:(id)a0 texture:(id)a1 widthScale:(unsigned int)a2 loadAction:(unsigned long long)a3;
- (void)createSDRScalingFactorTable;
- (void)createSamplers;
- (id)createShaderWithVertexName:(id)a0 fragmentName:(id)a1 colorFormat:(unsigned long long)a2 useCustomMatrix:(BOOL)a3 p3CSC:(BOOL)a4 applyYGamma:(BOOL)a5;
- (void)createYUVScalingFactorTable;
- (void)drawMetaWithEncoder:(id)a0 widthScale:(int)a1 dmPayLoadLength:(int)a2;
- (long long)encodeToCommandBuffer:(id)a0 inputSurface:(struct __IOSurface { } *)a1 outputSurface:(struct __IOSurface { } *)a2 frameProperties:(id)a3;
- (long long)encodeToCommandBuffer:(id)a0 video:(struct __IOSurface { } *)a1 ui:(struct __IOSurface { } *)a2 output:(struct __IOSurface { } *)a3 frameProperties:(id)a4;
- (long long)encodeToCommandBuffer:(id)a0 video:(struct __IOSurface { } *)a1 videoSrcRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a2 videoDstRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a3 ui:(struct __IOSurface { } *)a4 output:(struct __IOSurface { } *)a5 frameProperties:(id)a6;
- (void)fillInverseScalingFactorTableFromDMConfig:(struct { float x0; float x1; float x2; float x3; float x4[9]; float x5[9]; float x6[9]; float x7[9]; float x8[9]; float x9[3]; float x10[3]; float x11; unsigned int x12; unsigned int x13; unsigned int x14; float x15; unsigned int x16; float x17; 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; } x18; struct { unsigned short x0; unsigned short x1; } x19; unsigned int x20; unsigned char x21 : 1; BOOL x22; int x23; } *)a0;
- (void)fillScalingTable_SDR2HDR:(struct { float x0; float x1; float x2; float x3; float x4[9]; float x5[9]; float x6[9]; float x7[9]; float x8[9]; float x9[3]; float x10[3]; float x11; unsigned int x12; unsigned int x13; unsigned int x14; float x15; unsigned int x16; float x17; 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; } x18; struct { unsigned short x0; unsigned short x1; } x19; unsigned int x20; unsigned char x21 : 1; BOOL x22; int x23; } *)a0 target_White:(float)a1 target_Black:(float)a2;
- (void)fillScalingTable_YUVTM:(struct { float x0; float x1; float x2; float x3; float x4[9]; float x5[9]; float x6[9]; float x7[9]; float x8[9]; float x9[3]; float x10[3]; float x11; unsigned int x12; unsigned int x13; unsigned int x14; float x15; unsigned int x16; float x17; 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; } x18; struct { unsigned short x0; unsigned short x1; } x19; unsigned int x20; unsigned char x21 : 1; BOOL x22; int x23; } *)a0 targetwhite:(float)a1 targetblack:(float)a2 satBoost:(float)a3 scalingFactor:(BOOL)a4 sdrOnly:(BOOL)a5;
- (unsigned int)getPackagingColorFormatFromDictionary:(id)a0 withDefaultValue:(unsigned int)a1;
- (unsigned long long)getPixelFormatFromSurface:(struct __IOSurface { } *)a0 DeGamma:(BOOL)a1 forceUseOnePlane:(BOOL)a2 default:(unsigned long long)a3;
- (id)getRenderPipelineStateForShader:(id)a0;
- (int)getTVIndex:(BOOL)a0;
- (void)handleMetaInsertion:(BOOL)a0 encoder:(id)a1 widthScale:(int)a2 payloadLength:(unsigned int)a3;
- (void)initDisplayAttributes:(id)a0;
- (BOOL)inputIsSDRVideoFormat:(struct __IOSurface { } *)a0;
- (BOOL)inputIsVideoOnly:(struct __IOSurface { } *)a0 inputUI:(struct __IOSurface { } *)a1;
- (void)packetizeMetadata:(struct { unsigned char x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; unsigned char x7; unsigned char x8; unsigned char x9; unsigned char x10; unsigned char x11; unsigned char x12; unsigned char x13; unsigned char x14; unsigned char x15; unsigned char x16; unsigned char x17; unsigned char x18; unsigned char x19; unsigned char x20; unsigned char x21; unsigned char x22; unsigned char x23; unsigned char x24; unsigned char x25; unsigned char x26; unsigned char x27; unsigned char x28; unsigned char x29; unsigned char x30; unsigned char x31; unsigned char x32; unsigned char x33; unsigned char x34; unsigned char x35; unsigned char x36; unsigned char x37; unsigned char x38; unsigned char x39; unsigned char x40; unsigned char x41; unsigned char x42; unsigned char x43; unsigned char x44; unsigned char x45; unsigned char x46; unsigned char x47; unsigned char x48; unsigned char x49; unsigned char x50; unsigned char x51; unsigned char x52; unsigned char x53; unsigned char x54; unsigned char x55; unsigned char x56; unsigned char x57; unsigned char x58; unsigned char x59; unsigned char x60; unsigned char x61; unsigned char x62; unsigned char x63; unsigned char x64; unsigned char x65; unsigned char x66; unsigned char x67; unsigned char x68; unsigned char x69; unsigned char x70; struct { unsigned char x0; unsigned char x1; unsigned char x2; unsigned char x3; unsigned char x4; unsigned char x5; unsigned char x6; unsigned char x7; unsigned char x8; unsigned char x9; unsigned char x10; } x71; unsigned char x72[525]; } *)a0 length:(int)a1 into:(int)a2 onSurface:(struct __IOSurface { } *)a3;
- (int)pixelNumPerThreadFullScreen:(BOOL)a0 videoInput:(struct __IOSurface { } *)a1 UI:(struct __IOSurface { } *)a2 Output:(struct __IOSurface { } *)a3 widthScaling:(BOOL)a4;
- (void)setupTexturesWithInput:(struct __IOSurface { } *)a0 VideoSRGB:(BOOL)a1 UI:(struct __IOSurface { } *)a2 UISRGB:(BOOL)a3 Output:(struct __IOSurface { } *)a4 PixelPerThread:(int)a5 ptvMode:(BOOL)a6;
- (BOOL)updateConfigFromMetadata:(struct { float x0; float x1; float x2; float x3; float x4[9]; float x5[9]; float x6[9]; float x7[9]; float x8[9]; float x9[3]; float x10[3]; float x11; unsigned int x12; unsigned int x13; unsigned int x14; float x15; unsigned int x16; float x17; 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; } x18; struct { unsigned short x0; unsigned short x1; } x19; unsigned int x20; unsigned char x21 : 1; BOOL x22; int x23; } *)a0 uiScaleFactor:(float)a1 width:(int)a2 background:(struct { double x0; double x1; double x2; double x3; } *)a3 hdrVideoOnly:(BOOL)a4 hdr10TV:(BOOL)a5 sdrOnly:(BOOL)a6;
- (void)updateUniformUIScaleForVideo:(BOOL)a0 forTV:(BOOL)a1 videoPeakBrightnessInNits:(int)a2 uiHWDegamma:(BOOL)a3 dovi50toHDR10TVMode:(unsigned int)a4;
- (void)updateVertices:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a0 videoInput:(struct __IOSurface { } *)a1 videoDstRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a2 videoSrcRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a3 uiInput:(struct __IOSurface { } *)a4 uiDstRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a5 uiSrcRegion:(struct { struct { unsigned int x0; unsigned int x1; } x0; struct { unsigned int x0; unsigned int x1; } x1; })a6 dstWidth:(int)a7 dstHeight:(int)a8 videoSrcWidth:(int)a9 videoSrcHeight:(int)a10 index:(int)a11 scale:(int)a12;

@end