sample_osd.c程序流程

sample_osd.c程序流程
sample_system_init (1)
	IMP_OSD_SetPoolSize(512*1024);
	IMP_OSD_SetPoolSize(512*1024);
	IMP_Encoder_SetMultiSectionMode(1, 250, 2);
	IMP_Encoder_MultiProcessInit();
	memcpy(&sensor_info[0], &Def_Sensor_Info[0], sizeof(IMPSensorInfo));
	IMP_ISP_Open();
	IMP_ISP_AddSensor(IMPVI_MAIN, &sensor_info[0]);
	IMP_ISP_EnableSensor(IMPVI_MAIN, &sensor_info[0]);
	IMP_System_Init();
	IMP_ISP_EnableTuning();
	IMP_ISP_Tuning_SetContrast(IMPVI_MAIN, &value);
	IMP_ISP_Tuning_SetSharpness(IMPVI_MAIN, &value);
	IMP_ISP_Tuning_SetSaturation(IMPVI_MAIN, &value);
	IMP_ISP_Tuning_SetBrightness(IMPVI_MAIN, &value);
	IMPISPRunningMode mode = IMPISP_RUNNING_MODE_DAY;
	ret = IMP_ISP_Tuning_SetISPRunningMode(IMPVI_MAIN, &mode);
	ret = IMP_ISP_Tuning_SetSensorFPS(IMPVI_MAIN, &setFps);
sample_framesource_init (2)
	IMP_FrameSource_CreateChn(chn[i].index, &chn[i].fs_chn_attr);
	IMP_FrameSource_SetChnAttr(chn[i].index, &chn[i].fs_chn_attr);
IMP_Encoder_CreateGroup (3)
sample_video_init(4)
	enc_attr = &channel_attr.encAttr;
	enc_attr->enType = chn[i].payloadType;
	enc_attr->profile   = 1;
	enc_attr->picWidth  = s32picWidth;
	enc_attr->picHeight = s32picHeight;
	rc_attr = &channel_attr.rcAttr;
	rc_attr->attrHSkip.hSkipAttr.skipType = IMP_Encoder_STYPE_N1X;
	rc_attr->attrHSkip.hSkipAttr.m = 3;
	rc_attr->attrHSkip.hSkipAttr.n = 4;
	rc_attr->attrHSkip.hSkipAttr.maxSameSceneCnt = 0;
	rc_attr->attrHSkip.hSkipAttr.bEnableScenecut = 0;
	rc_attr->attrHSkip.hSkipAttr.bBlackEnhance = 0;
	rc_attr->attrHSkip.maxHSkipType = IMP_Encoder_STYPE_N1X;	
	IMP_Encoder_CreateChn(chnNum, &channel_attr);
	IMP_Encoder_RegisterChn(chn[i].index, chnNum);
IMP_OSD_CreateGroup(5)
sample_osd_init(6)
	prHander = malloc(5 * sizeof(IMPRgnHandle)

你可能感兴趣的:(君正平台调试记录,c语言,开发语言)