예제 #1
0
Void System_initLinks()
{

   Vps_printf(" %d: SYSTEM  : Initializing Links !!! \r\n", Utils_getCurTimeInMsec());
   System_memPrintHeapStatus();

   CaptureLink_init();
   NsfLink_init();
   DeiLink_init();
   DisplayLink_init();
   NullLink_init();
   NullSrcLink_init();
   DupLink_init();
   SclrLink_init();
   SwMsLink_init();
   MergeLink_init();
#ifdef SYSTEM_USE_VIDEO_DECODER
   System_videoResetVideoDevices();
#endif

#if AVSYNC_COMP_ENABLE
    Vps_printf(" %d: SYSTEM  : Initializing AVsync ********************** !!! \r\n", Utils_getCurTimeInMsec());
    AVSYNC_M3_Init();
#endif

   Vps_printf(" %d: SYSTEM  : Initializing Links ... DONE !!! \r\n", Utils_getCurTimeInMsec());
}
예제 #2
0
Int32 DisplayLink_drvPrintRtStatus(DisplayLink_Obj * pObj, UInt32 elaspedTime)
{
    char *displayName[] = { "HDDAC(BP0) ", "DVO2(BP1)  ", "SDDAC(SEC1)" };

    Vps_rprintf(" %d: DISPLAY: %s: %d fps, Latency (Min / Max) = ( %d / %d ), Callback Interval (Min / Max) = ( %d / %d ) !!! \r\n",
         Utils_getCurTimeInMsec(),
         displayName[pObj->displayInstId],
        pObj->cbCount*1000/elaspedTime,
        pObj->minLatency,
        pObj->maxLatency,
        pObj->minCbTime,
        pObj->maxCbTime
        );

#if 1
    /* reset max time */
    pObj->maxCbTime = 0;
    pObj->minCbTime = 0xFF;
    pObj->maxLatency = 0;
    pObj->minLatency = 0xFF;
#endif

    if(pObj->displayInstId==0)
    {
        System_displayUnderflowPrint(TRUE, TRUE);
        System_memPrintHeapStatus();
    }

    return 0;
}
예제 #3
0
Int32 SystemLink_cmdHandler(SystemLink_Obj * pObj, UInt32 cmd, Void * pPrm)
{
    Int32 status = FVID2_SOK;

    switch (cmd)
    {
        case SYSTEM_COMMON_CMD_CPU_LOAD_CALC_START:
            Utils_prfLoadCalcStart();
            break;

        case SYSTEM_COMMON_CMD_CPU_LOAD_CALC_STOP:
            Utils_prfLoadCalcStop();
            break;

        case SYSTEM_COMMON_CMD_CPU_LOAD_CALC_RESET:
            Utils_prfLoadCalcReset();
            break;

        case SYSTEM_COMMON_CMD_SET_CH2IVAHD_MAP_TBL:
        {
            SystemVideo_Ivahd2ChMap_Tbl *tbl = 
                        (SystemVideo_Ivahd2ChMap_Tbl*) pPrm;
            Utils_encdecSetCh2IvahdMap(tbl);
            break;
        }

        case SYSTEM_COMMON_CMD_PRINT_STATUS:
        {
            SystemCommon_PrintStatus *prm = (SystemCommon_PrintStatus *) pPrm;

            if (prm->printCpuLoad)
            {
                status = Utils_prfLoadPrintAll(prm->printTskLoad);
            }
            if (prm->printHeapStatus)
            {
                System_memPrintHeapStatus();
            }
        }
            break;

        default:
            break;
    }

    return status;
}
예제 #4
0
Void System_deInitLinks()
{


   Vps_printf(" %d: SYSTEM  : De-Initializing Links !!! \r\n", Utils_getCurTimeInMsec());

   MergeLink_deInit();
   NullLink_deInit();
   DisplayLink_deInit();
   NullSrcLink_deInit();
   DeiLink_deInit();
   NsfLink_deInit();
   CaptureLink_deInit();
   DupLink_deInit();
   SclrLink_deInit();
   SwMsLink_deInit();
   System_memPrintHeapStatus();
#if AVSYNC_COMP_ENABLE
    Vps_printf(" %d: SYSTEM  : De-Initializing Links ...  avsync !!! \r\n", Utils_getCurTimeInMsec());
    AVSYNC_M3_DeInit();
#endif

   Vps_printf(" %d: SYSTEM  : De-Initializing Links ... DONE !!! \r\n", Utils_getCurTimeInMsec());
}
예제 #5
0
Int32 Utils_tilerFrameAlloc(FVID2_Format * pFormat,
                            FVID2_Frame * pFrame, UInt16 numFrames)
{
    UInt32 frameId;

    /* align height to multiple of 2 */
    pFormat->height = VpsUtils_align(pFormat->height, 2);

    for (frameId = 0; frameId < numFrames; frameId++)
    {
        /* init FVID2_Frame to 0's */
        memset(pFrame, 0, sizeof(*pFrame));

        /* copy channelNum to FVID2_Frame from FVID2_Format */
        pFrame->channelNum = pFormat->channelNum;

        switch (pFormat->dataFormat)
        {
            case FVID2_DF_YUV422SP_UV:

                /* Y plane */
              
                pFrame->addr[0][0] =
                    (Ptr) SystemTiler_alloc(SYSTEM_TILER_CNT_8BIT,
                                            pFormat->width, pFormat->height);
                UTILS_assert((UInt32)(pFrame->addr[0][0]) != SYSTEM_TILER_INVALID_ADDR);
                /* C plane */
                
                pFrame->addr[0][1] =
                    (Ptr) SystemTiler_alloc(SYSTEM_TILER_CNT_16BIT,
                                            pFormat->width, pFormat->height);
                UTILS_assert((UInt32)(pFrame->addr[0][1]) != SYSTEM_TILER_INVALID_ADDR);
                break;
            case FVID2_DF_YUV420SP_UV:

                /* Y plane */

                pFrame->addr[0][0] =
                    (Ptr) SystemTiler_alloc(SYSTEM_TILER_CNT_8BIT,
                                            pFormat->width, pFormat->height);
                if ((UInt32)pFrame->addr[0][0] == SYSTEM_TILER_INVALID_ADDR)
                    System_memPrintHeapStatus();

                UTILS_assert((UInt32)(pFrame->addr[0][0]) != SYSTEM_TILER_INVALID_ADDR);
                /* C plane */
             
                pFrame->addr[0][1] =
                    (Ptr) SystemTiler_alloc(SYSTEM_TILER_CNT_16BIT,
                                            pFormat->width,
                                            pFormat->height / 2);
                if ((UInt32)pFrame->addr[0][1] == SYSTEM_TILER_INVALID_ADDR)
                    System_memPrintHeapStatus();
                UTILS_assert((UInt32)(pFrame->addr[0][1]) != SYSTEM_TILER_INVALID_ADDR);
                break;
            default:
                UTILS_assert(0);
                break;

        }

        pFrame++;
    }

    return 0;
}