Mempal New Frame
unknown
c_cpp
3 years ago
21 kB
6
Indexable
void Application::RenderNewFrame(void){ //GenerateColorLUT(void); //ColorizeFrame(t_pix* src, t_pix* dst, uint32_t num_pixels); uint32_t prevWarpCnt = m_warpCnt; if(m_parameters[kFreezeMode]->get()==0&&m_parameters[kFrozen]->get()^m_parameters[kFreeze]->get()){ m_warpCnt = m_warpCnt; } else { m_warpCnt = (m_warpCnt+1)%LONG_NUM_FRAMES; } switch(m_parameters[kAuxMode]->get()){ case 0: // Opacity //Aux to Alpha m_hardware.alphaDecoder.WriteReg(0x52, 0x0); //B to U m_hardware.alphaDecoder.WriteReg(0x53, 0x0);//B to U m_hardware.alphaDecoder.WriteReg(0x58, 0xAA); //B to V m_hardware.alphaDecoder.WriteReg(0x59, 0x1A);//B to V //Alpha to Alpha m_hardware.alphaDecoder.WriteReg(0x54, 0x0); //R to U m_hardware.alphaDecoder.WriteReg(0x55, 0x0); //R to U m_hardware.alphaDecoder.WriteReg(0x5A, 0xAA); //R to V m_hardware.alphaDecoder.WriteReg(0x5B, 0x1A); //R to V m_parameters[kMaskModeX]->set(0); m_parameters[kMaskModeY]->set(0); break; case 1: // Mesh //Aux to Aux m_hardware.alphaDecoder.WriteReg(0x52, 0xAA); //B to U m_hardware.alphaDecoder.WriteReg(0x53, 0x1A); //B to U m_hardware.alphaDecoder.WriteReg(0x58, 0x0); //B to V m_hardware.alphaDecoder.WriteReg(0x59, 0x0); //B to V //Alpha to Alpha m_hardware.alphaDecoder.WriteReg(0x54, 0x0); //R to U m_hardware.alphaDecoder.WriteReg(0x55, 0x0); //R to U m_hardware.alphaDecoder.WriteReg(0x5A, 0xAA); //R to V m_hardware.alphaDecoder.WriteReg(0x5B, 0x1A); //R to V m_parameters[kMaskModeX]->set(0); m_parameters[kMaskModeY]->set(0); break; case 2: // Mask //Aux to Aux m_hardware.alphaDecoder.WriteReg(0x52, 0xAA); //B to U m_hardware.alphaDecoder.WriteReg(0x53, 0x1A); //B to U m_hardware.alphaDecoder.WriteReg(0x58, 0x0); //B to V m_hardware.alphaDecoder.WriteReg(0x59, 0x0); //B to V //Alpha to Alpha m_hardware.alphaDecoder.WriteReg(0x54, 0x0); //R to U m_hardware.alphaDecoder.WriteReg(0x55, 0x0); //R to U m_hardware.alphaDecoder.WriteReg(0x5A, 0xAA); //R to V m_hardware.alphaDecoder.WriteReg(0x5B, 0x1A); //R to V m_parameters[kMaskModeX]->set(ParamScale(m_parameters[kAux]->get(),m_parameters[kAux]->getMin(),m_parameters[kAux]->getMax(),0,15)); m_parameters[kMaskModeY]->set(ParamScale(m_parameters[kAux]->get(),m_parameters[kAux]->getMin(),m_parameters[kAux]->getMax(),0,15)); break; } m_dmaWrAnalogDecoderBase = 0; m_dmaWrKeyerBase = SHORT_NUM_FRAMES; m_mediaLoaderBase = SHORT_NUM_FRAMES*2; m_warpBase = (SHORT_NUM_FRAMES*2)+MAX_MEDIA_LOADER_FRAMES; m_warpBase++; // Reserve a frame for blanking m_dmaWrAlphaAuxBase = 4; uint32_t KeyerAddr = (uint32_t)m_framebuffers[m_dmaWrKeyerBase+m_dmaWrKeyerLastBuffer]; uint32_t KeyerPaintAddr = (uint32_t)m_framebuffers[m_dmaWrKeyerBase+(m_dmaWrKeyerLastBuffer+1)%SHORT_NUM_FRAMES]; uint32_t CaptureAddr = (uint32_t)m_framebuffers[m_dmaWrAnalogDecoderBase+m_dmaWrAnalogDecoder.GetLastBuffer()]; uint32_t MediaAddr = (uint32_t)m_framebuffers[m_mediaLoaderBase+m_parameters[kStillImage]->get()]; uint32_t WarpAddr = (uint32_t)m_framebuffers[m_warpCnt+m_warpBase]; uint32_t PrevWarpAddr = (uint32_t)m_framebuffers[prevWarpCnt+m_warpBase]; uint32_t KeyerDelayAddr = (uint32_t)m_solitaryframe; uint32_t WarpDelayOffset = ((m_parameters[kDelay]->get()*LONG_NUM_FRAMES)/(kParameterConfigs[kDelay].max+1)); uint32_t MediaDelayOffset = ((m_parameters[kDelay]->get()*m_curMediaLoaderNumFrames)/(kParameterConfigs[kDelay].max+1)); uint32_t WarpDelayAddr; uint32_t MediaDelayAddr; switch(m_parameters[kPatch]->get()){ case 0: // PATCH: WARP m_parameters[kDelayMode]->set(0); m_parameters[kFreezeMode]->set(0); m_parameters[kRecursionMode]->set(0); //1); m_parameters[kScanMode]->set(0); m_parameters[kMirrorModeX]->set(0); m_parameters[kMirrorModeY]->set(0); m_parameters[kColorMode]->set(0); m_parameters[kScaleMode]->set(0); m_parameters[kThresholdMode]->set(0); m_parameters[kPositionMode]->set(0); switch(m_parameters[kAB]->get()){ case 0: // AB: A m_parameters[kDelayMotionEnable]->set(0); break; case 1: // AB: B m_parameters[kDelayMotionEnable]->set(1); break; } switch(m_parameters[kRoute]->get()){ case 0: // ROUTE: ARGB ONLY m_parameters[kForegroundSourceMode]->set(0); // ARGB Capture m_parameters[kKeySourceMode]->set(0); // ARGB Capture break; case 1: // ROUTE: MEDIA ONLY m_parameters[kForegroundSourceMode]->set(1); // Media Base Frame m_parameters[kKeySourceMode]->set(1); // Media Base Frame break; case 2: // ROUTE: ARGB TEXTURE + MEDIA KEY m_parameters[kForegroundSourceMode]->set(0); // ARGB Capture m_parameters[kKeySourceMode]->set(1); // Media Base Frame break; case 3: // ROUTE: MEDIA KEY + ARGB TEXTURE m_parameters[kForegroundSourceMode]->set(1); // Media Base Frame m_parameters[kKeySourceMode]->set(0); // ARGB Capture break; } m_parameters[kBackgroundSourceMode]->set(4); // Warp Delayed Frame if(m_parameters[kFrozen]->get()^m_parameters[kFreeze]->get()){ m_parameters[kEncoderOutMode]->set(4); // Warp Delay Out m_parameters[kDviOutMode]->set(4); // Warp Delay Out } else { m_parameters[kEncoderOutMode]->set(3); // Warp Out m_parameters[kDviOutMode]->set(3); // Warp Out } m_parameters[kWarpSourceMode]->set(5); // Keyer Out break; case 1: // PATCH: PAINT if(m_parameters[kFreeze]->get()){ memcpy((void*)KeyerDelayAddr,(void*)KeyerAddr,MAX_FRAME_SIZE*sizeof(t_pix)); Xil_DCacheFlushRange(KeyerDelayAddr, MAX_FRAME_SIZE*sizeof(t_pix)); } if (m_clearScreen) { memset((void*)KeyerDelayAddr,0,MAX_FRAME_SIZE*sizeof(t_pix)); Xil_DCacheFlushRange(KeyerDelayAddr, MAX_FRAME_SIZE*sizeof(t_pix)); } if((m_parameters[kFrozen]->get())||(m_clearScreen)){ m_parameters[kBackgroundSourceMode]->set(6); // Keyer Delay } else { m_parameters[kBackgroundSourceMode]->set(5); // Keyer Delay } m_parameters[kFreezeMode]->set(1); m_parameters[kRecursionMode]->set(0); m_parameters[kScanMode]->set(0); m_parameters[kMirrorModeX]->set(0); m_parameters[kMirrorModeY]->set(0); m_parameters[kColorMode]->set(0); m_parameters[kScaleMode]->set(0); m_parameters[kThresholdMode]->set(0); m_parameters[kPositionMode]->set(1); //Graphics switch(m_parameters[kAB]->get()){ case 0: // AB: A m_parameters[kDelayMotionEnable]->set(0); break; case 1: // AB: B m_parameters[kDelayMotionEnable]->set(1); break; } switch(m_parameters[kRoute]->get()){ case 0: // ROUTE: ARGB ONLY m_parameters[kWarpSourceMode]->set(0); // ARGB Capture m_parameters[kKeySourceMode]->set(4); // Warp m_parameters[kDelayMode]->set(0); //Media Select break; case 1: // ROUTE: MEDIA ONLY m_parameters[kWarpSourceMode]->set(2); // Media Select m_parameters[kKeySourceMode]->set(4); // Warp m_parameters[kDelayMode]->set(1); //Media Select break; case 2: // ROUTE: ARGB TEXTURE + MEDIA KEY m_parameters[kWarpSourceMode]->set(0); // ARGB Capture m_parameters[kKeySourceMode]->set(1); // Media m_parameters[kDelayMode]->set(0); //Media Select break; case 3: // ROUTE: ARGB KEY + MEDIA TEXTURE m_parameters[kWarpSourceMode]->set(2); // Media Select m_parameters[kKeySourceMode]->set(0); // Warp m_parameters[kDelayMode]->set(1); //Media Select break; } m_parameters[kForegroundSourceMode]->set(4); // Warp Out m_parameters[kEncoderOutMode]->set(5); // Keyer m_parameters[kDviOutMode]->set(5); // Keyer Delay break; case 2: // PATCH: SCENE if(m_parameters[kFrozen]->get()^m_parameters[kFreeze]->get()){ m_parameters[kDelayMode]->set(0); //Delay Select } else { m_parameters[kDelayMode]->set(1); //Media Select } m_parameters[kFreezeMode]->set(0); m_parameters[kRecursionMode]->set(0); m_parameters[kScanMode]->set(0); m_parameters[kMirrorModeX]->set(0); m_parameters[kMirrorModeY]->set(0); m_parameters[kColorMode]->set(0); m_parameters[kScaleMode]->set(0); m_parameters[kThresholdMode]->set(0); m_parameters[kPositionMode]->set(0); //Graphics switch(m_parameters[kAB]->get()){ case 0: // AB: A m_parameters[kDelayMotionEnable]->set(0); break; case 1: // AB: B m_parameters[kDelayMotionEnable]->set(1); break; } switch(m_parameters[kRoute]->get()){ case 0: // ROUTE: ARGB ONLY m_parameters[kWarpSourceMode]->set(0); // ARGB Capture m_parameters[kBackgroundSourceMode]->set(0); // ARGB Capture break; case 1: // ROUTE: MEDIA ONLY m_parameters[kWarpSourceMode]->set(2); // Media Select m_parameters[kBackgroundSourceMode]->set(2); // Media Select break; case 2: // ROUTE: ARGB TEXTURE + MEDIA KEY m_parameters[kWarpSourceMode]->set(0); // ARGB Capture m_parameters[kBackgroundSourceMode]->set(2); // Media Select break; case 3: // ROUTE: ARGB KEY + MEDIA TEXTURE m_parameters[kWarpSourceMode]->set(2); // Media Select m_parameters[kBackgroundSourceMode]->set(0); // ARGB Capture break; } m_parameters[kKeySourceMode]->set(4); // Warp m_parameters[kForegroundSourceMode]->set(4); // Warp Out m_parameters[kEncoderOutMode]->set(5); // Keyer m_parameters[kDviOutMode]->set(5); // Keyer break; case 3: // PATCH: GHOST // if(m_parameters[kFrozen]->get()^m_parameters[kFreeze]->get()){ m_parameters[kDelayMode]->set(0); //Delay Select // } else { // m_parameters[kDelayMode]->set(1); //Media Select // } m_parameters[kFreezeMode]->set(0); m_parameters[kRecursionMode]->set(0); m_parameters[kScanMode]->set(0); m_parameters[kMirrorModeX]->set(0); m_parameters[kMirrorModeY]->set(0); m_parameters[kColorMode]->set(0); m_parameters[kScaleMode]->set(0); m_parameters[kThresholdMode]->set(0); m_parameters[kPositionMode]->set(0); //Graphics switch(m_parameters[kAB]->get()){ case 0: // AB: A m_parameters[kDelayMotionEnable]->set(0); break; case 1: // AB: B m_parameters[kDelayMotionEnable]->set(1); break; } switch(m_parameters[kRoute]->get()){ case 0: // ROUTE: ARGB ONLY m_parameters[kWarpSourceMode]->set(0); // ARGB Capture m_parameters[kKeySourceMode]->set(3); // Warp Out break; case 1: // ROUTE: MEDIA ONLY m_parameters[kWarpSourceMode]->set(2); // Media Select m_parameters[kKeySourceMode]->set(3); // Warp Out break; case 2: // ROUTE: ARGB TEXTURE + MEDIA KEY m_parameters[kWarpSourceMode]->set(0); // ARGB Capture m_parameters[kKeySourceMode]->set(2); // Media Select break; case 3: // ROUTE: ARGB KEY + MEDIA TEXTURE m_parameters[kWarpSourceMode]->set(2); // Media Select m_parameters[kKeySourceMode]->set(0); // ARGB Capture break; } m_parameters[kForegroundSourceMode]->set(3); // Warp Out m_parameters[kBackgroundSourceMode]->set(4); // Warp Out Delay m_parameters[kEncoderOutMode]->set(5); // Keyer m_parameters[kDviOutMode]->set(5); // Keyer break; } //m_parameters[kDiagT2]->set(COMM_T0); //m_parameters[kDiagT3]->set(COMM_T1); if(m_parameters[kDelayMode]->get()==0){ if(m_parameters[kMIDIFrameSequenceEnable]->get()==0){ WarpDelayAddr = (uint32_t)m_framebuffers[m_warpBase+((LONG_NUM_FRAMES+m_warpCnt-WarpDelayOffset)%LONG_NUM_FRAMES)]; } else { WarpDelayAddr = (uint32_t)m_framebuffers[m_warpBase+((LONG_NUM_FRAMES+m_warpCnt-WarpDelayOffset+m_parameters[kLastMIDINoteOn]->get())%LONG_NUM_FRAMES)]; } MediaDelayAddr = MediaAddr; } else { if (m_curMediaLoaderNumFrames > 0) { if(m_parameters[kMIDIFrameSequenceEnable]->get()==0){ MediaDelayAddr = (uint32_t)m_framebuffers[m_mediaLoaderBase+((m_parameters[kStillImage]->get()+MediaDelayOffset)%m_curMediaLoaderNumFrames)]; } else { MediaDelayAddr = (uint32_t)m_framebuffers[m_mediaLoaderBase+((m_parameters[kStillImage]->get()+MediaDelayOffset+m_parameters[kLastMIDINoteOn]->get())%m_curMediaLoaderNumFrames)]; } } else { //No Stills - Should display black frame MediaDelayAddr = (uint32_t)m_framebuffers[m_mediaLoaderBase]; } WarpDelayAddr = WarpAddr; } //DMA Path Assignment //uint32_t DispAddr; uint32_t WarpSrcAddr; //Analog encoder uint32_t fieldOffset; fieldOffset = (kVideoFormats[m_curAnalogFormat].field_order == kBottomFieldFirst) ? MAX_FRAME_STRIDE : 0; switch(m_parameters[kEncoderOutMode]->get()){ case 0: //Capture m_dmaRdAnalogEncoder.SetAddress(CaptureAddr+fieldOffset); break; case 1: //Media m_dmaRdAnalogEncoder.SetAddress(MediaAddr+fieldOffset); break; case 2: //MediaDelay m_dmaRdAnalogEncoder.SetAddress(MediaDelayAddr+fieldOffset); break; case 3: //Warp m_dmaRdAnalogEncoder.SetAddress(WarpAddr+fieldOffset); break; case 4: //Warp Delay m_dmaRdAnalogEncoder.SetAddress(WarpDelayAddr+fieldOffset); break; case 5: //Keyer m_dmaRdAnalogEncoder.SetAddress(KeyerAddr+fieldOffset); break; case 6: //Keyer Delay m_dmaRdAnalogEncoder.SetAddress(KeyerDelayAddr+fieldOffset); break; } //DviTx switch(m_parameters[kDviOutMode]->get()){ case 0: //Capture m_dmaRdDviTx.SetAddress(CaptureAddr); break; case 1: //Media m_dmaRdDviTx.SetAddress(MediaAddr); break; case 2: //MediaDelay m_dmaRdDviTx.SetAddress(MediaDelayAddr); break; case 3: //Warp m_dmaRdDviTx.SetAddress(PrevWarpAddr); break; case 4: //Warp Delay m_dmaRdDviTx.SetAddress(WarpDelayAddr); break; case 5: //Keyer m_dmaRdDviTx.SetAddress(KeyerAddr); break; case 6: //Keyer Delay m_dmaRdDviTx.SetAddress(KeyerDelayAddr); break; } //KeyerFg switch(m_parameters[kForegroundSourceMode]->get()){ case 0: //Capture m_dmaRdKeyerFg.SetAddress(CaptureAddr); break; case 1: //Media m_dmaRdKeyerFg.SetAddress(MediaAddr); break; case 2: //MediaDelay m_dmaRdKeyerFg.SetAddress(MediaDelayAddr); break; case 3: //Warp m_dmaRdKeyerFg.SetAddress(WarpAddr); break; case 4: //Warp Delay m_dmaRdKeyerFg.SetAddress(WarpDelayAddr); break; case 5: //Keyer m_dmaRdKeyerFg.SetAddress(KeyerAddr); break; case 6: //Keyer Delay m_dmaRdKeyerFg.SetAddress(KeyerDelayAddr); break; } //KeyerBg switch(m_parameters[kBackgroundSourceMode]->get()){ case 0: //Capture m_dmaRdKeyerBg.SetAddress(CaptureAddr); break; case 1: //Media m_dmaRdKeyerBg.SetAddress(MediaAddr); break; case 2: //MediaDelay m_dmaRdKeyerBg.SetAddress(MediaDelayAddr); break; case 3: //Warp m_dmaRdKeyerBg.SetAddress(WarpAddr); break; case 4: //Warp Delay m_dmaRdKeyerBg.SetAddress(WarpDelayAddr); break; case 5: //Keyer m_dmaRdKeyerBg.SetAddress(KeyerPaintAddr); break; case 6: //Keyer Delay m_dmaRdKeyerBg.SetAddress(KeyerDelayAddr); break; } //KeyerKey switch(m_parameters[kKeySourceMode]->get()){ case 0: //Capture m_dmaRdKeyerKey.SetAddress(CaptureAddr); break; case 1: //Media m_dmaRdKeyerKey.SetAddress(MediaAddr); break; case 2: //MediaDelay m_dmaRdKeyerKey.SetAddress(MediaDelayAddr); break; case 3: //Warp m_dmaRdKeyerKey.SetAddress(WarpAddr); break; case 4: //Warp Delay m_dmaRdKeyerKey.SetAddress(WarpDelayAddr); break; case 5: //Keyer m_dmaRdKeyerKey.SetAddress(KeyerAddr); break; case 6: //Keyer Delay m_dmaRdKeyerKey.SetAddress(KeyerDelayAddr); break; } //WarpSrc COMM_TEX_WIDTH = kVideoFormats[m_curAnalogFormat].width; if (m_parameters[kProgressive]->get() == 0) { COMM_TEX_HEIGHT = kVideoFormats[m_curAnalogFormat].height; } else { COMM_TEX_HEIGHT = kVideoFormats[m_curAnalogFormat].height << 1; } switch(m_parameters[kWarpSourceMode]->get()){ case 0: //Capture WarpSrcAddr = CaptureAddr; break; case 1: //Media WarpSrcAddr = MediaAddr; break; case 2: //MediaDelay WarpSrcAddr = MediaDelayAddr; break; case 3: //Warp WarpSrcAddr = WarpAddr; break; case 4: //Warp Delay WarpSrcAddr = WarpDelayAddr; break; case 5: //Keyer WarpSrcAddr = KeyerAddr; break; case 6: //Keyer Delay default: WarpSrcAddr = KeyerDelayAddr; break; } COMM_WARP_F1_TEXTURE_ADDR = WarpSrcAddr; if (m_parameters[kFreezeMode]->get()==0&&m_parameters[kFrozen]->get()^m_parameters[kFreeze]->get()) { COMM_WARP_F1_DST_ADDR = (uint32_t)m_framebuffers[m_warpBase-1]; //Blanking frame } else { COMM_WARP_F1_DST_ADDR = WarpAddr; } m_dmaWrKeyer.Configure(MAX_FIELD_STRIDE, MAX_FRAME_SIZE * sizeof(t_pix), MAX_FRAME_STRIDE, kVideoFormats[m_curAnalogFormat].interlaced, SHORT_NUM_FRAMES); m_dmaWrKeyer.SetAddress( (uint32_t)m_framebuffers[m_dmaWrKeyerBase] ); m_dmaWrKeyer.Start(); // if (m_parameters[kFrozen]->get()) { // m_dmaWrAnalogDecoder.m_driver.WriteReg(kAxiDMAWrInterlacedAddr, 0x00030000 | (SHORT_NUM_FRAMES - 1)); // if (m_parameters[kFreeze]->get()) { // m_dmaWrAnalogDecoder.m_driver.WriteReg(kAxiDMAWrStartAddr, 0x1); // } // } else { // m_dmaWrAnalogDecoder.m_driver.WriteReg(kAxiDMAWrInterlacedAddr, 0x00010000 | (SHORT_NUM_FRAMES - 1)); // m_dmaWrAnalogDecoder.m_driver.WriteReg(kAxiDMAWrStartAddr, 0x1); // } COMM_ALPHAAUX_LAST_BUFFER = (uint32_t)m_dmaWrAlphaAux.GetLastBuffer(); if(m_parameters[kAuxMode]->get()==1){ COMM_MESH_MODE = 1; } else { COMM_MESH_MODE = 0; } COMM_X_POSITION = ParamScale(m_parameters[kXPosition]->get(),kParameterConfigs[kXPosition].min,kParameterConfigs[kXPosition].max,0,4095); COMM_Y_POSITION = ParamScale(m_parameters[kYPosition]->get(),kParameterConfigs[kYPosition].min,kParameterConfigs[kYPosition].max,0,4095); COMM_ZOOM = ParamScale(m_parameters[kZoom]->get(),kParameterConfigs[kZoom].min,kParameterConfigs[kZoom].max,4095,0); COMM_ASPECT = ParamScale(m_parameters[kAspect]->get(),kParameterConfigs[kAspect].min,kParameterConfigs[kAspect].max,0,4095); COMM_ROTATION = ParamScale(m_parameters[kRotation]->get(),kParameterConfigs[kRotation].min,kParameterConfigs[kRotation].max,0,4095); switch(m_parameters[kMirrorModeX]->get()){ case 0: if(m_parameters[kMirrorX]->get()==true){ COMM_MIRROR_X = 1; COMM_FLIP_X = 0; } else { COMM_MIRROR_X = 0; COMM_FLIP_X = 0; } break; case 1: if(m_parameters[kMirrorX]->get()==true){ COMM_MIRROR_X = 0; COMM_FLIP_X = 1; } else { COMM_MIRROR_X = 0; COMM_FLIP_X = 0; } break; case 2: if(m_parameters[kMirrorX]->get()==true){ COMM_MIRROR_X = 1; COMM_FLIP_X = 1; } else { COMM_MIRROR_X = 0; COMM_FLIP_X = 0; } break; } switch(m_parameters[kMirrorModeY]->get()){ case 0: if(m_parameters[kMirrorY]->get()==true){ COMM_MIRROR_Y = 1; COMM_FLIP_Y = 0; } else { COMM_MIRROR_Y = 0; COMM_FLIP_Y = 0; } break; case 1: if(m_parameters[kMirrorY]->get()==true){ COMM_MIRROR_Y = 0; COMM_FLIP_Y = 1; } else { COMM_MIRROR_Y = 0; COMM_FLIP_Y = 0; } break; case 2: if(m_parameters[kMirrorY]->get()==true){ COMM_MIRROR_Y = 1; COMM_FLIP_Y = 1; } else { COMM_MIRROR_Y = 0; COMM_FLIP_Y = 0; } break; } COMM_KEY_INVERT = m_parameters[kInvert]->get(); COMM_KEY_MODE = m_parameters[kKeyMode]->get(); COMM_UPPER_THRESHOLD = m_parameters[kUpperThreshold]->get(); COMM_LOWER_THRESHOLD = m_parameters[kLowerThreshold]->get(); COMM_UPPER_CR_THRESHOLD = m_parameters[kUpperCrThreshold]->get(); COMM_LOWER_CR_THRESHOLD = m_parameters[kLowerCrThreshold]->get(); COMM_SOFTNESS = ParamScale(m_parameters[kSoftness]->get(),kParameterConfigs[kSoftness].min,kParameterConfigs[kSoftness].max,0,255); COMM_CSC_COLORSPACE = m_parameters[kColorMode]->get(); COMM_HUE = ParamScale(m_parameters[kHue]->get(),kParameterConfigs[kHue].min,kParameterConfigs[kHue].max,0,4095); COMM_SATURATION = ParamScale(m_parameters[kSaturation]->get(),kParameterConfigs[kSaturation].min,kParameterConfigs[kSaturation].max,0,4095); COMM_CONTRAST = ParamScale(m_parameters[kContrast]->get(),kParameterConfigs[kContrast].min,kParameterConfigs[kContrast].max,0,4095); COMM_MASK_X = m_parameters[kMaskModeX]->get(); COMM_MASK_Y = m_parameters[kMaskModeY]->get(); COMM_TILE = m_parameters[kTile]->get(); COMM_REFLECT = m_parameters[kReflect]->get(); COMM_SCALE_MODE = m_parameters[kScaleMode]->get(); COMM_POSITION_MODE = m_parameters[kPositionMode]->get(); COMM_ASPECT_RATIO = m_parameters[kAspectMode]->get(); COMM_PROGRESSIVE = m_parameters[kProgressive]->get(); COMM_MESH_RENDER_STATE = 0; COMM_ALPHAAUX_START = 1; }
Editor is loading...