[Deinterlace-checkins] CVS: DScaler/DScaler BT848Card.cpp,1.35,1.36 CX2388xCard.cpp,1.38,1.39
Brought to you by:
adcockj,
dschmelzer
From: John A. <ad...@us...> - 2003-01-29 18:24:55
|
Update of /cvsroot/deinterlace/DScaler/DScaler In directory sc8-pr-cvs1:/tmp/cvs-serv18866/DScaler Modified Files: BT848Card.cpp CX2388xCard.cpp Log Message: Test fix for crashing in other apps after running DScaler Index: BT848Card.cpp =================================================================== RCS file: /cvsroot/deinterlace/DScaler/DScaler/BT848Card.cpp,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -r1.35 -r1.36 *** BT848Card.cpp 28 Jan 2003 09:14:54 -0000 1.35 --- BT848Card.cpp 29 Jan 2003 18:24:49 -0000 1.36 *************** *** 19,22 **** --- 19,25 ---- // // $Log$ + // Revision 1.36 2003/01/29 18:24:49 adcockj + // Test fix for crashing in other apps after running DScaler + // // Revision 1.35 2003/01/28 09:14:54 adcockj // Added patch by Billy Chang *************** *** 262,267 **** void CBT848Card::ManageMyState() { ! // disabled bt848 temporarily due to crashing return; // save and restore everything that might be used // by the real drivers --- 265,273 ---- void CBT848Card::ManageMyState() { ! // Drivers seem to reset most things when they run ! // so just return here especially now that we leave the chip ! // in a more shut down state return; + // save and restore everything that might be used // by the real drivers *************** *** 1064,1068 **** --- 1070,1082 ---- void CBT848Card::StopCapture() { + // stop the chip running DMA + SetDMA(FALSE); + + // Turn off capture MaskDataByte(BT848_CAP_CTL, 0, 0x0f); + + // set the RISC addresses to be NULL + // so that nobody tries to run our RISC code later + SetRISCStartAddress(0x00000000); } Index: CX2388xCard.cpp =================================================================== RCS file: /cvsroot/deinterlace/DScaler/DScaler/CX2388xCard.cpp,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -r1.38 -r1.39 *** CX2388xCard.cpp 27 Jan 2003 22:04:07 -0000 1.38 --- CX2388xCard.cpp 29 Jan 2003 18:24:49 -0000 1.39 *************** *** 24,27 **** --- 24,30 ---- // // $Log$ + // Revision 1.39 2003/01/29 18:24:49 adcockj + // Test fix for crashing in other apps after running DScaler + // // Revision 1.38 2003/01/27 22:04:07 laurentg // First step to merge setup hardware and hardware info dialog boxes *************** *** 291,305 **** void CCX2388xCard::StopCapture() { ! DWORD value1; ! DWORD value2; ! ! value1 = ReadDword(CX2388X_VID_DMA_CNTRL) & 0xFFFFFF00; ! value2 = ReadDword(CX2388X_CAPTURECONTROL) & 0xFFFFFF00; ! ! ::Sleep(100); ! ! // Original code before restart workaround ! WriteDword(CX2388X_VID_DMA_CNTRL, value1); ! WriteDword(CX2388X_CAPTURECONTROL, value2); m_RISCIsRunning = FALSE; --- 294,309 ---- void CCX2388xCard::StopCapture() { ! // Firstly stop the card from doing anything ! // so stop the risc controller ! WriteDword(CX2388X_DEV_CNTRL2, 0x00000000); ! ! // then stop capturing video and VBI ! MaskDataDword(CX2388X_VID_DMA_CNTRL, 0x00, 0xFF); ! MaskDataDword(CX2388X_CAPTURECONTROL, 0x00,0xFF); ! ! // set the RISC addresses to be NULL ! // so that nobody tries to run our RISC code later ! SetRISCStartAddress(0x00000000); ! SetRISCStartAddressVBI(0x00000000); m_RISCIsRunning = FALSE; *************** *** 1186,1194 **** void CCX2388xCard::ManageMyState() { - // just reurn for the time being as this code - // seens to be associated with crashing - // \todo find where the crashing comes in and fix - return; - // save and restore everything that might be used // by the real drivers --- 1190,1193 ---- *************** *** 1218,1221 **** --- 1217,1226 ---- ManageDword(MO_DMA26_CNT1); ManageDword(MO_DMA26_CNT2); + + // Drivers seem to reset most things when they run + // so just return here especially now that we leave the chip + // in a more shut down state + return; + // do these last just in case the chip was |