middleware: weekly update 2023-04-26 1. add new sensor driver: tp2863,gc0329,mis2008 2. add some panel driver and sample app 3. update vi/vo driver 4. add ko_shrink for cv180x

Change-Id: Iea07e7ff516682255616f8f066ae33131e243a31
This commit is contained in:
sam.xiang
2023-04-27 15:29:21 +08:00
committed by forum_service
parent a57169ae72
commit ce9f68c35f
116 changed files with 9008 additions and 71 deletions

View File

@ -86,6 +86,7 @@ static const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT] = {
/* ------ LINEAR BEGIN ------*/
"BRIGATES_BG0808_MIPI_2M_30FPS_10BIT",
"GCORE_GC02M1_MIPI_2M_30FPS_10BIT",
"GCORE_GC0329_MIPI_480P_10FPS_8BIT",
"GCORE_GC1054_MIPI_1M_30FPS_10BIT",
"GCORE_GC2053_MIPI_2M_30FPS_10BIT",
"GCORE_GC2053_SLAVE_MIPI_2M_30FPS_10BIT",
@ -96,6 +97,7 @@ static const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT] = {
"GCORE_GC4023_MIPI_4M_30FPS_10BIT",
"GCORE_GC4653_MIPI_4M_30FPS_10BIT",
"GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT",
"IMGDS_MIS2008_MIPI_2M_1080P_30FPS_12BIT",
"NEXTCHIP_N5_1M_2CH_25FPS_8BIT",
"NEXTCHIP_N5_2M_25FPS_8BIT",
"NEXTCHIP_N6_2M_4CH_25FPS_8BIT",
@ -186,6 +188,10 @@ static const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT] = {
"TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT",
"TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT",
"TECHPOINT_TP2825_MIPI_2M_30FPS_8BIT",
"TECHPOINT_TP2863_MIPI_1M_25FPS_8BIT",
"TECHPOINT_TP2863_MIPI_2M_25FPS_8BIT",
"TECHPOINT_TP2863_MIPI_1M_30FPS_8BIT",
"TECHPOINT_TP2863_MIPI_2M_30FPS_8BIT",
"VIVO_MCS369_2M_30FPS_12BIT",
"VIVO_MCS369Q_4M_30FPS_12BIT",
"VIVO_MM308M2_2M_25FPS_8BIT",
@ -291,6 +297,8 @@ CVI_S32 SAMPLE_COMM_SNS_GetSize(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize)
case SMS_SC1346_1L_SLAVE_MIPI_1M_60FPS_10BIT:
case SOI_H65_MIPI_1M_30FPS_10BIT:
case SONY_IMX290_MIPI_1M_30FPS_12BIT:
case TECHPOINT_TP2863_MIPI_1M_25FPS_8BIT:
case TECHPOINT_TP2863_MIPI_1M_30FPS_8BIT:
#ifdef FPGA_PORTING
case SONY_IMX327_MIPI_1M_30FPS_10BIT:
case SONY_IMX327_MIPI_1M_30FPS_10BIT_WDR2TO1:
@ -355,8 +363,11 @@ CVI_S32 SAMPLE_COMM_SNS_GetSize(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize)
case SONY_IMX385_MIPI_2M_30FPS_12BIT_WDR2TO1:
case TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT:
case TECHPOINT_TP2825_MIPI_2M_30FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_25FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_30FPS_8BIT:
case VIVO_MCS369_2M_30FPS_12BIT:
case VIVO_MM308M2_2M_25FPS_8BIT:
case IMGDS_MIS2008_MIPI_2M_1080P_30FPS_12BIT:
*penSize = PIC_1080P;
break;
case GCORE_GC4023_MIPI_4M_30FPS_10BIT:
@ -440,6 +451,7 @@ CVI_S32 SAMPLE_COMM_SNS_GetSize(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize)
case SMS_SC035GS_MIPI_480P_120FPS_12BIT:
case SMS_SC035GS_1L_MIPI_480P_120FPS_10BIT:
case SMS_SC035HGS_MIPI_480P_120FPS_12BIT:
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
*penSize = PIC_640x480;
break;
case PICO640_THERMAL_479P:
@ -673,10 +685,19 @@ CVI_S32 SAMPLE_COMM_SNS_GetDevAttr(SAMPLE_SNS_TYPE_E enSnsType, VI_DEV_ATTR_S *p
pstViDevAttr->enIntfMode = VI_MODE_MIPI_YUV422;
break;
case GCORE_GC2145_MIPI_2M_12FPS_8BIT:
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
pstViDevAttr->enDataSeq = VI_DATA_SEQ_YUYV;
pstViDevAttr->enInputDataType = VI_DATA_TYPE_YUV;
pstViDevAttr->enIntfMode = VI_MODE_BT601;
break;
case TECHPOINT_TP2863_MIPI_1M_25FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_25FPS_8BIT:
case TECHPOINT_TP2863_MIPI_1M_30FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_30FPS_8BIT:
pstViDevAttr->enDataSeq = VI_DATA_SEQ_UYVY;
pstViDevAttr->enInputDataType = VI_DATA_TYPE_YUV;
pstViDevAttr->enIntfMode = VI_MODE_MIPI_YUV422;
break;
default:
break;
};
@ -684,6 +705,7 @@ CVI_S32 SAMPLE_COMM_SNS_GetDevAttr(SAMPLE_SNS_TYPE_E enSnsType, VI_DEV_ATTR_S *p
// BT601
switch (enSnsType) {
case GCORE_GC2145_MIPI_2M_12FPS_8BIT:
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
pstViDevAttr->enIntfMode = VI_MODE_BT601;
break;
default:
@ -827,11 +849,16 @@ CVI_S32 SAMPLE_COMM_SNS_GetYuvBypassSts(SAMPLE_SNS_TYPE_E enSnsType)
CVI_S32 s32Ret = 0;
//Set YUV sensor need bypass isp
switch (enSnsType) {
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
case GCORE_GC2145_MIPI_2M_12FPS_8BIT:
case PICO640_THERMAL_479P:
case TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT:
case TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT:
case TECHPOINT_TP2825_MIPI_2M_30FPS_8BIT:
case TECHPOINT_TP2863_MIPI_1M_25FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_25FPS_8BIT:
case TECHPOINT_TP2863_MIPI_1M_30FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_30FPS_8BIT:
case VIVO_MCS369Q_4M_30FPS_12BIT:
case VIVO_MCS369_2M_30FPS_12BIT:
case VIVO_MM308M2_2M_25FPS_8BIT:
@ -896,6 +923,8 @@ CVI_S32 SAMPLE_COMM_SNS_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATT
break;
case TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT:
case TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT:
case TECHPOINT_TP2863_MIPI_1M_30FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_30FPS_8BIT:
case SMS_SC1346_1L_MIPI_1M_30FPS_10BIT:
case SMS_SC1346_1L_MIPI_1M_30FPS_10BIT_WDR2TO1:
case SMS_SC1346_1L_SLAVE_MIPI_1M_30FPS_10BIT:
@ -907,12 +936,19 @@ CVI_S32 SAMPLE_COMM_SNS_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATT
case GCORE_GC2145_MIPI_2M_12FPS_8BIT:
pstPubAttr->f32FrameRate = 12;
break;
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
pstPubAttr->f32FrameRate = 10;
break;
#ifdef FPGA_PORTING
case SONY_IMX327_MIPI_1M_30FPS_10BIT:
case SONY_IMX327_MIPI_1M_30FPS_10BIT_WDR2TO1:
pstPubAttr->f32FrameRate = 10;
break;
#endif
case TECHPOINT_TP2863_MIPI_1M_25FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_25FPS_8BIT:
pstPubAttr->f32FrameRate = 25;
break;
default:
pstPubAttr->f32FrameRate = 25;
break;
@ -974,6 +1010,7 @@ CVI_S32 SAMPLE_COMM_SNS_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATT
case GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT:
case GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1:
case GCORE_GC4023_MIPI_4M_30FPS_10BIT:
case IMGDS_MIS2008_MIPI_2M_1080P_30FPS_12BIT:
pstPubAttr->enBayer = BAYER_RGGB;
break;
case GCORE_GC4653_MIPI_4M_30FPS_10BIT:
@ -1013,6 +1050,10 @@ CVI_VOID *SAMPLE_COMM_SNS_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType)
case GCORE_GC02M1_MIPI_2M_30FPS_10BIT:
return &stSnsGc02m1_Obj;
#endif
#if defined(SENSOR_GCORE_GC0329)
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
return &stSnsGc0329_Obj;
#endif
#if defined(SENSOR_GCORE_GC1054)
case GCORE_GC1054_MIPI_1M_30FPS_10BIT:
return &stSnsGc1054_Obj;
@ -1056,6 +1097,11 @@ CVI_VOID *SAMPLE_COMM_SNS_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType)
case GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT:
return &stSnsGc4653_Slave_Obj;
#endif
#if defined(SENSOR_ID_MIS2008)
case IMGDS_MIS2008_MIPI_2M_1080P_30FPS_12BIT:
pSnsObj = &stSnsMIS2008_Obj;
break;
#endif
#if defined(SENSOR_NEXTCHIP_N5)
case NEXTCHIP_N5_2M_25FPS_8BIT:
case NEXTCHIP_N5_1M_2CH_25FPS_8BIT:
@ -1426,6 +1472,14 @@ CVI_VOID *SAMPLE_COMM_SNS_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType)
pSnsObj = &stSnsTP2825_Obj;
break;
#endif
#if defined(SENSOR_TECHPOINT_TP2863)
case TECHPOINT_TP2863_MIPI_1M_30FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_30FPS_8BIT:
case TECHPOINT_TP2863_MIPI_1M_25FPS_8BIT:
case TECHPOINT_TP2863_MIPI_2M_25FPS_8BIT:
pSnsObj = &stSnsTP2863_Obj;
break;
#endif
#if defined(SENSOR_VIVO_MCS369)
case VIVO_MCS369_2M_30FPS_12BIT:
pSnsObj = &stSnsMCS369_Obj;
@ -1812,11 +1866,11 @@ CVI_S32 SAMPLE_COMM_SNS_ParseIni(SAMPLE_INI_CFG_S *pstIniCfg)
SAMPLE_PRT("Parse %s\n", g_snsCfgPath);
ret = ini_parse(g_snsCfgPath, parse_handler, pstIniCfg);
if (ret >= 0) {
return 1;
return CVI_SUCCESS;
}
if (ret != -1) {
SAMPLE_PRT("Parse %s incomplete, use default cfg\n", INI_FILE_PATH);
return 0;
return CVI_FAILURE;
}
SAMPLE_PRT("%s Not Found\n", g_snsCfgPath);
@ -1824,11 +1878,11 @@ CVI_S32 SAMPLE_COMM_SNS_ParseIni(SAMPLE_INI_CFG_S *pstIniCfg)
SAMPLE_PRT("Parse %s\n", INI_FILE_PATH);
ret = ini_parse(INI_FILE_PATH, parse_handler, pstIniCfg);
if (ret >= 0) {
return 1;
return CVI_SUCCESS;
}
if (ret != -1) {
SAMPLE_PRT("Parse %s incomplete, use default cfg\n", INI_FILE_PATH);
return 0;
return CVI_FAILURE;
}
SAMPLE_PRT("%s Not Found\n", INI_FILE_PATH);
SAMPLE_PRT("Parse %s\n", INI_DEF_PATH);
@ -1841,8 +1895,8 @@ CVI_S32 SAMPLE_COMM_SNS_ParseIni(SAMPLE_INI_CFG_S *pstIniCfg)
SAMPLE_PRT("Parse %s incomplete, use default cfg\n", INI_DEF_PATH);
}
return 0;
return CVI_FAILURE;
}
return 1;
return CVI_SUCCESS;
}