⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qsdlwidget.cpp

📁 海康威视视频采集卡linux开发包4.22版
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		{			OutputDebugString("No enough space.avialable blocks = %ld\n", bbuf.f_bavail);						if (!(DSCLASSDEMO(Nowport)->fullspace_flag))			{				emit fullSpace();				DSCLASSDEMO(Nowport)->Maxcount = DSCLASSDEMO(Nowport)->count;				OutputDebugString("fullspace$$$$$ the max count of port %02d is %d\n", Nowport, DSCLASSDEMO(Nowport)->Maxcount);				DSCLASSDEMO(Nowport)->count = -1;	//当硬盘第一次满的时候清除count值								DSCLASSDEMO(Nowport)->fullspace_flag = 1;			}		}	}	if ((DSCLASSDEMO(Nowport)->Maxcount == DSCLASSDEMO(Nowport)->count) && (DSCLASSDEMO(Nowport)->fullspace_flag))	{			OutputDebugString("&&&&&&port %02d get the count %d\n", Nowport, DSCLASSDEMO(Nowport)->count);			DSCLASSDEMO(Nowport)->count = -1;	//当count值达到最大值的时候, 清除count值					}#ifdef WRITE_FILE	if (DSCLASSDEMO(Nowport)->record_flag || DSCLASSDEMO(Nowport)->cifqcif_flag || DSCLASSDEMO(Nowport)->imagefile_flag)		DSCLASSDEMO(Nowport)->count ++;	else		return;	if( DSCLASSDEMO(Nowport)->record_flag )	{		dsdemoclass[Nowport]->CreateFiles();		}		if( DSCLASSDEMO(Nowport)->cifqcif_flag )	{		dsdemoclass[Nowport]->CreateCifQcifFiles();	}		if (DSCLASSDEMO(Nowport)->imagefile_flag)	{		dsdemoclass[Nowport]->CreateImageStreamFiles();			//After stop imagestream and then start imagestream right now, it will overwrite the newest imagefile#if 0		int width = DSCLASSDEMO(Nowport)->imagewidth;		int height = DSCLASSDEMO(Nowport)->imageheight;		(DSCLASSDEMO(Nowport)->imagefile_fd) -> writeBlock((char *)(DSCLASSDEMO(Nowport)->imageBuf), (width * height * 3)/2);#endif	}#endif}void QSDLWidget::OsdEnableSet(bool on){		DSCLASSDEMO(SelectPort)-> osd_flag = int(on);	SetOsd(DSCLASSDEMO(SelectPort)->ChannelHandle, int(on));}void QSDLWidget::OsdEnableAllSet(bool on){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		if ( on )		{			if(!(DSCLASSDEMO(port)-> osd_flag))			{				SelectPort = port;				OsdEnableSet(TRUE);			}		}		else		{			if(DSCLASSDEMO(port)-> osd_flag)			{				SelectPort = port;				OsdEnableSet(FALSE);			}		}	}	SelectPort = temp;		}void QSDLWidget::OsdTranslucentSet(bool on){		dsdemoclass[SelectPort]->SetOsdTranslucent(short(on));	}void QSDLWidget::OsdTranslucentAllSet(bool on){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		OsdTranslucentSet(on);	}	SelectPort = temp;}void QSDLWidget::OsdBrightnessSet(int number){	dsdemoclass[SelectPort]->SetOsdBrightness(number);}void QSDLWidget::OsdBrightnessAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		OsdBrightnessSet(number);	}	SelectPort = temp;	}void  QSDLWidget::OsdPosXSet(int number){	dsdemoclass[SelectPort]->SetOsdPosX(short(number));}void QSDLWidget::OsdPosXAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		OsdPosXSet(number);	}	SelectPort = temp;	}void QSDLWidget::OsdPosYSet(int number){	dsdemoclass[SelectPort]->SetOsdPosY(short(number));}void QSDLWidget::OsdPosYAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		OsdPosYSet(number);	}	SelectPort = temp;	}void QSDLWidget::LogoEnabledSet(bool on){	DSCLASSDEMO(SelectPort)-> logo_flag = int(on);	if ( on )		dsdemoclass[SelectPort]->SetDsLogo();	else		StopLogo(DSCLASSDEMO(SelectPort)->ChannelHandle);}void QSDLWidget::LogoEnabledAllSet(bool on){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		if ( on )		{			if(!(DSCLASSDEMO(port)-> logo_flag))			{				SelectPort = port;				LogoEnabledSet(TRUE);			}		}		else		{			if(DSCLASSDEMO(port)-> logo_flag)			{				SelectPort = port;				LogoEnabledSet(FALSE);			}		}	}	SelectPort = temp;	}void QSDLWidget::LogoTranslucentSet(bool on){		dsdemoclass[SelectPort]->SetLogoTranslucent(short(on));	}void QSDLWidget::LogoTranslucentAllSet(bool on){		int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		LogoTranslucentSet(on);	}	SelectPort = temp;}void  QSDLWidget::LogoPosXSet(int number){	dsdemoclass[SelectPort]->SetLogoPosX(short(number));}void QSDLWidget::LogoPosXAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		LogoPosXSet(number);	}	SelectPort = temp;	}void QSDLWidget::LogoPosYSet(int number){	dsdemoclass[SelectPort]->SetLogoPosY(short(number));}void QSDLWidget::LogoPosYAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		LogoPosYSet(number);	}	SelectPort = temp;	}/*********************************************/RECT* QSDLWidget::GetMaskinfo(int port){	return (DSCLASSDEMO(port)->maskRect);}void QSDLWidget::MaskEnableSet(bool on){	if ( on )		dsdemoclass[SelectPort]->SetMask();	else		StopMask(DSCLASSDEMO(SelectPort)-> ChannelHandle);}void QSDLWidget::MaskEnableAllSet(bool on){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		MaskEnableSet(on);	}	SelectPort = temp;	}void QSDLWidget::MaskAddSet(RECT *add){	int i;		RECT *tempmask = DSCLASSDEMO(SelectPort)-> maskRect;	for (i = 0; i < 5; i++)	{		if (!(tempmask[i].RectTop || tempmask[i].RectBottom || tempmask[i].RectLeft || tempmask[i].RectRight ))			break;	}	if (i==5) return;	memcpy(&(tempmask[i]), add, sizeof(RECT));		if ( i < 4)		memset(&(tempmask[i+1]), 0x0, sizeof(RECT)*(4-i));	dsdemoclass[SelectPort] -> SetMask();}void QSDLWidget::MaskAddAllSet(RECT *add){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		MaskAddSet(add);	}	SelectPort = temp;}void QSDLWidget::MaskDelSet(int index){	int i;	RECT *temp;	RECT *tempmask = DSCLASSDEMO(SelectPort)-> maskRect;	for (i = 0; i < 5; i++)	{		if (!(tempmask[i].RectTop || tempmask[i].RectBottom || tempmask[i].RectLeft || tempmask[i].RectRight ))			break;	}		if (index == (i-1))	{		memset(&(tempmask[index]), 0x0, sizeof(RECT));		dsdemoclass[SelectPort] -> SetMask();		return;	}	temp = (RECT *)malloc((i - 1 - index)*sizeof(RECT));	memcpy(temp, &(tempmask[index+1]), (i - 1 - index)*sizeof(RECT));	memset(&(tempmask[index]), 0x0, (i - index)*sizeof(RECT));	memcpy(&(tempmask[index]), temp, (i - 1 - index)*sizeof(RECT));	free(temp);	dsdemoclass[SelectPort] -> SetMask();}void QSDLWidget::MaskDelAllSet(int index){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		MaskDelSet(index);	}	SelectPort = temp;}/*********************************************/void QSDLWidget::VideoRestoreSet(){	video_info *tempvideo = GetVideoDefault(SelectPort);	memcpy(&(DSCLASSDEMO(SelectPort)->v_info), tempvideo, sizeof(video_info));}void QSDLWidget::VideoRestoreAllSet(){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		VideoRestoreSet();	}	SelectPort = temp;}void QSDLWidget::CifQCifAllSet(bool on){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		CifQCifSet(on);	}	SelectPort = temp;}void QSDLWidget::CifQCifSet(bool on){	DSCLASSDEMO(SelectPort)->cifqcif_flag = int(on);}void QSDLWidget::IQuantSet(int number){	dsdemoclass[SelectPort]->SetFrameIQuantVal(number);}void QSDLWidget::IQuantAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		IQuantSet(number);	}		SelectPort = temp;}void QSDLWidget::BQuantSet(int number){	dsdemoclass[SelectPort]->SetFrameBQuantVal(number);}void QSDLWidget::BQuantAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		BQuantSet(number);	}		SelectPort = temp;}void QSDLWidget::PQuantSet(int number){	dsdemoclass[SelectPort]->SetFramePQuantVal(number);}void QSDLWidget::PQuantAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		PQuantSet(number);	}		SelectPort = temp;}void QSDLWidget::KeyFrameISet(int number){	dsdemoclass[SelectPort]->SetFrameKeyFrameI(number);}void QSDLWidget::KeyFrameIAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		KeyFrameISet(number);	}		SelectPort = temp;}void QSDLWidget::BFramesSet(int number){	dsdemoclass[SelectPort]->SetFrameBFrames(number);}void QSDLWidget::BFramesAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		BFramesSet(number);	}		SelectPort = temp;}void QSDLWidget::FrameRateSet(int number){	dsdemoclass[SelectPort]->SetFrameFrameRate(number);}void QSDLWidget::FrameRateAllSet(int number){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		FrameRateSet(number);	}		SelectPort = temp;}void QSDLWidget::StreamTypeSet(int StreamType){	fprintf(stderr, "Set StreamType for Port %d\n", SelectPort);	SetStreamType(DSCLASSDEMO(SelectPort)->ChannelHandle, StreamType);}void QSDLWidget::StreamTypeAllSet(int StreamType){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		StreamTypeSet(StreamType);	}		SelectPort = temp;}void QSDLWidget::StreamTypeSubSet(int StreamType){	fprintf(stderr, "Set SubStreamType for Port %d\n", SelectPort);	SetSubStreamType(DSCLASSDEMO(SelectPort)->ChannelHandle, StreamType);}void QSDLWidget::StreamTypeSubAllSet(int StreamType){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		StreamTypeSubSet(StreamType);	}		SelectPort = temp;}void QSDLWidget::EncoderSet(PictureFormat_t pictureFormat){	DSCLASSDEMO(SelectPort)->pictureFormat = pictureFormat;	SetEncoderPictureFormat(DSCLASSDEMO(SelectPort)->ChannelHandle, pictureFormat);}void QSDLWidget::EncoderSubSet(PictureFormat_t pictureFormat){	DSCLASSDEMO(SelectPort)->subpictureFormat = pictureFormat;	SetSubEncoderPictureFormat(DSCLASSDEMO(SelectPort)->ChannelHandle, pictureFormat);}void QSDLWidget::EncoderAllSet(PictureFormat_t pictureFormat){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		EncoderSet(pictureFormat);	}		SelectPort = temp;}void QSDLWidget::EncoderSubAllSet(PictureFormat_t pictureFormat){	int temp = SelectPort;	int port;	for (port = 0; port < GetTotalChannels(); port++)	{		SelectPort = port;		EncoderSubSet(pictureFormat);	}		SelectPort = temp;}void QSDLWidget::BitRateSet(int MaxBps, BitrateControlType_t brc){	DSCLASSDEMO(SelectPort)->MaxBps = MaxBps;	DSCLASSDEMO(SelectPort)->brc = brc;	OutputDebugString("brc = %d\n", brc);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -