Update source to Armbian-dev-202610.A311Y3
This commit is contained in:
@@ -740,7 +740,7 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
CVE_HANDLE cveHandle;
|
||||
CVE_RAW_AIISP_T stSrcRaw;
|
||||
CVE_IMAGE_T stSrcImage;
|
||||
CVE_RAW_AIISP_T stDstRaw;
|
||||
CVE_AIISP_SNR_MFNR_PROCESS_CTRL_T stAiIspSnrMfnrProcessCtrl;
|
||||
bool bInstant;
|
||||
|
||||
@@ -15,16 +15,14 @@ int cve_check_dma_param_user(CVE_HANDLE *pCveHandle, CVE_DATA_T *pstSrc, CVE_DST
|
||||
{
|
||||
int s32Ret = 0;
|
||||
|
||||
if (pCveHandle != NULL) {
|
||||
if ((pstSrc != NULL) && (pstDmaCtrl != NULL)) {
|
||||
if (pstDmaCtrl->enMode <= CVE_DMA_MODE_INTERVAL_COPY ||
|
||||
pstDmaCtrl->enMode == CVE_DMA_MODE_NOT ||
|
||||
pstDmaCtrl->enMode == CVE_DMA_MODE_DIRECT_COPY_TO_LINE ||
|
||||
pstDmaCtrl->enMode == CVE_DMA_MODE_COL2IM) {
|
||||
if (pstSrc == NULL || pstDst == NULL) {
|
||||
s32Ret = CVE_ERR_NULL_PTR;
|
||||
CVE_ERR_LOG("pCve have Null handle\n");
|
||||
}
|
||||
if (pCveHandle != NULL && (pstDmaCtrl != NULL)) {
|
||||
if (pstDmaCtrl->enMode <= CVE_DMA_MODE_INTERVAL_COPY ||
|
||||
pstDmaCtrl->enMode == CVE_DMA_MODE_NOT ||
|
||||
pstDmaCtrl->enMode == CVE_DMA_MODE_DIRECT_COPY_TO_LINE ||
|
||||
pstDmaCtrl->enMode == CVE_DMA_MODE_COL2IM) {
|
||||
if (pstSrc == NULL || pstDst == NULL) {
|
||||
s32Ret = CVE_ERR_NULL_PTR;
|
||||
CVE_ERR_LOG("pCve have Null handle\n");
|
||||
}
|
||||
} else if (pstDmaCtrl->enMode == CVE_DMA_MODE_SET_3BYTE ||
|
||||
pstDmaCtrl->enMode == CVE_DMA_MODE_SET_8BYTE) {
|
||||
@@ -72,10 +70,11 @@ int cve_check_filter_param_user(CVE_HANDLE *pCveHandle, CVE_SRC_IMAGE_T *pstSrc,
|
||||
if ((pstSrc == NULL) || (pstDst == NULL) || (pstFltCtrl == NULL)) {
|
||||
s32Ret = CVE_ERR_NULL_PTR;
|
||||
CVE_ERR_LOG("pCve have Null handle\n");
|
||||
}
|
||||
if (pstFltCtrl->filter_mode == CVE_FILTER_CLARITY && pstDstMem == NULL) {
|
||||
s32Ret = CVE_ERR_NULL_PTR;
|
||||
CVE_ERR_LOG("pCve have Null handle\n");
|
||||
} else if (pstFltCtrl != NULL) {
|
||||
if (pstFltCtrl->filter_mode == CVE_FILTER_CLARITY && pstDstMem == NULL) {
|
||||
s32Ret = CVE_ERR_NULL_PTR;
|
||||
CVE_ERR_LOG("pCve have Null handle\n");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
CVE_ERR_LOG("pCveHandle is NULL, CVE not init\n");
|
||||
@@ -1306,8 +1305,8 @@ int cve_aiisp_tnr_post_process_user(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pst
|
||||
return s32Ret;
|
||||
}
|
||||
|
||||
int cve_aiisp_snr_post_process_user(CVE_HANDLE *pCveHandle, CVE_SRC_IMAGE_T *pstSrcImage0,
|
||||
CVE_SRC_IMAGE_T *pstSrcImage1, CVE_SRC_IMAGE_T *pstSrcImage2,
|
||||
int cve_aiisp_snr_post_process_user(CVE_HANDLE *pCveHandle, CVE_IMAGE_T *pstSrcImage0,
|
||||
CVE_IMAGE_T *pstSrcImage1, CVE_SRC_IMAGE_T *pstSrcImage2,
|
||||
CVE_RAW_AIISP_T *pstDstRaw,
|
||||
CVE_AIISP_SNR_POST_PROCESS_CTRL_T *pstAiIspSnrPostProcessCtrl)
|
||||
{
|
||||
@@ -1347,14 +1346,14 @@ int cve_aiisp_tnr_mfnr_process_user(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pst
|
||||
return s32Ret;
|
||||
}
|
||||
|
||||
int cve_aiisp_snr_mfnr_process_user(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRaw,
|
||||
int cve_aiisp_snr_mfnr_process_user(CVE_HANDLE *pCveHandle, CVE_IMAGE_T *pstSrcImage,
|
||||
CVE_RAW_AIISP_T *pstDstRaw,
|
||||
CVE_AIISP_SNR_MFNR_PROCESS_CTRL_T *pstAiIspSnrMfnrProcessCtrl)
|
||||
{
|
||||
int s32Ret = 0;
|
||||
|
||||
if (pCveHandle != NULL) {
|
||||
if ((pstSrcRaw == NULL) || (pstDstRaw == NULL) ||
|
||||
if ((pstSrcImage == NULL) || (pstDstRaw == NULL) ||
|
||||
(pstAiIspSnrMfnrProcessCtrl == NULL)) {
|
||||
s32Ret = CVE_ERR_NULL_PTR;
|
||||
CVE_ERR_LOG("pCve have Null handle\n");
|
||||
|
||||
@@ -194,7 +194,7 @@ int cve_aiisp_snr_post_process_user(CVE_HANDLE *pCveHandle, CVE_IMAGE_T *pstSrcI
|
||||
int cve_aiisp_tnr_mfnr_process_user(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRaw,
|
||||
CVE_IMAGE_T *pstDstImage,
|
||||
CVE_AIISP_TNR_MFNR_PROCESS_CTRL_T *pstAiIspTnrMfnrProcessCtrl);
|
||||
int cve_aiisp_snr_mfnr_process_user(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRaw,
|
||||
int cve_aiisp_snr_mfnr_process_user(CVE_HANDLE *pCveHandle, CVE_IMAGE_T *pstSrcImage,
|
||||
CVE_RAW_AIISP_T *pstDstRaw,
|
||||
CVE_AIISP_SNR_MFNR_PROCESS_CTRL_T *pstAiIspSnrMfnrProcessCtrl);
|
||||
|
||||
|
||||
@@ -2400,15 +2400,15 @@ int CVE_AIISP_TNR_MFNR_PROCESS(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRa
|
||||
return s32Ret;
|
||||
}
|
||||
|
||||
int CVE_AIISP_SNR_MFNR_PROCESS(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRaw,
|
||||
CVE_RAW_AIISP_T *pstDstRaw,
|
||||
int CVE_AIISP_SNR_MFNR_PROCESS(CVE_HANDLE *pCveHandle, CVE_IMAGE_T *pstSrcImage,
|
||||
CVE_RAW_AIISP_T *pstDstRaw,
|
||||
CVE_AIISP_SNR_MFNR_PROCESS_CTRL_T *pstAiIspSnrMfnrProcessCtrl,
|
||||
bool bInstant)
|
||||
{
|
||||
CVE_OP_AIISP_SNR_MFNR_PROCESS_T stOpAiIspSnrMfnrProcess;
|
||||
int s32Ret = 0;
|
||||
|
||||
s32Ret = cve_aiisp_snr_mfnr_process_user(pCveHandle, pstSrcRaw, pstDstRaw,
|
||||
s32Ret = cve_aiisp_snr_mfnr_process_user(pCveHandle, pstSrcImage, pstDstRaw,
|
||||
pstAiIspSnrMfnrProcessCtrl);
|
||||
if (s32Ret) {
|
||||
CVE_ERR_LOG("check snr mfnr parameters failed! error:0x%08x\n", s32Ret);
|
||||
@@ -2422,7 +2422,7 @@ int CVE_AIISP_SNR_MFNR_PROCESS(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRa
|
||||
return s32Ret;
|
||||
}
|
||||
|
||||
memcpy(&stOpAiIspSnrMfnrProcess.stSrcRaw, pstSrcRaw, sizeof(CVE_RAW_AIISP_T));
|
||||
memcpy(&stOpAiIspSnrMfnrProcess.stSrcImage, pstSrcImage, sizeof(CVE_IMAGE_T));
|
||||
memcpy(&stOpAiIspSnrMfnrProcess.stDstRaw, pstDstRaw, sizeof(CVE_RAW_AIISP_T));
|
||||
memcpy(&stOpAiIspSnrMfnrProcess.stAiIspSnrMfnrProcessCtrl, pstAiIspSnrMfnrProcessCtrl,
|
||||
sizeof(CVE_AIISP_SNR_MFNR_PROCESS_CTRL_T));
|
||||
|
||||
@@ -179,8 +179,8 @@ int CVE_AIISP_TNR_POST_PROCESS(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRa
|
||||
CVE_DST_IMAGE_T *pstDstImage3,
|
||||
CVE_AIISP_TNR_POST_PROCESS_CTRL_T *pstAiIspTnrPostProcessCtrl,
|
||||
bool bInstant);
|
||||
int CVE_AIISP_SNR_POST_PROCESS(CVE_HANDLE *pCveHandle, CVE_SRC_IMAGE_T *pstSrcImage0,
|
||||
CVE_SRC_IMAGE_T *pstSrcImage1, CVE_SRC_IMAGE_T *pstSrcImage2,
|
||||
int CVE_AIISP_SNR_POST_PROCESS(CVE_HANDLE *pCveHandle, CVE_IMAGE_T *pstSrcImage0,
|
||||
CVE_IMAGE_T *pstSrcImage1, CVE_SRC_IMAGE_T *pstSrcImage2,
|
||||
CVE_RAW_AIISP_T *pstDstRaw,
|
||||
CVE_AIISP_SNR_POST_PROCESS_CTRL_T *pstAiIspSnrPostProcessCtrl,
|
||||
bool bInstant);
|
||||
@@ -188,7 +188,7 @@ int CVE_AIISP_TNR_MFNR_PROCESS(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRa
|
||||
CVE_IMAGE_T *pstDstImage,
|
||||
CVE_AIISP_TNR_MFNR_PROCESS_CTRL_T *pstAiIspTnrMfnrProcessCtrl,
|
||||
bool bInstant);
|
||||
int CVE_AIISP_SNR_MFNR_PROCESS(CVE_HANDLE *pCveHandle, CVE_RAW_AIISP_T *pstSrcRaw,
|
||||
int CVE_AIISP_SNR_MFNR_PROCESS(CVE_HANDLE *pCveHandle, CVE_IMAGE_T *pstSrcImage,
|
||||
CVE_RAW_AIISP_T *pstDstRaw,
|
||||
CVE_AIISP_SNR_MFNR_PROCESS_CTRL_T *pstAiIspSnrMfnrProcessCtrl,
|
||||
bool bInstant);
|
||||
|
||||
@@ -495,6 +495,7 @@ int SAMPLE_COMM_CVE_ReadFile(CVE_IMAGE_T *pstImg, FILE *pFp)
|
||||
pU8 += pstImg->au32Stride[0];
|
||||
}
|
||||
} break;
|
||||
case CVE_IMAGE_TYPE_YVU420SP:
|
||||
case CVE_IMAGE_TYPE_YUV420SP: {
|
||||
pU8 = (U8 *)(UL)pstImg->au64VirAddr[0];
|
||||
for (y = 0; y < height; y++) {
|
||||
@@ -516,6 +517,7 @@ int SAMPLE_COMM_CVE_ReadFile(CVE_IMAGE_T *pstImg, FILE *pFp)
|
||||
pU8 += pstImg->au32Stride[1];
|
||||
}
|
||||
} break;
|
||||
case CVE_IMAGE_TYPE_YVU422SP:
|
||||
case CVE_IMAGE_TYPE_YUV422SP:
|
||||
case CVE_IMAGE_TYPE_S8C2_PLANAR: {
|
||||
pU8 = (U8 *)(UL)pstImg->au64VirAddr[0];
|
||||
@@ -695,6 +697,7 @@ int SAMPLE_COMM_CVE_WriteFile(CVE_IMAGE_T *pstImg, FILE *pFp)
|
||||
pU8 += pstImg->au32Stride[0];
|
||||
}
|
||||
} break;
|
||||
case CVE_IMAGE_TYPE_YVU420SP:
|
||||
case CVE_IMAGE_TYPE_YUV420SP: {
|
||||
pU8 = (U8 *)(UL)pstImg->au64VirAddr[0];
|
||||
for (y = 0; y < height; y++) {
|
||||
@@ -716,6 +719,7 @@ int SAMPLE_COMM_CVE_WriteFile(CVE_IMAGE_T *pstImg, FILE *pFp)
|
||||
pU8 += pstImg->au32Stride[1];
|
||||
}
|
||||
} break;
|
||||
case CVE_IMAGE_TYPE_YVU422SP:
|
||||
case CVE_IMAGE_TYPE_YUV422SP:
|
||||
case CVE_IMAGE_TYPE_S8C2_PLANAR: {
|
||||
pU8 = (U8 *)(UL)pstImg->au64VirAddr[0];
|
||||
|
||||
@@ -10,9 +10,8 @@
|
||||
#include <unistd.h>
|
||||
|
||||
typedef struct {
|
||||
CVE_RAW_AIISP_T stSrcRaw;
|
||||
CVE_IMAGE_T stSrcImage;
|
||||
CVE_RAW_AIISP_T stDstRaw;
|
||||
int enType;
|
||||
CVE_AIISP_SNR_MFNR_PROCESS_CTRL_T stAiIspSnrMfnrProcessCtrl;
|
||||
FILE *pFpSrc;
|
||||
FILE *pFpDst;
|
||||
@@ -32,9 +31,9 @@ static void SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSUnInit(
|
||||
SAMPLE_COMM_CVE_WriteFile_From_AiispRaw(&pstOpAiispSnrMfnrProcessInfo->stDstRaw,
|
||||
pstOpAiispSnrMfnrProcessInfo->pFpDst);
|
||||
|
||||
CVE_PMZ_FREE(pstOpAiispSnrMfnrProcessInfo->stSrcRaw.u64PhyAddr,
|
||||
pstOpAiispSnrMfnrProcessInfo->stSrcRaw.u64VirAddr);
|
||||
CVE_PMZ_FREE(pstOpAiispSnrMfnrProcessInfo->stDstRaw.u64PhyAddr,
|
||||
CVE_PMZ_FREE(pstOpAiispSnrMfnrProcessInfo->stSrcImage.dmafd,
|
||||
pstOpAiispSnrMfnrProcessInfo->stSrcImage.au64VirAddr[0]);
|
||||
CVE_PMZ_FREE(pstOpAiispSnrMfnrProcessInfo->stDstRaw.dmafd,
|
||||
pstOpAiispSnrMfnrProcessInfo->stDstRaw.u64VirAddr);
|
||||
|
||||
CVE_CLOSE_FILE(pstOpAiispSnrMfnrProcessInfo->pFpSrc);
|
||||
@@ -43,51 +42,49 @@ static void SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSUnInit(
|
||||
|
||||
static int SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSInit(
|
||||
SAMPLE_CVE_AIISP_SNR_MFNR_PROCESS_INFO_T *pstOpAiispSnrMfnrProcessInfo,
|
||||
char *pchSrcFileName, char *pchDstFileName, U32 u32Width, U32 u32Height)
|
||||
char *pchSrcFileName, char *pchDstFileName)
|
||||
{
|
||||
int s32Ret = 0;
|
||||
U32 sqrt_val = 4;
|
||||
U32 enType;
|
||||
if (pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.MipiCompactEn == true) {
|
||||
enType = pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u8MipiBit;
|
||||
} else {
|
||||
if (pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u8MipiBit ==
|
||||
CVE_RAW_AIISP_MODE_RAW8) {
|
||||
enType = CVE_RAW_AIISP_MODE_RAW8;
|
||||
} else {
|
||||
enType = CVE_RAW_AIISP_MODE_RAW16;
|
||||
}
|
||||
}
|
||||
pstOpAiispSnrMfnrProcessInfo->enType = enType;
|
||||
|
||||
if (pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u8Channel == 16) {
|
||||
sqrt_val = 4;
|
||||
} else {
|
||||
sqrt_val = 2;
|
||||
}
|
||||
|
||||
memset(&pstOpAiispSnrMfnrProcessInfo->stSrcRaw, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
memset(&pstOpAiispSnrMfnrProcessInfo->stSrcImage, 0, sizeof(CVE_IMAGE_T));
|
||||
memset(&pstOpAiispSnrMfnrProcessInfo->stDstRaw, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
|
||||
CVE_OPEN_FILE(pstOpAiispSnrMfnrProcessInfo->pFpSrc, pchSrcFileName, "r+");
|
||||
CVE_OPEN_FILE(pstOpAiispSnrMfnrProcessInfo->pFpDst, pchDstFileName, "w");
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateAiispRawInfo(&pstOpAiispSnrMfnrProcessInfo->stSrcRaw, enType,
|
||||
u32Width, u32Height);
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispSnrMfnrProcessInfo->stSrcImage, CVE_IMAGE_TYPE_U16C1,
|
||||
pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u16ImgPadW *
|
||||
pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u8Channel,
|
||||
pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u16ImgPadH);
|
||||
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Src Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT1;
|
||||
}
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateAiispRawInfo(&pstOpAiispSnrMfnrProcessInfo->stDstRaw, enType,
|
||||
u32Width / sqrt_val, u32Height * sqrt_val);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Src Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT2;
|
||||
if (pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.MipiCompactEn == true) {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateAiispRawInfo(
|
||||
&pstOpAiispSnrMfnrProcessInfo->stDstRaw,
|
||||
pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u8MipiBit,
|
||||
pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u16ImgW,
|
||||
pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u16ImgH);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Src Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT2;
|
||||
}
|
||||
} else {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateAiispRawInfo(
|
||||
&pstOpAiispSnrMfnrProcessInfo->stDstRaw, CVE_RAW_AIISP_MODE_RAW16,
|
||||
pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u16ImgW,
|
||||
pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl.u16ImgH);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Src Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT2;
|
||||
}
|
||||
}
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile_On_AiispRaw(&pstOpAiispSnrMfnrProcessInfo->stSrcRaw,
|
||||
pstOpAiispSnrMfnrProcessInfo->pFpSrc);
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile(&pstOpAiispSnrMfnrProcessInfo->stSrcImage,
|
||||
pstOpAiispSnrMfnrProcessInfo->pFpSrc);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Read Src Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT3;
|
||||
@@ -98,8 +95,8 @@ CVE_DMA_EXIT3:
|
||||
CVE_PMZ_FREE(pstOpAiispSnrMfnrProcessInfo->stDstRaw.u64PhyAddr,
|
||||
pstOpAiispSnrMfnrProcessInfo->stDstRaw.u64VirAddr);
|
||||
CVE_DMA_EXIT2:
|
||||
CVE_PMZ_FREE(pstOpAiispSnrMfnrProcessInfo->stSrcRaw.u64PhyAddr,
|
||||
pstOpAiispSnrMfnrProcessInfo->stSrcRaw.u64VirAddr);
|
||||
CVE_PMZ_FREE(pstOpAiispSnrMfnrProcessInfo->stSrcImage.au64PhyAddr[0],
|
||||
pstOpAiispSnrMfnrProcessInfo->stSrcImage.au64VirAddr[0]);
|
||||
CVE_DMA_EXIT1:
|
||||
CVE_CLOSE_FILE(pstOpAiispSnrMfnrProcessInfo->pFpSrc);
|
||||
CVE_CLOSE_FILE(pstOpAiispSnrMfnrProcessInfo->pFpDst);
|
||||
@@ -115,10 +112,10 @@ static int SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSProc(
|
||||
CVE_HANDLE cveHandle;
|
||||
int s32Ret = 0;
|
||||
|
||||
s32Ret = CVE_AIISP_SNR_MFNR_PROCESS(&cveHandle, &pstOpAiispSnrMfnrProcessInfo->stSrcRaw,
|
||||
&pstOpAiispSnrMfnrProcessInfo->stDstRaw,
|
||||
&pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl,
|
||||
bInstant);
|
||||
s32Ret = CVE_AIISP_SNR_MFNR_PROCESS(
|
||||
&cveHandle, &pstOpAiispSnrMfnrProcessInfo->stSrcImage,
|
||||
&pstOpAiispSnrMfnrProcessInfo->stDstRaw,
|
||||
&pstOpAiispSnrMfnrProcessInfo->stAiIspSnrMfnrProcessCtrl, bInstant);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("CVE KCF GET FEATURE Proc error\n");
|
||||
return s32Ret;
|
||||
@@ -140,14 +137,6 @@ int SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSCase(U32 u32CaseIndex)
|
||||
int i;
|
||||
U8 u8NoiseLut[16] = {0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00};
|
||||
U32 u32Width = 32768;
|
||||
U32 u32Height = 1536;
|
||||
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.stCrop.enCrop = false;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.stCrop.u16X = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.stCrop.u16Y = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.stCrop.u16Width = 8192;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.stCrop.u16Height = 6144;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8NoiseLut[i] = u8NoiseLut[i];
|
||||
@@ -155,11 +144,17 @@ int SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSCase(U32 u32CaseIndex)
|
||||
switch (u32CaseIndex) {
|
||||
case 0:
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgH = 6144;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgW = 1024;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgPadH = 1536;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgPadW = 256;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleH = 1536;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleW = 256;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgW = 8192;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgH / 4;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgW / 4;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgPadH =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgPadW =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8Channel = 16;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8NcEn = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8NoiseBins = 0xc;
|
||||
@@ -171,8 +166,7 @@ int SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSCase(U32 u32CaseIndex)
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16BlcSnrOut[2] = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16BlcSnrOut[3] = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8MipiBit = CVE_RAW_AIISP_MODE_RAW16;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.MipiCompactEn =
|
||||
true; // true:raw false:image
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.MipiCompactEn = true;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16MfnrBlcOut[0] = 0xf0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16MfnrBlcOut[1] = 0xf0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16MfnrBlcOut[2] = 0xf0;
|
||||
@@ -180,6 +174,38 @@ int SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSCase(U32 u32CaseIndex)
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8DataBitMode =
|
||||
CVE_AIISP_MFNR_OUT_16BIT_BIT_MODE;
|
||||
break;
|
||||
case 1:
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgH = 6144;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgW = 8192;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgH / 2;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgW / 2;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgPadH =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgPadW =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8Channel = 4;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8NcEn = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8NoiseBins = 0xc;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8NoiseStep = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8SnrDequantScale = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16SnrDequantOffset = 0x2000;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16BlcSnrOut[0] = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16BlcSnrOut[1] = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16BlcSnrOut[2] = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16BlcSnrOut[3] = 0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8MipiBit = CVE_RAW_AIISP_MODE_RAW10;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.MipiCompactEn = true;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16MfnrBlcOut[0] = 0x0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16MfnrBlcOut[1] = 0x0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16MfnrBlcOut[2] = 0x0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u16MfnrBlcOut[3] = 0x0;
|
||||
stOpAiispSnrMfnrProcessInfo.stAiIspSnrMfnrProcessCtrl.u8DataBitMode =
|
||||
CVE_AIISP_MFNR_OUT_16BIT_BIT_MODE;
|
||||
break;
|
||||
default:
|
||||
printf("the Aiisp Snr Mfnr case index is invalid! valid index:\n");
|
||||
SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSCaseList();
|
||||
@@ -189,8 +215,8 @@ int SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSCase(U32 u32CaseIndex)
|
||||
SAMPLE_COMM_CVE_Input_FileName(pFpSrcName, sizeof(pFpSrcName), SrcName);
|
||||
printf("src file name:%s\n", pFpSrcName);
|
||||
printf("dst file name:%s\n", pFpDstName);
|
||||
s32Ret = SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSInit(&stOpAiispSnrMfnrProcessInfo, pFpSrcName,
|
||||
pFpDstName, u32Width, u32Height);
|
||||
s32Ret =
|
||||
SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSInit(&stOpAiispSnrMfnrProcessInfo, pFpSrcName, pFpDstName);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] SAMPLE_CVE_AIISP_SNR_MFNR_PROCESSInit failed!\n", s32Ret);
|
||||
return s32Ret;
|
||||
|
||||
@@ -42,7 +42,7 @@ static void SAMPLE_CVE_AIISP_SNR_POST_PROCESSUnInit(
|
||||
pstOpAiispSnrPostProcessInfo->stSrcImage1.au64VirAddr[0]);
|
||||
CVE_PMZ_FREE(pstOpAiispSnrPostProcessInfo->stSrcImage2.dmafd,
|
||||
pstOpAiispSnrPostProcessInfo->stSrcImage2.au64VirAddr[0]);
|
||||
CVE_PMZ_FREE(pstOpAiispSnrPostProcessInfo->stDstRaw.u64PhyAddr,
|
||||
CVE_PMZ_FREE(pstOpAiispSnrPostProcessInfo->stDstRaw.dmafd,
|
||||
pstOpAiispSnrPostProcessInfo->stDstRaw.u64VirAddr);
|
||||
|
||||
CVE_CLOSE_FILE(pstOpAiispSnrPostProcessInfo->pFpSrc0);
|
||||
@@ -56,13 +56,6 @@ static int SAMPLE_CVE_AIISP_SNR_POST_PROCESSInit(
|
||||
char *pchSrcFileName1, char *pchSrcFileName2, char *pchDstFileName)
|
||||
{
|
||||
int s32Ret = 0;
|
||||
U32 sqrt_val = 4;
|
||||
|
||||
if (pstOpAiispSnrPostProcessInfo->stAiIspSnrPostProcessCtrl.u8Channel == 16) {
|
||||
sqrt_val = 4;
|
||||
} else {
|
||||
sqrt_val = 2;
|
||||
}
|
||||
|
||||
memset(&pstOpAiispSnrPostProcessInfo->stDstRaw, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
memset(&pstOpAiispSnrPostProcessInfo->stSrcImage0, 0, sizeof(CVE_SRC_IMAGE_T));
|
||||
@@ -94,17 +87,10 @@ static int SAMPLE_CVE_AIISP_SNR_POST_PROCESSInit(
|
||||
goto CVE_DMA_EXIT2;
|
||||
}
|
||||
|
||||
if (pstOpAiispSnrPostProcessInfo->stAiIspSnrPostProcessCtrl.u8Channel == 16) {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispSnrPostProcessInfo->stSrcImage2, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispSnrPostProcessInfo->stAiIspSnrPostProcessCtrl.u16ImgPadW * sqrt_val + 17,
|
||||
pstOpAiispSnrPostProcessInfo->stAiIspSnrPostProcessCtrl.u16ImgPadH);
|
||||
} else {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispSnrPostProcessInfo->stSrcImage2, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispSnrPostProcessInfo->stAiIspSnrPostProcessCtrl.u16ImgPadW + 9,
|
||||
pstOpAiispSnrPostProcessInfo->stAiIspSnrPostProcessCtrl.u16ImgPadH);
|
||||
}
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispSnrPostProcessInfo->stSrcImage2, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispSnrPostProcessInfo->stAiIspSnrPostProcessCtrl.u16ImgW / 2 + 4,
|
||||
pstOpAiispSnrPostProcessInfo->stAiIspSnrPostProcessCtrl.u16ImgH / 2);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Src Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT3;
|
||||
@@ -216,10 +202,16 @@ int SAMPLE_CVE_AIISP_SNR_POST_PROCESSCase(U32 u32CaseIndex)
|
||||
case 0:
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgH = 1080;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgW = 1920;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgPadH = 272;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgPadW = 480;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleH = 270;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleW = 480;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgH / 4;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgW / 4;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgPadH =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgPadW =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u8Channel = 16;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16BlcSnrOut[0] = 240;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16BlcSnrOut[1] = 240;
|
||||
@@ -230,10 +222,16 @@ int SAMPLE_CVE_AIISP_SNR_POST_PROCESSCase(U32 u32CaseIndex)
|
||||
case 1:
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgH = 720;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgW = 1280;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgPadH = 360;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgPadW = 640;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleH = 360;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleW = 640;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgH / 2;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgW / 2;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgPadH =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgPadW =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u8Channel = 4;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16BlcSnrOut[0] = 238;
|
||||
stOpAiispSnrPostProcessInfo.stAiIspSnrPostProcessCtrl.u16BlcSnrOut[1] = 238;
|
||||
|
||||
@@ -13,8 +13,6 @@ typedef struct {
|
||||
CVE_RAW_AIISP_T stSrcRaw;
|
||||
CVE_IMAGE_T stDstImage;
|
||||
CVE_AIISP_TNR_MFNR_PROCESS_CTRL_T stAiIspTnrMfnrProcessCtrl;
|
||||
U32 sqrt_val;
|
||||
U32 enType;
|
||||
FILE *pFpSrc;
|
||||
FILE *pFpDst;
|
||||
} SAMPLE_CVE_AIISP_TNR_MFNR_PROCESS_INFO_T;
|
||||
@@ -33,9 +31,9 @@ static void SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSUnInit(
|
||||
SAMPLE_COMM_CVE_WriteFile(&stAiIspTnrMfnrProcessCtrl->stDstImage,
|
||||
stAiIspTnrMfnrProcessCtrl->pFpDst);
|
||||
|
||||
CVE_PMZ_FREE(stAiIspTnrMfnrProcessCtrl->stSrcRaw.u64PhyAddr,
|
||||
CVE_PMZ_FREE(stAiIspTnrMfnrProcessCtrl->stSrcRaw.dmafd,
|
||||
stAiIspTnrMfnrProcessCtrl->stSrcRaw.u64VirAddr);
|
||||
CVE_PMZ_FREE(stAiIspTnrMfnrProcessCtrl->stDstImage.au64PhyAddr[0],
|
||||
CVE_PMZ_FREE(stAiIspTnrMfnrProcessCtrl->stDstImage.dmafd,
|
||||
stAiIspTnrMfnrProcessCtrl->stDstImage.au64VirAddr[0]);
|
||||
|
||||
CVE_CLOSE_FILE(stAiIspTnrMfnrProcessCtrl->pFpSrc);
|
||||
@@ -43,55 +41,48 @@ static void SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSUnInit(
|
||||
}
|
||||
|
||||
static int SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSInit(
|
||||
SAMPLE_CVE_AIISP_TNR_MFNR_PROCESS_INFO_T *stAiIspTnrMfnrProcessCtrl, char *pchSrcFileName,
|
||||
char *pchDstFileName, U32 u32Width, U32 u32Height)
|
||||
SAMPLE_CVE_AIISP_TNR_MFNR_PROCESS_INFO_T *pstAiIspTnrMfnrProcessInfo, char *pchSrcFileName,
|
||||
char *pchDstFileName)
|
||||
{
|
||||
int s32Ret = 0;
|
||||
U32 sqrt_val = 4;
|
||||
U32 enType;
|
||||
|
||||
if (stAiIspTnrMfnrProcessCtrl->stAiIspTnrMfnrProcessCtrl.MipiCompactEn == true) {
|
||||
enType = stAiIspTnrMfnrProcessCtrl->stAiIspTnrMfnrProcessCtrl.u8MipiBit;
|
||||
memset(&pstAiIspTnrMfnrProcessInfo->stSrcRaw, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
memset(&pstAiIspTnrMfnrProcessInfo->stDstImage, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
|
||||
CVE_OPEN_FILE(pstAiIspTnrMfnrProcessInfo->pFpSrc, pchSrcFileName, "r+");
|
||||
CVE_OPEN_FILE(pstAiIspTnrMfnrProcessInfo->pFpDst, pchDstFileName, "w");
|
||||
|
||||
if (pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.MipiCompactEn == true) {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateAiispRawInfo(
|
||||
&pstAiIspTnrMfnrProcessInfo->stSrcRaw,
|
||||
pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.u8MipiBit,
|
||||
pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.u16ImgW,
|
||||
pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.u16ImgH);
|
||||
} else {
|
||||
if (stAiIspTnrMfnrProcessCtrl->stAiIspTnrMfnrProcessCtrl.u8MipiBit ==
|
||||
CVE_RAW_AIISP_MODE_RAW8) {
|
||||
enType = CVE_RAW_AIISP_MODE_RAW8;
|
||||
} else {
|
||||
enType = CVE_RAW_AIISP_MODE_RAW16;
|
||||
}
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateAiispRawInfo(
|
||||
&pstAiIspTnrMfnrProcessInfo->stSrcRaw, CVE_RAW_AIISP_MODE_RAW16,
|
||||
pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.u16ImgW,
|
||||
pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.u16ImgH);
|
||||
}
|
||||
stAiIspTnrMfnrProcessCtrl->enType = enType;
|
||||
|
||||
if (stAiIspTnrMfnrProcessCtrl->stAiIspTnrMfnrProcessCtrl.u8Channel == 16) {
|
||||
sqrt_val = 4;
|
||||
} else {
|
||||
sqrt_val = 2;
|
||||
}
|
||||
stAiIspTnrMfnrProcessCtrl->sqrt_val = sqrt_val;
|
||||
|
||||
memset(&stAiIspTnrMfnrProcessCtrl->stSrcRaw, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
memset(&stAiIspTnrMfnrProcessCtrl->stDstImage, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
|
||||
CVE_OPEN_FILE(stAiIspTnrMfnrProcessCtrl->pFpSrc, pchSrcFileName, "r+");
|
||||
CVE_OPEN_FILE(stAiIspTnrMfnrProcessCtrl->pFpDst, pchDstFileName, "w");
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateAiispRawInfo(&stAiIspTnrMfnrProcessCtrl->stSrcRaw, enType,
|
||||
u32Width, u32Height);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Src Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT1;
|
||||
}
|
||||
|
||||
s32Ret =
|
||||
SAMPLE_COMM_CVE_CreateImage(&stAiIspTnrMfnrProcessCtrl->stDstImage, CVE_IMAGE_TYPE_U16C1,
|
||||
u32Width * sqrt_val, u32Height / sqrt_val);
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstAiIspTnrMfnrProcessInfo->stDstImage, CVE_IMAGE_TYPE_U16C1,
|
||||
pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.u16ImgPadW *
|
||||
pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.u8Channel,
|
||||
pstAiIspTnrMfnrProcessInfo->stAiIspTnrMfnrProcessCtrl.u16ImgPadH);
|
||||
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT2;
|
||||
}
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile_On_AiispRaw(&stAiIspTnrMfnrProcessCtrl->stSrcRaw,
|
||||
stAiIspTnrMfnrProcessCtrl->pFpSrc);
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile_On_AiispRaw(&pstAiIspTnrMfnrProcessInfo->stSrcRaw,
|
||||
pstAiIspTnrMfnrProcessInfo->pFpSrc);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Read Src Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT3;
|
||||
@@ -99,20 +90,20 @@ static int SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSInit(
|
||||
|
||||
goto CVE_DMA_EXIT0;
|
||||
CVE_DMA_EXIT3:
|
||||
CVE_PMZ_FREE(stAiIspTnrMfnrProcessCtrl->stDstImage.au64PhyAddr[0],
|
||||
stAiIspTnrMfnrProcessCtrl->stDstImage.au64VirAddr[0]);
|
||||
CVE_PMZ_FREE(pstAiIspTnrMfnrProcessInfo->stDstImage.dmafd,
|
||||
pstAiIspTnrMfnrProcessInfo->stDstImage.au64VirAddr[0]);
|
||||
CVE_DMA_EXIT2:
|
||||
CVE_PMZ_FREE(stAiIspTnrMfnrProcessCtrl->stSrcRaw.u64PhyAddr,
|
||||
stAiIspTnrMfnrProcessCtrl->stSrcRaw.u64VirAddr);
|
||||
CVE_PMZ_FREE(pstAiIspTnrMfnrProcessInfo->stSrcRaw.dmafd,
|
||||
pstAiIspTnrMfnrProcessInfo->stSrcRaw.u64VirAddr);
|
||||
CVE_DMA_EXIT1:
|
||||
CVE_CLOSE_FILE(stAiIspTnrMfnrProcessCtrl->pFpSrc);
|
||||
CVE_CLOSE_FILE(stAiIspTnrMfnrProcessCtrl->pFpDst);
|
||||
CVE_CLOSE_FILE(pstAiIspTnrMfnrProcessInfo->pFpSrc);
|
||||
CVE_CLOSE_FILE(pstAiIspTnrMfnrProcessInfo->pFpDst);
|
||||
CVE_DMA_EXIT0:
|
||||
return s32Ret;
|
||||
}
|
||||
|
||||
static int SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSProc(
|
||||
SAMPLE_CVE_AIISP_TNR_MFNR_PROCESS_INFO_T *pstOpAiispTnrMfnrProcessInfo, U32 u32Width)
|
||||
SAMPLE_CVE_AIISP_TNR_MFNR_PROCESS_INFO_T *pstOpAiispTnrMfnrProcessInfo)
|
||||
{
|
||||
bool bInstant = false;
|
||||
bool bFinish = false;
|
||||
@@ -141,23 +132,22 @@ int SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSCase(U32 u32CaseIndex)
|
||||
char *SrcName = "/data/cve/op51-aiisp-tnr-mfnr-process/input/frame_0_src_0.bin";
|
||||
char pFpSrcName[96] = {0};
|
||||
char *pFpDstName = "/data/cve/op51-aiisp-tnr-mfnr-process/output/frame_0_dst_0.bin";
|
||||
U32 u32Width = 8192;
|
||||
U32 u32Height = 6144;
|
||||
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.stCrop.enCrop = true;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.stCrop.u16X = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.stCrop.u16Y = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.stCrop.u16Width = 1024;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.stCrop.u16Height = 6144;
|
||||
switch (u32CaseIndex) {
|
||||
case 0:
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgH = 6144;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgW = 1024;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgW = 8192;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8Channel = 16;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleH = 1536;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleW = 256;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgPadH = 1536;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgPadW = 256;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgH / 4;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgW / 4;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgPadH =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgPadW =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MipiBit = CVE_RAW_AIISP_MODE_RAW12;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.MipiCompactEn = true;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u0q16DiffScale = 0;
|
||||
@@ -193,6 +183,55 @@ int SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSCase(U32 u32CaseIndex)
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.IsShortFrame = false;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u4q6ExpRatio = 0x60;
|
||||
break;
|
||||
case 1:
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgH = 6144;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgW = 8192;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8Channel = 4;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgH / 2;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgW / 2;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgPadH =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgPadW =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MipiBit = CVE_RAW_AIISP_MODE_RAW10;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.MipiCompactEn = true;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u0q16DiffScale = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8DiffOffset = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[0] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[1] = 1;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[2] = 2;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[3] = 3;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[4] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[5] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[6] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[7] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[8] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[9] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[10] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[11] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[12] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[13] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[14] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8IdxLut16[15] = 0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MfnrBlcIn0[0] = 0x0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MfnrBlcIn0[1] = 0x0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MfnrBlcIn0[2] = 0x0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MfnrBlcIn0[3] = 0x0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MfnrBlcIn1[0] = 0x0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MfnrBlcIn1[1] = 0x0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MfnrBlcIn1[2] = 0x0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8MfnrBlcIn1[3] = 0x0;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u8DataBitMode =
|
||||
CVE_AIISP_MFNR_OUT_12BIT_BIT_RIGHT_SHIFT_4BIT_MODE;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.DgainEn = false;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u6q6Dgain = 1;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.IsShortFrame = false;
|
||||
stOpAiispTnrMfnrProcessInfo.stAiIspTnrMfnrProcessCtrl.u4q6ExpRatio = 0x60;
|
||||
break;
|
||||
default:
|
||||
printf("the Aiisp Tnr Pre case index is invalid! valid index:\n");
|
||||
SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSCaseList();
|
||||
@@ -203,13 +242,13 @@ int SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSCase(U32 u32CaseIndex)
|
||||
printf("src file name:%s\n", pFpSrcName);
|
||||
printf("dst file name:%s\n", pFpDstName);
|
||||
s32Ret = SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSInit(&stOpAiispTnrMfnrProcessInfo, pFpSrcName,
|
||||
pFpDstName, u32Width, u32Height);
|
||||
pFpDstName);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSInit failed!\n", s32Ret);
|
||||
return s32Ret;
|
||||
}
|
||||
|
||||
s32Ret = SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSProc(&stOpAiispTnrMfnrProcessInfo, u32Width);
|
||||
s32Ret = SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSProc(&stOpAiispTnrMfnrProcessInfo);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] SAMPLE_CVE_AIISP_TNR_MFNR_PROCESSProc failed!\n", s32Ret);
|
||||
}
|
||||
|
||||
@@ -84,12 +84,6 @@ static int SAMPLE_CVE_AIISP_TNR_POST_PROCESSInit(
|
||||
char *pchDstFileName1, char *pchDstFileName2, char *pchDstFileName3)
|
||||
{
|
||||
int s32Ret = 0;
|
||||
U32 sqrt_val = 4;
|
||||
if (pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u8Channel == 16) {
|
||||
sqrt_val = 4;
|
||||
} else {
|
||||
sqrt_val = 1;
|
||||
}
|
||||
|
||||
memset(&pstOpAiispTnrPostProcessInfo->stSrcRaw0, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
memset(&pstOpAiispTnrPostProcessInfo->stSrcRaw0, 0, sizeof(CVE_RAW_AIISP_T));
|
||||
@@ -131,20 +125,32 @@ static int SAMPLE_CVE_AIISP_TNR_POST_PROCESSInit(
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispTnrPostProcessInfo->stSrcImage2, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgShuffleW * sqrt_val,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgShuffleH);
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgW / 2,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgH / 2);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT3;
|
||||
}
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispTnrPostProcessInfo->stSrcImage3, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgPadW * sqrt_val,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgPadH);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT4;
|
||||
if (pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u8Channel == 16) {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispTnrPostProcessInfo->stSrcImage3, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgPadW / 2 *
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u8Channel,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgPadH / 2);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT4;
|
||||
}
|
||||
} else {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispTnrPostProcessInfo->stSrcImage3, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgPadW,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgPadH);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT4;
|
||||
}
|
||||
}
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
@@ -169,16 +175,16 @@ static int SAMPLE_CVE_AIISP_TNR_POST_PROCESSInit(
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispTnrPostProcessInfo->stDstImage2, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgShuffleW * sqrt_val,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgShuffleH);
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgW / 2,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgH / 2);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT7;
|
||||
}
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(
|
||||
&pstOpAiispTnrPostProcessInfo->stDstImage3, CVE_IMAGE_TYPE_U8C1,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgShuffleW * sqrt_val,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgShuffleH);
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgW / 2,
|
||||
pstOpAiispTnrPostProcessInfo->stAiIspTnrPostProcessCtrl.u16ImgH / 2);
|
||||
if (s32Ret != 0) {
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_DMA_EXIT7;
|
||||
@@ -300,11 +306,6 @@ int SAMPLE_CVE_AIISP_TNR_POST_PROCESSCase(U32 u32CaseIndex)
|
||||
int i;
|
||||
|
||||
memset(&stOpAiispTnrPostProcessInfo, 0, sizeof(stOpAiispTnrPostProcessInfo));
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.stCrop.enCrop = false;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.stCrop.u16X = 0;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.stCrop.u16Y = 0;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.stCrop.u16Width = 1280;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.stCrop.u16Height = 720;
|
||||
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u8MipiBit = CVE_RAW_AIISP_MODE_RAW16;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.MipiCompactEn = false;
|
||||
@@ -330,10 +331,16 @@ int SAMPLE_CVE_AIISP_TNR_POST_PROCESSCase(U32 u32CaseIndex)
|
||||
case 0:
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgH = 1080;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgW = 1920;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgPadH = 272;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgPadW = 480;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleH = 270;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleW = 480;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgH / 4;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgW / 4;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgPadH =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgPadW =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u8Channel = 16;
|
||||
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u8MaskThr = 81;
|
||||
@@ -347,14 +354,18 @@ int SAMPLE_CVE_AIISP_TNR_POST_PROCESSCase(U32 u32CaseIndex)
|
||||
case 1:
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgH = 720;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgW = 1280;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgPadH = 360;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgPadW = 640;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleH = 360;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleW = 640;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgH / 2;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgW / 2;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgPadH =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgPadW =
|
||||
SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u8Channel = 4;
|
||||
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u8MaskThr = 112;
|
||||
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u8MaskChannel = 1;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16BlcSnrIn[0] = 238;
|
||||
stOpAiispTnrPostProcessInfo.stAiIspTnrPostProcessCtrl.u16BlcSnrIn[1] = 238;
|
||||
|
||||
@@ -154,20 +154,19 @@ int SAMPLE_CVE_AIISP_TNR_PRE_PROCESSCase(U32 u32CaseIndex)
|
||||
char pFpSrcName1[96] = {0};
|
||||
char *pFpDstName = "/data/cve/op51-aiisp-tnr-pre-process/output/frame_0_dst_0.bin";
|
||||
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.stCrop.enCrop = false;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.stCrop.u16X = 0;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.stCrop.u16Y = 0;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.stCrop.u16Width = 300 * 3;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.stCrop.u16Height = 200;
|
||||
switch (u32CaseIndex) {
|
||||
case 0:
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgH = 1080;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgW = 1920;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u8Channel = 16;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleH = 270;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleW = 480;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgPadH = 272;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgPadW = 480;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgH / 4;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgW / 4;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgPadH = SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgPadW = SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u8MipiBit = CVE_RAW_AIISP_MODE_RAW16;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.MipiCompactEn = false;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u0q16DiffScale = 64;
|
||||
@@ -193,10 +192,14 @@ int SAMPLE_CVE_AIISP_TNR_PRE_PROCESSCase(U32 u32CaseIndex)
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgH = 720;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgW = 1280;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u8Channel = 4;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleH = 360;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleW = 640;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgPadH = 360;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgPadW = 640;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleH =
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgH / 2;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleW =
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgW / 2;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgPadH = SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleH, 8);
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgPadW = SAMPLE_COMM_CVE_CalcStride(
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u16ImgShuffleW, 8);
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u8MipiBit = CVE_RAW_AIISP_MODE_RAW16;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.MipiCompactEn = false;
|
||||
stOpAiispTnrPreProcessInfo.stAiIspTnrPreProcessCtrl.u0q16DiffScale = 2399;
|
||||
|
||||
@@ -104,7 +104,7 @@ static int SAMPLE_CVE_AluInit(SAMPLE_CVE_ALU_INFO_T *pstAluInfo, U32 u32Width, U
|
||||
goto CVE_ALU_EXIT2;
|
||||
}
|
||||
|
||||
if (pstAluInfo->stDotCtrl.stCrop.enCrop == true) {
|
||||
if (pstAluInfo->stDotCtrl.stCrop.enCrop == true && pstAluInfo->enOp == true) {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(&pstAluInfo->stDst, enDstImageType,
|
||||
pstAluInfo->stDotCtrl.stCrop.u16Width,
|
||||
pstAluInfo->stDotCtrl.stCrop.u16Height);
|
||||
|
||||
@@ -98,6 +98,8 @@ static int SAMPLE_CVE_CannyHysEdgeInit(SAMPLE_CVE_CANNY_HYS_EDGE_INFO_T *pstCann
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_CANNY_HYS_EDGE_EXIT2;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstCannyHysEdgeInfo->stEdge.au64VirAddr[0], 0,
|
||||
u32Width * u32Height);
|
||||
pstCannyHysEdgeInfo->stEdge.u32Height = pstCannyHysEdgeInfo->stEdge.u32Height - 1;
|
||||
pstCannyHysEdgeInfo->stCannyHysEdgeCtrl.u32CannyCount =
|
||||
(U32 *)(uintptr_t)(pstCannyHysEdgeInfo->stEdge.au64VirAddr[0] +
|
||||
@@ -110,6 +112,7 @@ static int SAMPLE_CVE_CannyHysEdgeInit(SAMPLE_CVE_CANNY_HYS_EDGE_INFO_T *pstCann
|
||||
TEST_PRT("[ERROR][%x] Create Dst Mem failed!\n", s32Ret);
|
||||
goto CVE_CANNY_HYS_EDGE_EXIT3;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstCannyHysEdgeInfo->stStack.u64VirAddr, 0, u32Size);
|
||||
|
||||
u32Size = pstCannyHysEdgeInfo->stSrc.au32Stride[0] * pstCannyHysEdgeInfo->stSrc.u32Height * 4;
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateMemInfo(&pstCannyHysEdgeInfo->stCannyHysEdgeCtrl.stMem, u32Size);
|
||||
@@ -117,6 +120,8 @@ static int SAMPLE_CVE_CannyHysEdgeInit(SAMPLE_CVE_CANNY_HYS_EDGE_INFO_T *pstCann
|
||||
TEST_PRT("[ERROR][%x] Create Dst Mem failed!\n", s32Ret);
|
||||
goto CVE_CANNY_HYS_EDGE_EXIT4;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstCannyHysEdgeInfo->stCannyHysEdgeCtrl.stMem.u64VirAddr, 0,
|
||||
u32Size);
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile(&pstCannyHysEdgeInfo->stSrc, pstCannyHysEdgeInfo->pFpSrc);
|
||||
if (s32Ret != 0) {
|
||||
|
||||
@@ -75,6 +75,7 @@ static int SAMPLE_CVE_CclInit(SAMPLE_CVE_CCL_INFO_T *pstCclInfo, U32 u32Width, U
|
||||
TEST_PRT("[ERROR][%x] Create Src Image failed!\n", s32Ret);
|
||||
goto CVE_CCL_EXIT2;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstCclInfo->stDst.au64VirAddr[0], 0, u32Width * u32Height * 2);
|
||||
|
||||
size = sizeof(CVE_CCBLOB_T);
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateMemInfo(&pstCclInfo->stBlob, size);
|
||||
@@ -82,6 +83,7 @@ static int SAMPLE_CVE_CclInit(SAMPLE_CVE_CCL_INFO_T *pstCclInfo, U32 u32Width, U
|
||||
TEST_PRT("[ERROR][%x] Create Dst Mem failed!\n", s32Ret);
|
||||
goto CVE_CCL_EXIT3;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstCclInfo->stBlob.u64VirAddr, 0, size);
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile(&pstCclInfo->stSrc, pstCclInfo->pFpSrc);
|
||||
if (s32Ret != 0) {
|
||||
|
||||
@@ -42,6 +42,7 @@ void SAMPLE_CVE_ErodeDilateCaseList(void)
|
||||
printf("\t\t 1) OP:Erode FT:1.\n");
|
||||
printf("\t\t 2) OP:Dilate FT:0.\n");
|
||||
printf("\t\t 3) OP:Dilate FT:1.\n");
|
||||
printf("\t\t 4) OP:Bernsen 5X5.\n");
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -111,7 +112,7 @@ static int SAMPLE_CVE_ErodeDilateInit(SAMPLE_CVE_ERODE_DILATE_INFO_T *pstErodeDi
|
||||
goto CVE_ERODE_DILATE_EXIT1;
|
||||
}
|
||||
|
||||
if (pstErodeDilateInfo->stBernsenCtrl.stCrop.enCrop == true) {
|
||||
if (pstErodeDilateInfo->stBernsenCtrl.stCrop.enCrop == true && enOp == CVE_OP_BERNSEN) {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(&pstErodeDilateInfo->stDst, CVE_IMAGE_TYPE_U8C1,
|
||||
pstErodeDilateInfo->stBernsenCtrl.stCrop.u16Width,
|
||||
pstErodeDilateInfo->stBernsenCtrl.stCrop.u16Height);
|
||||
|
||||
@@ -68,6 +68,7 @@ static void SAMPLE_CVE_GmmUninit(SAMPLE_CVE_GMM_INFO_T *pstGmmInfo)
|
||||
CVE_CLOSE_FILE(pstGmmInfo->pFpSrc2);
|
||||
CVE_CLOSE_FILE(pstGmmInfo->pFpDstFg);
|
||||
CVE_CLOSE_FILE(pstGmmInfo->pFpDstBg);
|
||||
CVE_CLOSE_FILE(pstGmmInfo->pFpDstMemPrev);
|
||||
CVE_CLOSE_FILE(pstGmmInfo->pFpDstMem);
|
||||
}
|
||||
|
||||
@@ -131,6 +132,8 @@ static int SAMPLE_CVE_GmmInit(SAMPLE_CVE_GMM_INFO_T *pstGmmInfo, CVE_IMAGE_TYPE_
|
||||
TEST_PRT("[ERROR][%x] Create Src Image failed!\n", s32Ret);
|
||||
goto CVE_GMM_EXIT2;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstGmmInfo->stFactor.au64VirAddr[0], 0,
|
||||
pstGmmInfo->stFactor.au32Stride[0] * (u32Height >> enDownScaleMode) * 2);
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(&pstGmmInfo->stFg, CVE_IMAGE_TYPE_U8C1,
|
||||
u32Width >> enDownScaleMode, u32Height >> enDownScaleMode);
|
||||
@@ -138,6 +141,8 @@ static int SAMPLE_CVE_GmmInit(SAMPLE_CVE_GMM_INFO_T *pstGmmInfo, CVE_IMAGE_TYPE_
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_GMM_EXIT3;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstGmmInfo->stFg.au64VirAddr[0], 0,
|
||||
pstGmmInfo->stFg.au32Stride[0] * (u32Height >> enDownScaleMode));
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(&pstGmmInfo->stBg, enSrcType, u32Width >> enDownScaleMode,
|
||||
u32Height >> enDownScaleMode);
|
||||
@@ -145,6 +150,8 @@ static int SAMPLE_CVE_GmmInit(SAMPLE_CVE_GMM_INFO_T *pstGmmInfo, CVE_IMAGE_TYPE_
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_GMM_EXIT4;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstGmmInfo->stBg.au64VirAddr[0], 0,
|
||||
pstGmmInfo->stBg.au32Stride[0] * (u32Height >> enDownScaleMode) * channel_num);
|
||||
|
||||
u32DstSize = (u32Width >> enDownScaleMode) * (2 + modelnum * (4 + 2 * channel_num)) *
|
||||
(u32Height >> enDownScaleMode);
|
||||
@@ -153,6 +160,7 @@ static int SAMPLE_CVE_GmmInit(SAMPLE_CVE_GMM_INFO_T *pstGmmInfo, CVE_IMAGE_TYPE_
|
||||
TEST_PRT("[ERROR][%x] Create Dst Mem failed!\n", s32Ret);
|
||||
goto CVE_GMM_EXIT5;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstGmmInfo->stModel.u64VirAddr, 0, u32DstSize);
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile(&pstGmmInfo->stSrc, pstGmmInfo->pFpSrc1);
|
||||
if (s32Ret != 0) {
|
||||
|
||||
@@ -65,6 +65,7 @@ static int SAMPLE_CVE_LbpInit(SAMPLE_CVE_LBP_INFO_T *pstLbpInfo, U32 u32Width, U
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_LBP_EXIT2;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstLbpInfo->stDst.au64VirAddr[0], 0, u32Width * u32Height);
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile(&pstLbpInfo->stSrc, pstLbpInfo->pFpSrc);
|
||||
if (s32Ret != 0) {
|
||||
|
||||
@@ -106,6 +106,8 @@ static int SAMPLE_CVE_MagAngInit(SAMPLE_CVE_MAG_ANG_INFO_T *pstMagAngInfo, U32 u
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_MagAng_EXIT3;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstMagAngInfo->stDstAng.au64VirAddr[0], 0,
|
||||
u32Width * u32Height);
|
||||
} else if (enOutCtrl == CVE_MAG_AND_ANG_OUT_CTRL_HOG) {
|
||||
s32Ret = SAMPLE_COMM_CVE_CreateImage(&pstMagAngInfo->stDstAng, CVE_IMAGE_TYPE_U16C1,
|
||||
u32Width, u32Height);
|
||||
@@ -113,6 +115,8 @@ static int SAMPLE_CVE_MagAngInit(SAMPLE_CVE_MAG_ANG_INFO_T *pstMagAngInfo, U32 u
|
||||
TEST_PRT("[ERROR][%x] Create Dst Image failed!\n", s32Ret);
|
||||
goto CVE_MagAng_EXIT3;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstMagAngInfo->stDstAng.au64VirAddr[0], 0,
|
||||
u32Width * u32Height * 2);
|
||||
}
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile(&pstMagAngInfo->stSrc, pstMagAngInfo->pFpSrc);
|
||||
|
||||
@@ -78,6 +78,7 @@ static int SAMPLE_CVE_NccInit(SAMPLE_CVE_NCC_INFO_T *pstNccInfo, U32 u32Width, U
|
||||
TEST_PRT("[ERROR][%x] Create Dst Mem failed!\n", s32Ret);
|
||||
goto CVE_NCC_EXIT3;
|
||||
}
|
||||
memset((void *)(uintptr_t)pstNccInfo->stDst.u64VirAddr, 0, sizeof(CVE_NCC_DST_MEM_T));
|
||||
|
||||
s32Ret = SAMPLE_COMM_CVE_ReadFile(&pstNccInfo->stSrc1, pstNccInfo->pFpSrc1);
|
||||
if (s32Ret != 0) {
|
||||
|
||||
@@ -56,7 +56,6 @@ static int SAMPLE_CVE_ReadFile(CVE_IMAGE_T *pstImg, FILE *pFp, U8 UvEn)
|
||||
|
||||
height = pstImg->u32Height;
|
||||
width = pstImg->u32Width;
|
||||
// width = pstImg->au32Stride[0];
|
||||
|
||||
switch (pstImg->enType) {
|
||||
case CVE_IMAGE_TYPE_U8C1:
|
||||
|
||||
Reference in New Issue
Block a user