Пример #1
0
void VIS5MPColSupWBL::OnCancel()
{
	// TODO: Add your specialized code here and/or call the base class
	if (camNodeTree->isOKpProcAmp)
	{
		long SldPosRed = 0;
		long SldPos = 0;

		//check color suppression gain
		SldPos = (long)SendMessageA(c_sldColSupGain, TBM_GETPOS, TRUE, SldPos);
		if (SldPos != initCtrlSetting.colsupGain)
			setRegVal(REG_COLSUPGAIN, &initCtrlSetting.colsupGain);

		//check color supperession AGC start value
		SldPos = (long)SendMessageA(c_sldColSupAGCStart, TBM_GETPOS, TRUE, SldPos);
		if (SldPos != initCtrlSetting.colsupAGCStart)
			setRegVal(REG_COLSUPAGCSTART, &initCtrlSetting.colsupAGCStart);

		//check color supperession AGC end value
		SldPos = (long)SendMessageA(c_sldColSupAGCEnd, TBM_GETPOS, TRUE, SldPos);
		if (SldPos != initCtrlSetting.colsupAGCEnd)
			setRegVal(REG_COLSUPAGCEND, &initCtrlSetting.colsupAGCEnd);

		//check high/low light color supperession gain
		SldPos = (long)SendMessageA(c_sldHighLowLightGain, TBM_GETPOS, TRUE, SldPos);
		if (SldPos != initCtrlSetting.collightGain)
			setRegVal(REG_COLLIGHTGAIN, &initCtrlSetting.collightGain);

		//check edge color supperession gain
		SldPos = (long)SendMessageA(c_sldColSupEdgeGain, TBM_GETPOS, TRUE, SldPos);
		if (SldPos != initCtrlSetting.coledgSupp)
			setRegVal(REG_COLEDGESUP, &initCtrlSetting.coledgSupp);

#if 0
		HWND hListSldSaturation = GetDlgItem(hwnd, IDC_SLD_SATURATION);
		SldPos = (long)SendMessageA(hListSldSaturation, TBM_GETPOS, TRUE, SldPos);
		if (SldPos != initCtrlSetting.Saturation)
			ksNodeTree.pProcAmp->Set(KSPROPERTY_VIDEOPROCAMP_SATURATION, (long)initCtrlSetting.Saturation, VideoProcAmp_Flags_Manual);

		HWND hListSldHue = GetDlgItem(hwnd, IDC_SLD_HUE);
		SldPos = (long)SendMessageA(hListSldHue, TBM_GETPOS, TRUE, SldPos);
		if (SldPos != initCtrlSetting.Hue)
			ksNodeTree.pProcAmp->Set(KSPROPERTY_VIDEOPROCAMP_HUE, (long)initCtrlSetting.Hue, VideoProcAmp_Flags_Manual);
#endif
		//HWND hListBackLight = GetDlgItem(hwnd, IDC_COMBO_WHTBLCMODE);
		int sel = cb_WBLMode.GetCurSel();
		if (sel != initCtrlSetting.WhiteBalance)
			camNodeTree->pProcAmp->Set(KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE, (long)initCtrlSetting.WhiteBalance, VideoProcAmp_Flags_Manual);
		//ksNodeTree.pProcAmp->Set(KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE_COMPONENT, (long)initCtrlSetting.WhiteBalanceComponentControl, VideoProcAmp_Flags_Manual);

		//HWND hListSldWhiteBalanceComp = GetDlgItem(hwnd, IDC_SLD_WHTCOM);
		SldPos = (long)SendMessageA(c_sldWBLComBlue, TBM_GETPOS, TRUE, SldPos);
		//HWND hListSldWhiteBalanceCompRed = GetDlgItem(hwnd, IDC_SLD_WHTCOM_RED);
		SldPosRed = (long)SendMessageA(c_sldWBLComRed, TBM_GETPOS, TRUE, SldPosRed);
		if (SldPosRed != initCtrlSetting.WhiteBalanceComponentRed || SldPos != initCtrlSetting.WhiteBalanceComponentBlue)
			setWhiteBalanceComponent(initCtrlSetting.WhiteBalanceComponentRed, initCtrlSetting.WhiteBalanceComponentBlue);
	}
	CDialog::OnCancel();
}
Пример #2
0
void VIS5MPColSupWBL::OnNMReleasedcaptureSldHightlowColsupGain(NMHDR *pNMHDR, LRESULT *pResult)
{
	// TODO: Add your control notification handler code here
	HRESULT hr = S_OK;
	long SldPos = 0;
	int value;
	CString strPos;
	//HWND hListSldBrightness = GetDlgItem(hwnd, IDC_SLD_BRIGHTNESS);
	SldPos = (long)SendMessageA(c_sldHighLowLightGain, TBM_GETPOS, TRUE, SldPos);

	//HWND hListBrightness = GetDlgItem(hwnd, IDC_EDIT_BRIGHTNESS);
	strPos.Format(L"%ld", SldPos);
	c_edtHighLowLightGain.SetSel(0, -1);
	c_edtHighLowLightGain.Clear();
	c_edtHighLowLightGain.ReplaceSel(strPos, TRUE);
	value = SldPos;
	setRegVal(REG_COLLIGHTGAIN, &value);
	*pResult = 0;
}
/**
   Play a local tone on one or both tone generators.
\param
   pCh   - handle to a VINETIC channel structure
\param
   vers - chip revision
\param
   freqA - frequency A in mHz
\param
   freqB - frequency B in mHz, or zero if not applicable
\return
   IFX_SUCCESS or IFX_ERROR
*/
IFX_int32_t Tone_TG_SetCoeff (VINETIC_CHANNEL* pCh, IFX_uint8_t vers,
                         IFX_int32_t freqA, IFX_int32_t freqB)
{
   IFX_int32_t ret;
#ifdef VIN_V14_SUPPORT
   COEFF_TAB_ENTRY  tab_entry;
   IFX_uint16_t     pData [4] = {0};
#endif /* VIN_V14_SUPPORT */

   switch (vers)
   {
#ifdef VIN_V14_SUPPORT
      case VINETIC_V1x:
         tab_entry.quantVal = freqA;
         /* now get the coefficient from global frequency / coefficient table.
            result is returned in pEntry */
         ret = Cram_getUnitCoef (IOSET, &tab_entry, (COEFF_TAB_ENTRY *)
                                 VINETIC_CRAM_TGFreqQuantVal_Table);
         if (ret != IFX_SUCCESS)
            return IFX_ERROR;
         pData[0] = LOWWORD ((IFX_uint32_t)tab_entry.CRAMcoeff);
         pData[1] = HIGHWORD ((IFX_uint32_t)tab_entry.CRAMcoeff);
         /* c1 = tab_entry.CRAMcoeff; */
         if (freqB)
         {
            tab_entry.quantVal = (IFX_int32_t)freqB;
            ret = Cram_getUnitCoef (IOSET, &tab_entry,
                     (COEFF_TAB_ENTRY *) VINETIC_CRAM_TGFreqQuantVal_Table);
            if (ret != IFX_SUCCESS)
               return IFX_ERROR;
            pData[2] = LOWWORD  ((IFX_uint32_t)tab_entry.CRAMcoeff);
            pData[3] = HIGHWORD ((IFX_uint32_t)tab_entry.CRAMcoeff);
            /* c2 = tab_entry.CRAMcoeff; */
            ret = RegWrite (pCh->pParent, CMD1_COP | (pCh->nChannel - 1),
                            pData, 4, CRAM_PTG1);
         }
         else
         {
            ret = RegWrite (pCh->pParent, CMD1_COP | (pCh->nChannel - 1),
                            pData, 2, CRAM_PTG1);
         }
         break;
#endif /* VIN_V14_SUPPORT */
#ifdef VIN_V21_SUPPORT
      case VINETIC_V2x:
         /* set the frequency for the first TG */
         ret = setRegVal (pCh, TG1F_REG, freqA);
         if (ret == IFX_SUCCESS)
            ret = wrReg (pCh, TG1F_REG);

         /* set the frequency for the second TG */
         if ((ret == IFX_SUCCESS) && (freqB != 0))
         {
            ret = setRegVal (pCh, TG2F_REG, freqB);
            if (ret == IFX_SUCCESS)
               ret = wrReg (pCh, TG2F_REG);
         }
         break;
#endif /* VIN_V21_SUPPORT */
      default:
         return IFX_ERROR;
   }
   if (ret == IFX_SUCCESS)
   {
      DSCR.value &= ~(DSCR_TG2_EN);
      /* data to start tone generator 1 */
      DSCR.value |= (DSCR_COR8 | DSCR_PTG | DSCR_TG1_EN);
      if (freqB)
         DSCR.value |= DSCR_TG2_EN;
      /* call target function to set tone generator(s) */
      ret = wrReg (pCh, DSCR_REG);
   }
   return ret;
}
Пример #4
0
static void initialiseRegistre(Processeur* proc, struct x86_thread_state state){
    setRegVal(_CS, state.uts.ts64.__cs);
    setRegVal(_FS, state.uts.ts64.__fs);
    setRegVal(_GS, state.uts.ts64.__gs);
    setRegVal(_R10, state.uts.ts64.__r10);
    setRegVal(_R11, state.uts.ts64.__r11);
    setRegVal(_R12, state.uts.ts64.__r12);
    setRegVal(_R13, state.uts.ts64.__r13);
    setRegVal(_R14, state.uts.ts64.__r14);
    setRegVal(_R15, state.uts.ts64.__r15);
    setRegVal(_R8, state.uts.ts64.__r8);
    setRegVal(_R9, state.uts.ts64.__r9);
    setRegVal(_RAX, state.uts.ts64.__rax);
    setRegVal(_RBP, state.uts.ts64.__rbp);
    setRegVal(_RBX, state.uts.ts64.__rbx);
    setRegVal(_RCX, state.uts.ts64.__rcx);
    setRegVal(_RDI, state.uts.ts64.__rdi);
    setRegVal(_RDX, state.uts.ts64.__rdx);
    setRegVal(_RFLAGS, state.uts.ts64.__rflags);
    setRegVal(_RIP, state.uts.ts64.__rip);
    setRegVal(_RSI, state.uts.ts64.__rsi);
    setRegVal(_RSP, state.uts.ts64.__rsp);
    initialiserFlags(proc, getRegVal(_RFLAGS));
}