middleware: weekly update 2023-05-22 1. update awb algo 2. support some sensor 3. add cv181x ko_shrink 4. update codec driver

Change-Id: Ie0cf772066a25dcb12074ee562cdabd71d63cd06
This commit is contained in:
sam.xiang
2023-05-24 00:03:55 +08:00
committed by forum_service
parent 34605614f1
commit 526f902b6a
138 changed files with 23285 additions and 243 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_GC0312_MIPI_480P_20FPS_8BIT",
"GCORE_GC0329_MIPI_480P_10FPS_8BIT",
"GCORE_GC1054_MIPI_1M_30FPS_10BIT",
"GCORE_GC2053_MIPI_2M_30FPS_10BIT",
@ -147,10 +148,14 @@ static const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT] = {
"SMS_SC3335_MIPI_3M_30FPS_10BIT",
"SMS_SC3335_SLAVE_MIPI_3M_30FPS_10BIT",
"SMS_SC3336_MIPI_3M_30FPS_10BIT",
"SMS_SC2331_1L_MIPI_2M_30FPS_10BIT",
"SMS_SC2335_MIPI_2M_30FPS_10BIT",
"SMS_SC2336_MIPI_2M_30FPS_10BIT",
"SMS_SC2336P_MIPI_2M_30FPS_10BIT",
"SMS_SC4210_MIPI_4M_30FPS_12BIT",
"SMS_SC4336_MIPI_4M_30FPS_10BIT",
"SMS_SC4336P_MIPI_4M_30FPS_10BIT",
"SMS_SC5336_2L_MIPI_5M_30FPS_10BIT",
"SMS_SC8238_MIPI_8M_30FPS_10BIT",
"SOI_F23_MIPI_2M_30FPS_10BIT",
"SOI_F35_MIPI_2M_30FPS_10BIT",
@ -159,6 +164,7 @@ static const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT] = {
"SOI_H65_MIPI_1M_30FPS_10BIT",
"SOI_K06_MIPI_4M_25FPS_10BIT",
"SOI_Q03_MIPI_3M_30FPS_10BIT",
"SOI_Q03P_MIPI_3M_30FPS_10BIT",
"SONY_IMX290_MIPI_1M_30FPS_12BIT",
"SONY_IMX290_MIPI_2M_60FPS_12BIT",
"SONY_IMX307_MIPI_2M_30FPS_12BIT",
@ -195,6 +201,7 @@ static const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT] = {
"VIVO_MCS369_2M_30FPS_12BIT",
"VIVO_MCS369Q_4M_30FPS_12BIT",
"VIVO_MM308M2_2M_25FPS_8BIT",
"LONTIUM_LT6911_2M_60FPS_8BIT",
/* ------ LINEAR END ------*/
/* ------ WDR 2TO1 BEGIN ------*/
@ -327,8 +334,10 @@ CVI_S32 SAMPLE_COMM_SNS_GetSize(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize)
case PIXELPLUS_PR2020_2M_25FPS_8BIT:
case PIXELPLUS_PR2020_2M_30FPS_8BIT:
case PIXELPLUS_PR2100_2M_25FPS_8BIT:
case SMS_SC2331_1L_MIPI_2M_30FPS_10BIT:
case SMS_SC2335_MIPI_2M_30FPS_10BIT:
case SMS_SC2336_MIPI_2M_30FPS_10BIT:
case SMS_SC2336P_MIPI_2M_30FPS_10BIT:
case SMS_SC200AI_MIPI_2M_30FPS_10BIT:
case SMS_SC200AI_MIPI_2M_30FPS_10BIT_WDR2TO1:
case SOI_F23_MIPI_2M_30FPS_10BIT:
@ -368,6 +377,7 @@ CVI_S32 SAMPLE_COMM_SNS_GetSize(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize)
case VIVO_MCS369_2M_30FPS_12BIT:
case VIVO_MM308M2_2M_25FPS_8BIT:
case IMGDS_MIS2008_MIPI_2M_1080P_30FPS_12BIT:
case LONTIUM_LT6911_2M_60FPS_8BIT:
*penSize = PIC_1080P;
break;
case GCORE_GC4023_MIPI_4M_30FPS_10BIT:
@ -387,6 +397,7 @@ CVI_S32 SAMPLE_COMM_SNS_GetSize(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize)
case SMS_SC4210_MIPI_4M_30FPS_12BIT:
case SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1:
case SMS_SC4336_MIPI_4M_30FPS_10BIT:
case SMS_SC4336P_MIPI_4M_30FPS_10BIT:
case SOI_K06_MIPI_4M_25FPS_10BIT:
case SONY_IMX335_MIPI_4M_30FPS_12BIT:
case SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1:
@ -402,6 +413,7 @@ CVI_S32 SAMPLE_COMM_SNS_GetSize(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize)
case SMS_SC3335_SLAVE_MIPI_3M_30FPS_10BIT:
case SMS_SC3336_MIPI_3M_30FPS_10BIT:
case SOI_Q03_MIPI_3M_30FPS_10BIT:
case SOI_Q03P_MIPI_3M_30FPS_10BIT:
*penSize = PIC_2304x1296;
break;
case SMS_SC301IOT_MIPI_3M_30FPS_10BIT:
@ -433,6 +445,7 @@ CVI_S32 SAMPLE_COMM_SNS_GetSize(SAMPLE_SNS_TYPE_E enMode, PIC_SIZE_E *penSize)
case SMS_SC500AI_MIPI_5M_30FPS_10BIT_WDR2TO1:
case SMS_SC501AI_2L_MIPI_5M_30FPS_10BIT:
case SMS_SC531AI_2L_MIPI_5M_30FPS_10BIT:
case SMS_SC5336_2L_MIPI_5M_30FPS_10BIT:
*penSize = PIC_2880x1620;
break;
case OV_OS08A20_MIPI_8M_30FPS_10BIT:
@ -451,6 +464,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_GC0312_MIPI_480P_20FPS_8BIT:
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
*penSize = PIC_640x480;
break;
@ -685,6 +699,7 @@ 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_GC0312_MIPI_480P_20FPS_8BIT:
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
pstViDevAttr->enDataSeq = VI_DATA_SEQ_YUYV;
pstViDevAttr->enInputDataType = VI_DATA_TYPE_YUV;
@ -705,6 +720,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_GC0312_MIPI_480P_20FPS_8BIT:
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
pstViDevAttr->enIntfMode = VI_MODE_BT601;
break;
@ -812,6 +828,7 @@ CVI_S32 SAMPLE_COMM_SNS_GetDevAttr(SAMPLE_SNS_TYPE_E enSnsType, VI_DEV_ATTR_S *p
case BRIGATES_BG0808_MIPI_2M_30FPS_10BIT:
case BRIGATES_BG0808_MIPI_2M_30FPS_10BIT_WDR2TO1:
case SMS_SC4336_MIPI_4M_30FPS_10BIT:
case SMS_SC4336P_MIPI_4M_30FPS_10BIT:
case GCORE_GC4653_MIPI_4M_30FPS_10BIT:
case GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT:
case TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT:
@ -821,6 +838,12 @@ CVI_S32 SAMPLE_COMM_SNS_GetDevAttr(SAMPLE_SNS_TYPE_E enSnsType, VI_DEV_ATTR_S *p
case SOI_K06_MIPI_4M_25FPS_10BIT:
pstViDevAttr->enBayerFormat = BAYER_FORMAT_GB;
break;
case LONTIUM_LT6911_2M_60FPS_8BIT:
pstViDevAttr->enDataSeq = VI_DATA_SEQ_UYVY;
pstViDevAttr->enInputDataType = VI_DATA_TYPE_YUV;
pstViDevAttr->enIntfMode = VI_MODE_MIPI_YUV422;
pstViDevAttr->enBayerFormat = BAYER_FORMAT_BG;
break;
default:
pstViDevAttr->enBayerFormat = BAYER_FORMAT_BG;
break;
@ -849,6 +872,7 @@ 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_GC0312_MIPI_480P_20FPS_8BIT:
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
case GCORE_GC2145_MIPI_2M_12FPS_8BIT:
case PICO640_THERMAL_479P:
@ -936,6 +960,9 @@ 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_GC0312_MIPI_480P_20FPS_8BIT:
pstPubAttr->f32FrameRate = 20;
break;
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
pstPubAttr->f32FrameRate = 10;
break;
@ -958,6 +985,10 @@ CVI_S32 SAMPLE_COMM_SNS_GetIspAttrBySns(SAMPLE_SNS_TYPE_E enSnsType, ISP_PUB_ATT
case SOI_K06_MIPI_4M_25FPS_10BIT:
pstPubAttr->enBayer = BAYER_GBRG;
break;
case LONTIUM_LT6911_2M_60FPS_8BIT:
pstPubAttr->enBayer = BAYER_BGGR;
pstPubAttr->f32FrameRate = 60;
break;
// Sony
case SONY_IMX307_MIPI_2M_30FPS_12BIT:
case SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1:
@ -1010,7 +1041,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:
case IMGDS_MIS2008_MIPI_2M_1080P_30FPS_12BIT:
pstPubAttr->enBayer = BAYER_RGGB;
break;
case GCORE_GC4653_MIPI_4M_30FPS_10BIT:
@ -1050,6 +1081,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_GC0312)
case GCORE_GC0312_MIPI_480P_20FPS_8BIT:
return &stSnsGc0312_Obj;
#endif
#if defined(SENSOR_GCORE_GC0329)
case GCORE_GC0329_MIPI_480P_10FPS_8BIT:
return &stSnsGc0329_Obj;
@ -1303,6 +1338,11 @@ CVI_VOID *SAMPLE_COMM_SNS_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType)
pSnsObj = &stSnsSC3336_Obj;
break;
#endif
#if defined(SENSOR_SMS_SC2331_1L)
case SMS_SC2331_1L_MIPI_2M_30FPS_10BIT:
pSnsObj = &stSnsSC2331_1L_Obj;
break;
#endif
#if defined(SENSOR_SMS_SC2335)
case SMS_SC2335_MIPI_2M_30FPS_10BIT:
pSnsObj = &stSnsSC2335_Obj;
@ -1313,6 +1353,11 @@ CVI_VOID *SAMPLE_COMM_SNS_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType)
pSnsObj = &stSnsSC2336_Obj;
break;
#endif
#if defined(SENSOR_SMS_SC2336P)
case SMS_SC2336P_MIPI_2M_30FPS_10BIT:
pSnsObj = &stSnsSC2336P_Obj;
break;
#endif
#if defined(SENSOR_SMS_SC4210)
case SMS_SC4210_MIPI_4M_30FPS_12BIT:
case SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1:
@ -1324,6 +1369,16 @@ CVI_VOID *SAMPLE_COMM_SNS_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType)
pSnsObj = &stSnsSC4336_Obj;
break;
#endif
#if defined(SENSOR_SMS_SC4336P)
case SMS_SC4336P_MIPI_4M_30FPS_10BIT:
pSnsObj = &stSnsSC4336P_Obj;
break;
#endif
#if defined(SENSOR_SMS_SC5336_2L)
case SMS_SC5336_2L_MIPI_5M_30FPS_10BIT:
pSnsObj = &stSnsSC5336_2L_Obj;
break;
#endif
#if defined(SENSOR_SMS_SC8238)
case SMS_SC8238_MIPI_8M_30FPS_10BIT:
case SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1:
@ -1366,6 +1421,11 @@ CVI_VOID *SAMPLE_COMM_SNS_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType)
pSnsObj = &stSnsQ03_Obj;
break;
#endif
#if defined(SENSOR_SOI_Q03P)
case SOI_Q03P_MIPI_3M_30FPS_10BIT:
pSnsObj = &stSnsQ03P_Obj;
break;
#endif
#if defined(SENSOR_SONY_IMX290_2L)
case SONY_IMX290_MIPI_1M_30FPS_12BIT:
case SONY_IMX290_MIPI_2M_60FPS_12BIT:
@ -1494,12 +1554,16 @@ CVI_VOID *SAMPLE_COMM_SNS_GetSnsObj(SAMPLE_SNS_TYPE_E enSnsType)
case VIVO_MM308M2_2M_25FPS_8BIT:
pSnsObj = &stSnsMM308M2_Obj;
break;
#endif
#if defined(SENSOR_LONTIUM_LT6911)
case LONTIUM_LT6911_2M_60FPS_8BIT:
pSnsObj = &stSnsLT6911_Obj;
break;
#endif
default:
pSnsObj = CVI_NULL;
break;
}
return pSnsObj;
}
@ -1899,4 +1963,4 @@ CVI_S32 SAMPLE_COMM_SNS_ParseIni(SAMPLE_INI_CFG_S *pstIniCfg)
}
return CVI_SUCCESS;
}
}