开发笔记 | 编译报错 | error: expected identifier or ‘(‘ before ‘return‘
  L3stiK0rSQ5z 2023年11月02日 42 0


开发笔记 | 编译报错 | error: expected identifier or ‘(‘ before ‘return‘_#endif


开发笔记 | 编译报错 | error: expected identifier or ‘(‘ before ‘return‘_#if_02

INT32 PipView_OnDraw_3sensor(APPDISP_VIEW_DRAW *pDraw) //PIP = Picture In Picture
{
	IRECT            dst_region;
    UINT32 uiMovieSize;

    #if (DUALCAM_PIP_BEHIND_FLIP)
    IPOINT  dstLocation;
    #endif

    uiMovieSize = SysGetFlag(FL_MOVIE_SIZE);

    //DBG_ERR("UI_GetData(FL_DUAL_CAM) = %d\r\n",UI_GetData(FL_DUAL_CAM));
	if (pDraw->viewcnt == 3){

		if(UI_GetData(FL_DUAL_CAM) == DUALCAM_BOTH){
			if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img1 - big
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = pDraw->p_dst_img->Width;
			dst_region.h = pDraw->p_dst_img->Height;
			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}

			// img2 - small
            if (GetMovieRecType_2p(uiMovieSize) == MOVIE_REC_TYPE_DUAL)
            {
    			dst_region.x = 0;
    			dst_region.y = 40;
    			dst_region.w = pDraw->p_dst_img->Width/3;
    			dst_region.h = pDraw->p_dst_img->Height/3;

                //CHKPNT;
    			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}
            }

			// img3 - small
			dst_region.x = pDraw->p_dst_img->Width - pDraw->p_dst_img->Width/3;
			dst_region.y = 40;
			dst_region.w = pDraw->p_dst_img->Width/3;
			dst_region.h = pDraw->p_dst_img->Height/3;
			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
		}else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_FRONT){//Tx1

            if(pDraw->p_src_img[0] && pDraw->p_dst_img != pDraw->p_src_img[0])
                    GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;

            // img0 - big
            dst_region.x = 0;
            dst_region.y = 0;
            dst_region.w = pDraw->p_dst_img->Width;
            dst_region.h = pDraw->p_dst_img->Height;
            if(pDraw->p_src_img[0] && pDraw->p_dst_img != pDraw->p_src_img[0]){
                    GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
            }

		}else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_BEHIND){//Tx2

            if(pDraw->p_src_img[1] && pDraw->p_dst_img != pDraw->p_src_img[1])
                    GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;

            // img1 - big
            dst_region.x = 0;
            dst_region.y = 0;
            dst_region.w = pDraw->p_dst_img->Width;
            dst_region.h = pDraw->p_dst_img->Height;
            if(pDraw->p_src_img[1] && pDraw->p_dst_img != pDraw->p_src_img[1]){
                    GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
            }

		}else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_BOTH2){//Rx Sensor

            if(pDraw->p_src_img[2] && pDraw->p_dst_img != pDraw->p_src_img[2])
                    GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;

            // img2 - big
            dst_region.x = 0;
            dst_region.y = 0;
            dst_region.w = pDraw->p_dst_img->Width;
            dst_region.h = pDraw->p_dst_img->Height;
            if(pDraw->p_src_img[2] && pDraw->p_dst_img != pDraw->p_src_img[2]){
                    GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
            }

		}else  if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_1){ //Tx1, Tx2
			if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}
			//DBG_DUMP("src[1] w=%d, %d, src[2] w=%d, %d, dst_img=%d, %d\r\n",pDraw->p_src_img[1]->Width,pDraw->p_src_img[1]->Height,pDraw->p_src_img[2]->Width,pDraw->p_src_img[2]->Height,pDraw->p_dst_img->Width,pDraw->p_dst_img->Height);
			// img1
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = pDraw->p_dst_img->Width / 2;
			dst_region.h = pDraw->p_dst_img->Height;

			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
			// img2
			dst_region.x = pDraw->p_dst_img->Width / 2;
			dst_region.y = 0;
			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
		}else  if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_2){ //Tx1, Rx, Tx2, 1:2:1
			if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}
			//DBG_DUMP("src[0] w=%d, %d, src[1] w=%d, %d, src[2] w=%d, %d, dst_img=%d, %d\r\n",pDraw->p_src_img[0]->Width,pDraw->p_src_img[0]->Height,pDraw->p_src_img[1]->Width,pDraw->p_src_img[1]->Height,pDraw->p_src_img[2]->Width,pDraw->p_src_img[2]->Height,pDraw->p_dst_img->Width,pDraw->p_dst_img->Height);
			// img1
			UINT32 WidthUnit=ALIGN_CEIL_4(pDraw->p_dst_img->Width / 4);
			dst_region.x = WidthUnit;
			dst_region.y = 0;
			dst_region.w = 2*WidthUnit;
			dst_region.h = pDraw->p_dst_img->Height;
			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
			// img2
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = WidthUnit;
			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
			// img3
			dst_region.x = 3*WidthUnit;
			dst_region.y = 0;
			dst_region.w = WidthUnit;
			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
		}else  if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_3){ //Tx1, Rx, Tx2, 1:1:1
			if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}
			//DBG_DUMP("src[0] w=%d, %d, src[1] w=%d, %d, src[2] w=%d, %d, dst_img=%d, %d\r\n",pDraw->p_src_img[0]->Width,pDraw->p_src_img[0]->Height,pDraw->p_src_img[1]->Width,pDraw->p_src_img[1]->Height,pDraw->p_src_img[2]->Width,pDraw->p_src_img[2]->Height,pDraw->p_dst_img->Width,pDraw->p_dst_img->Height);
			// img1
			UINT32 WidthUnit=ALIGN_CEIL_4(pDraw->p_dst_img->Width / 3);
			dst_region.x = WidthUnit;
			dst_region.y = 0;
			dst_region.w = WidthUnit;
			dst_region.h = pDraw->p_dst_img->Height;
			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
			// img2
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = WidthUnit;
			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
			// img3
			dst_region.x = 2*WidthUnit;
			dst_region.y = 0;
			dst_region.w = WidthUnit;
			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
		}
		/*MULTCAM_FRONT_CABIN_REAR_BIG_FRONT*/
		else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_6)
		{
            if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img1 -> Big
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = pDraw->p_dst_img->Width;
			dst_region.h = pDraw->p_dst_img->Height;
			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}

			// img2 -> left small
            if (GetMovieRecType_2p(uiMovieSize) == MOVIE_REC_TYPE_DUAL)
            {
                #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)

                if (pDraw->p_src_img[1])
    			{
                    // flip rear image to destination buffer
                    IRECT       dstRegion;

                    // scale rear image to top-right corner of destination buffer (size 1/4)
                    dstRegion.x = 0;
                    dstRegion.y = pDraw->p_dst_img->Height/2;
                    dstRegion.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width/3);
                    dstRegion.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height/3);

                    GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dstRegion);

                    // flip and paste scaled image from top-right to top-left of destination buffer
                    dstLocation.x = 0;
                    dstLocation.y = 40;
                    GxImg_RotatePasteData(pDraw->p_dst_img, &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);

                    // paste top-right of front image to destination buffer
                    if (pDraw->p_src_img[0]) {
                        GxImg_ScaleData(pDraw->p_src_img[0], &dstRegion, pDraw->p_dst_img, &dstRegion);
                    }
    			}

                #else
    			dst_region.x = 0;
    			dst_region.y = 40;
    			dst_region.w = pDraw->p_dst_img->Width/3;
    			dst_region.h = pDraw->p_dst_img->Height/3;

    			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}
    			#endif
            }

			// img3-> right small
			#if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)
			// rear image is smaller on the right
            if (pDraw->p_src_img[2])
            {
                // flip rear image to destination buffer
                IRECT       dstRegion;

                // scale rear image to top-right corner of destination buffer (size 1/4)
                dstRegion.x = 0;
                dstRegion.y = pDraw->p_dst_img->Height/2;

                dstRegion.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width / 3);
                dstRegion.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height / 3);

                GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dstRegion);

                // flip and paste scaled image from top-right to top-left of destination buffer
                dstLocation.x = 320;
                dstLocation.y = PIP_WND_HIGHT;//0;
                GxImg_RotatePasteData(pDraw->p_dst_img, &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);

                // paste top-right of front image to destination buffer
                if (pDraw->p_src_img[0]) {
                    GxImg_ScaleData(pDraw->p_src_img[0], &dstRegion, pDraw->p_dst_img, &dstRegion);
                }
            }
			#else
			dst_region.x = pDraw->p_dst_img->Width - pDraw->p_dst_img->Width/3;
			dst_region.y = 40;
			dst_region.w = pDraw->p_dst_img->Width/3;
			dst_region.h = pDraw->p_dst_img->Height/3;
			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
			#endif
		}
		/*MULTCAM_FRONT_CABIN_REAR_BIG_CABIN*/
		else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_7)
		{
            if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img2 - big
            if (GetMovieRecType_2p(uiMovieSize) == MOVIE_REC_TYPE_DUAL)
            {
                #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)

                if(pDraw->p_src_img[1])
                {
                    GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;

                    dst_region.x = 0;
                    dst_region.y = 0;
                    dst_region.w = pDraw->p_dst_img->Width;
                    dst_region.h = pDraw->p_dst_img->Height;

                    // flip rear image to destination buffer
                    dstLocation.x = 0;
                    dstLocation.y = 0;
                    if (pDraw->p_src_img[1]->Width != pDraw->p_dst_img->Width){

                        if(g_PipViewBflip_PoolAddr && g_PipViewBflip_PoolSize){
                            IMG_BUF        scale_dst_img;
                            GxImg_InitBuf(&scale_dst_img, pDraw->p_dst_img->Width, pDraw->p_dst_img->Height, GX_IMAGE_PIXEL_FMT_YUV420, pDraw->p_dst_img->Width, g_PipViewBflip_PoolAddr, g_PipViewBflip_PoolSize);
                            GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, &scale_dst_img, &dst_region);
                            GxImg_RotatePasteData(&scale_dst_img, &dst_region, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
                        }
                    }
                    else
                    {
                        // flip rear image to destination buffer
                        GxImg_RotatePasteData(pDraw->p_src_img[1], &dst_region, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
                    }

                    // img3 - small on left
			        #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)
        			// rear image is smaller on the left
                    if (pDraw->p_src_img[2])
                    {
                        // flip rear image to destination buffer
                        IRECT       dstRegion;

                        // scale rear image to top-right corner of destination buffer (size 1/4)
                        //dstRegion.x = 0;
                        //dstRegion.y = pDraw->p_dst_img->Height/2;
                        dstRegion.x = pDraw->p_dst_img->Width - pDraw->p_dst_img->Width/3;
                        dstRegion.y = 40;

                        dstRegion.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width / 3);
                        dstRegion.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height / 3);

                        GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dstRegion);

                        // flip and paste scaled image from top-right to top-left of destination buffer
                        dstLocation.x = 0;
                        dstLocation.y = PIP_WND_HIGHT;//0;
                        GxImg_RotatePasteData(pDraw->p_dst_img, &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);

                        // paste top-right of front image to destination buffer
                        if (pDraw->p_src_img[0]) {
                            GxImg_ScaleData(pDraw->p_src_img[0], &dstRegion, pDraw->p_dst_img, &dstRegion);
                        }
                    }
			        #else
        			dst_region.x = 0;
        			dst_region.y = 40;
        			dst_region.w = pDraw->p_dst_img->Width/3;
        			dst_region.h = pDraw->p_dst_img->Height/3;

        			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
        				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
        			}
			        #endif

        			// img1-small on the right
        			dst_region.x = pDraw->p_dst_img->Width - pDraw->p_dst_img->Width/3;
        			dst_region.y = 40;
        			dst_region.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width/3);
        			dst_region.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height/3);
        			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
        				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
        			}
                }
                else
                {
                    // img1 - big
        			dst_region.x = 0;
        			dst_region.y = 0;
        			dst_region.w = pDraw->p_dst_img->Width;
        			dst_region.h = pDraw->p_dst_img->Height;
        			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
        				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
        			}

			        // img3 - small on left to right
			        #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)
        			// rear image is smaller on the right
                    if (pDraw->p_src_img[2])
                    {
                        // flip rear image to destination buffer
                        IRECT       dstRegion;

                        // scale rear image to top-right corner of destination buffer (size 1/4)
                        dstRegion.x = 0;
                        dstRegion.y = pDraw->p_dst_img->Height/2;

                        dstRegion.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width / 3);
                        dstRegion.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height / 3);

                        GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dstRegion);

                        // flip and paste scaled image from top-right to top-left of destination buffer
                        dstLocation.x = 320;
                        dstLocation.y = PIP_WND_HIGHT;//0;
                        GxImg_RotatePasteData(pDraw->p_dst_img, &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);

                        // paste top-right of front image to destination buffer
                        if (pDraw->p_src_img[0]) {
                            GxImg_ScaleData(pDraw->p_src_img[0], &dstRegion, pDraw->p_dst_img, &dstRegion);
                        }
                    }
			        #else
        			dst_region.x = 0;
        			dst_region.y = 40;
        			dst_region.w = pDraw->p_dst_img->Width/3;
        			dst_region.h = pDraw->p_dst_img->Height/3;

        			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
        				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
        			}
			        #endif
                }

                #else
    			dst_region.x = 0;
    			dst_region.y = 0;
    			dst_region.w = pDraw->p_dst_img->Width;
    			dst_region.h = pDraw->p_dst_img->Height;

    			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}
    			#endif
            }



		}
		/*MULTCAM_FRONT_CABIN_REAR_BIG_REAR*/
		else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_8)
		{
            if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img3 - Big
            #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)
			if(pDraw->p_src_img[2])
            {
                GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;

                dst_region.x = 0;
                dst_region.y = 0;
                dst_region.w = pDraw->p_dst_img->Width;
                dst_region.h = pDraw->p_dst_img->Height;

                // flip rear image to destination buffer
                dstLocation.x = 0;
                dstLocation.y = 0;
                if (pDraw->p_src_img[2]->Width != pDraw->p_dst_img->Width){
                    //dst_region.x = pDraw->p_dst_img->Width;
                    if(g_PipViewBflip_PoolAddr && g_PipViewBflip_PoolSize){
                        IMG_BUF        scale_dst_img;
                        GxImg_InitBuf(&scale_dst_img, pDraw->p_dst_img->Width, pDraw->p_dst_img->Height, GX_IMAGE_PIXEL_FMT_YUV420, pDraw->p_dst_img->Width, g_PipViewBflip_PoolAddr, g_PipViewBflip_PoolSize);
                        GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, &scale_dst_img, &dst_region);
                        GxImg_RotatePasteData(&scale_dst_img, &dst_region, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
                    }
                }
                else
                {
                    // flip rear image to destination buffer
                    GxImg_RotatePasteData(pDraw->p_src_img[2], &dst_region, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
                }


                ///
                // img1 - small on the left
    			dst_region.x = 0;
    			dst_region.y = 40;
    			dst_region.w = pDraw->p_dst_img->Width/3;
    			dst_region.h = pDraw->p_dst_img->Height/3;
    			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}

			    // img2 - small on the right
                if (GetMovieRecType_2p(uiMovieSize) == MOVIE_REC_TYPE_DUAL)
                {
                    #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)

                    // rear image is smaller
    				if (pDraw->p_src_img[1])
    				{
    					// flip rear image to destination buffer
    					IRECT		dstRegion;

    					// scale rear image to top-right corner of destination buffer (size 1/4)
    					dstRegion.x = 0;
    					dstRegion.y = pDraw->p_dst_img->Height/2;

    					dstRegion.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width/3);
    					dstRegion.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height/3);

    					GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dstRegion);

    					// flip and paste scaled image from top-right to top-left of destination buffer
    					dstLocation.x = pDraw->p_dst_img->Width - pDraw->p_dst_img->Width/3;
    					dstLocation.y = 40;
    					GxImg_RotatePasteData(pDraw->p_dst_img, &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);

    					// paste top-right of front image to destination buffer
    					if (pDraw->p_src_img[2])
    					{
    						//GxImg_ScaleData(p_CainRotate_img, &dstRegion, pDraw->p_dst_img, &dstRegion);
    						dstLocation.x = dstRegion.x;
    						dstLocation.y = dstRegion.y;

    						dstRegion.x = pDraw->p_dst_img->Width - dstRegion.w;

    						GxImg_RotatePasteData(pDraw->p_src_img[2], &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
    					}
    				}

                    #else

        			dst_region.x = pDraw->p_dst_img->Width - pDraw->p_dst_img->Width/3;
        			dst_region.y = 40;
        			dst_region.w = pDraw->p_dst_img->Width/3;
        			dst_region.h = pDraw->p_dst_img->Height/3;

        			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
        				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
        			}
        			#endif
                }
                else
                {

                }
                #else
    			dst_region.x = 0;
    			dst_region.y = 0;
    			dst_region.w = pDraw->p_dst_img->Width;
    			dst_region.h = pDraw->p_dst_img->Height;
    			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}
			    #endif

            }
            else
            {

                // img1 - big
    			dst_region.x = 0;
    			dst_region.y = 0;
    			dst_region.w = pDraw->p_dst_img->Width;
    			dst_region.h = pDraw->p_dst_img->Height;
    			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}

    			// img2 - small on the left
                if (GetMovieRecType_2p(uiMovieSize) == MOVIE_REC_TYPE_DUAL)
                {

                    #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)

                    if (pDraw->p_src_img[1])
        			{
                        // flip rear image to destination buffer
                        IRECT       dstRegion;

                        // scale rear image to top-right corner of destination buffer (size 1/4)
                        dstRegion.x = 0;
                        dstRegion.y = pDraw->p_dst_img->Height/2;
                        dstRegion.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width/3);
                        dstRegion.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height/3);

                        GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dstRegion);

                        // flip and paste scaled image from top-right to top-left of destination buffer
                        dstLocation.x = 0;
                        dstLocation.y = 40;
                        GxImg_RotatePasteData(pDraw->p_dst_img, &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);

                        // paste top-right of front image to destination buffer
                        if (pDraw->p_src_img[0]) {
                            GxImg_ScaleData(pDraw->p_src_img[0], &dstRegion, pDraw->p_dst_img, &dstRegion);
                        }
        			}

                    #else
        			dst_region.x = 0;
        			dst_region.y = 40;
        			dst_region.w = pDraw->p_dst_img->Width/3;
        			dst_region.h = pDraw->p_dst_img->Height/3;

        			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
        				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
        			}
        			#endif
                }
            }
		}
		/*MULTCAM_FRONT_CABIN_BIG_FRONT*/
		else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_9)
		{
            if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img1 - big
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = pDraw->p_dst_img->Width;
			dst_region.h = pDraw->p_dst_img->Height;
			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}

			// img2 - small on the left
            if (GetMovieRecType_2p(uiMovieSize) == MOVIE_REC_TYPE_DUAL)
            {

                #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)

                if (pDraw->p_src_img[1])
    			{
                    // flip rear image to destination buffer
                    IRECT       dstRegion;

                    // scale rear image to top-right corner of destination buffer (size 1/4)
                    dstRegion.x = 0;
                    dstRegion.y = pDraw->p_dst_img->Height/2;
                    dstRegion.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width/3);
                    dstRegion.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height/3);

                    GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dstRegion);

                    // flip and paste scaled image from top-right to top-left of destination buffer
                    dstLocation.x = 0;
                    dstLocation.y = 40;
                    GxImg_RotatePasteData(pDraw->p_dst_img, &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);

                    // paste top-right of front image to destination buffer
                    if (pDraw->p_src_img[0]) {
                        GxImg_ScaleData(pDraw->p_src_img[0], &dstRegion, pDraw->p_dst_img, &dstRegion);
                    }
    			}

                #else
    			dst_region.x = 0;
    			dst_region.y = 40;
    			dst_region.w = pDraw->p_dst_img->Width/3;
    			dst_region.h = pDraw->p_dst_img->Height/3;

    			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}
    			#endif
            }
		}
		/*MULTCAM_FRONT_CABIN_BIG_CABIN*/
		else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_10)
		{
            if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img2 - big
            if (GetMovieRecType_2p(uiMovieSize) == MOVIE_REC_TYPE_DUAL)
            {
                 #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)

                if(pDraw->p_src_img[1])
                {
                    GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;

                    dst_region.x = 0;
                    dst_region.y = 0;
                    dst_region.w = pDraw->p_dst_img->Width;
                    dst_region.h = pDraw->p_dst_img->Height;

                    // flip rear image to destination buffer
                    dstLocation.x = 0;
                    dstLocation.y = 0;
                    if (pDraw->p_src_img[1]->Width != pDraw->p_dst_img->Width){

                        if(g_PipViewBflip_PoolAddr && g_PipViewBflip_PoolSize){
                            IMG_BUF        scale_dst_img;
                            GxImg_InitBuf(&scale_dst_img, pDraw->p_dst_img->Width, pDraw->p_dst_img->Height, GX_IMAGE_PIXEL_FMT_YUV420, pDraw->p_dst_img->Width, g_PipViewBflip_PoolAddr, g_PipViewBflip_PoolSize);
                            GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, &scale_dst_img, &dst_region);
                            GxImg_RotatePasteData(&scale_dst_img, &dst_region, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
                        }
                    }
                    else
                    {
                        // flip rear image to destination buffer
                        GxImg_RotatePasteData(pDraw->p_src_img[1], &dst_region, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
                    }

                     // img1 - small
        			dst_region.x = 0;
        			dst_region.y = 40;
        			dst_region.w = pDraw->p_dst_img->Width/3;
        			dst_region.h = pDraw->p_dst_img->Height/3;
        			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
        				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
        			}
                }
                else
                {
                    // img1 - big
        			dst_region.x = 0;
        			dst_region.y = 0;
        			dst_region.w = pDraw->p_dst_img->Width;
        			dst_region.h = pDraw->p_dst_img->Height;
        			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
        				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
        			}
                }

                #else
    			dst_region.x = 0;
    			dst_region.y = 0;
    			dst_region.w = pDraw->p_dst_img->Width;
    			dst_region.h = pDraw->p_dst_img->Height;

    			if(pDraw->p_src_img[1] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[1], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}
    			#endif
            }
		}
		/*MULTCAM_FRONT_REAR_BIG_FRONT*/
		else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_11)
		{
            if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img1 - big
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = pDraw->p_dst_img->Width;
			dst_region.h = pDraw->p_dst_img->Height;
			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}

			// img3 - small on left to right
			#if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)
			// rear image is smaller on the right
            if (pDraw->p_src_img[2])
            {
                // flip rear image to destination buffer
                IRECT       dstRegion;

                // scale rear image to top-right corner of destination buffer (size 1/4)
                dstRegion.x = 0;
                dstRegion.y = pDraw->p_dst_img->Height/2;

                dstRegion.w = ALIGN_CEIL_4(pDraw->p_dst_img->Width / 3);
                dstRegion.h = ALIGN_CEIL_4(pDraw->p_dst_img->Height / 3);

                GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dstRegion);

                // flip and paste scaled image from top-right to top-left of destination buffer
                dstLocation.x = 320;
                dstLocation.y = PIP_WND_HIGHT;//0;
                GxImg_RotatePasteData(pDraw->p_dst_img, &dstRegion, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);

                // paste top-right of front image to destination buffer
                if (pDraw->p_src_img[0]) {
                    GxImg_ScaleData(pDraw->p_src_img[0], &dstRegion, pDraw->p_dst_img, &dstRegion);
                }
            }
			#else
			dst_region.x = 0;
			dst_region.y = 40;
			dst_region.w = pDraw->p_dst_img->Width/3;
			dst_region.h = pDraw->p_dst_img->Height/3;

			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
			#endif

		}
		/*MULTCAM_FRONT_REAR_BIG_REAR*/
		else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_12)
		{
            if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img3 - big
            #if (DUALCAM_PIP_BEHIND_FLIP == ENABLE)
			if(pDraw->p_src_img[2])
            {
                GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;

                dst_region.x = 0;
                dst_region.y = 0;
                dst_region.w = pDraw->p_dst_img->Width;
                dst_region.h = pDraw->p_dst_img->Height;

                // flip rear image to destination buffer
                dstLocation.x = 0;
                dstLocation.y = 0;
                if (pDraw->p_src_img[2]->Width != pDraw->p_dst_img->Width){
                    //dst_region.x = pDraw->p_dst_img->Width;
                    if(g_PipViewBflip_PoolAddr && g_PipViewBflip_PoolSize){
                        IMG_BUF        scale_dst_img;
                        GxImg_InitBuf(&scale_dst_img, pDraw->p_dst_img->Width, pDraw->p_dst_img->Height, GX_IMAGE_PIXEL_FMT_YUV420, pDraw->p_dst_img->Width, g_PipViewBflip_PoolAddr, g_PipViewBflip_PoolSize);
                        GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, &scale_dst_img, &dst_region);
                        GxImg_RotatePasteData(&scale_dst_img, &dst_region, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
                    }
                }
                else
                {
                    // flip rear image to destination buffer
                    GxImg_RotatePasteData(pDraw->p_src_img[2], &dst_region, pDraw->p_dst_img, &dstLocation, GX_IMAGE_ROTATE_HRZ, GX_IMAGE_ROTATE_ENG2);
                }

                // img1 - small
    			dst_region.x = pDraw->p_dst_img->Width - pDraw->p_dst_img->Width/3;
    			dst_region.y = 40;
    			dst_region.w = pDraw->p_dst_img->Width/3;
    			dst_region.h = pDraw->p_dst_img->Height/3;
    			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}
            }
            else
            {
                // img1 - big
    			dst_region.x = 0;
    			dst_region.y = 0;
    			dst_region.w = pDraw->p_dst_img->Width;
    			dst_region.h = pDraw->p_dst_img->Height;
    			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
    				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
    			}

            }
            #else
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = pDraw->p_dst_img->Width;
			dst_region.h = pDraw->p_dst_img->Height;

			if(pDraw->p_src_img[2] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[2], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
			#endif

		}
		/*MULTCAM_FRONT_BIG_FRONT*/
		else if(UI_GetData(FL_DUAL_CAM) == DUALCAM_CUSTOM_13)
		{
            if(pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_FillData(pDraw->p_dst_img, NULL, COLOR_YUV_BLACK) ;
			}

			// img1 - big
			dst_region.x = 0;
			dst_region.y = 0;
			dst_region.w = pDraw->p_dst_img->Width;
			dst_region.h = pDraw->p_dst_img->Height;
			if(pDraw->p_src_img[0] && pDraw->p_dst_img->Width && pDraw->p_dst_img->Height){
				GxImg_ScaleData(pDraw->p_src_img[0], REGION_MATCH_IMG, pDraw->p_dst_img, &dst_region);
			}
		}

	}
	return E_OK;
}

参考

https://www.baidu.com/s?tn=15007414_9_dg&wd=error%3A+expected+identifier+or+%27%28%27+before+%27return%27

最后解决办法

最后排查是if-else中缺少}符号,只能使用#if 0和#endif 来一段段屏蔽代码来排查;


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
L3stiK0rSQ5z