This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/TDA2EXEVM: Configuring null_src_dec_display usecase in sysbios

Part Number: TDA2EXEVM
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hello Everyone,

I am trying to configure the null_src_dec_display usecase in sysbios. I have referred the null_src_dec_display usecase present in LinuxOS.

The usecase has been successfully compiled for sysbios. But I am getting an assertion as follows:

Assertion @ Line: 1408 in nullSrcLink_tsk.c: pObj->fpDataStream[chId] != SYSTEM_LINK_STATUS_EFAIL : failed !!!

I want to send the files from SD card instead via ethernet . Exactly where should I place my input files in SD card?

I am getting assertion for file open, I guess because I have kept the input files at wrong location.

what can be the issue for assertion caused?

Thanks,

Neha

  • Neha,

    You need to keep these files in the root folder (top most folder) where you keep your appimages and MLO.
  • Hello Prasad,

    Thank you, for the quick response. I have kept the input files with the appimage and MLO, still getting the same assertion.
    Do I need to modify the path of files given in usecase
    strncpy(pPrm->channelParams[chId].nameDataFile, "1280x720_00.h264", 260);
    strncpy(pPrm->channelParams[chId].nameIndexFile, "1280x720_00.hdr", 260);

    Thanks,
    Neha
  • Hello Neha,

    Have you formatted your card correctly? Are you able to boot from it?

    Also, make sure file names in the use case.c and SD card are same.

  • Hello Prasad,

    Yes, I am able to boot from SD card. Also the file names are same.
    Is there any issue of input file format?

    Thanks,
    Neha
  • Hello Prasad,

    I tried the images provided by you, but still the issue persists.
    Can you please tell me the reason behind assertion.

    Thanks,
    Neha
  • Hello Neha,

    Looks like issue while integrating patch.
    I would request you to refer to VSDK3.2 use-case and see if any missing things. This use-case is validated and and as you can see from the other e2e threads, other users were able to run it without any issue.

    You can download VSDK3.2 from ti.com.
  • Hello Prasad,

    I can you please share me the link to download VSDK3.2. I tried downloading from cdds , but unable to find the package for VSDK3.2.

    Thanks,
    Neha
  • Hello Prasad,

    I tried running the usecase using vsdk3.2 and was able to run the usecase.
    I compared the workspace and observed FATFS_PROC_TO_USE was not set to ipu1_1 in my workspace.
    This resolved my issue.
    Thank you for your support!!!
  • Neha,

    Did you mean  ipu1_0? FATFS is only supported on the  ipu1_0 so you should set it to  ipu1_0 only.

  • Hello Prasad,

    Yes, we need to set FATFS_PROC_TO_USE=ipu1_0. Sorry for the typo mistake.

    Regards,
    Neha
  • I have some queries regarding the null_src_dec_display usecase.
     
    1)Is reading input data from SD card only supported on IPU1_0?
    2)Do I need to change NDK_PROC_TO_USE flag according to the usecase?

        eg. For NullSource (IPU1_0) -> Decode -> VPE -> Display, do we need to  set NDK_PROC_TO_USE=ipu1_0?

     
    3)When I put the NullSrc on IPU1_1 in null_src_dec_display usecase, I get assertion as below highlighted.Is this because I am reading input from Sd card and FATFS_PROC_TO_USE is only supported on ipu1_0?
    I have made changes in the usecase for Avbtx as follows:
    NullSource (IPU1_1) -> Decode -> VPE -> Sync -> Encode -> AvbTx(IPU1_1)
    When I run the usecase I get below assertion:
    Assertion @ Line: 1408 in nullSrcLink_tsk.c: pObj->fpDataStream[chId] != SYSTEM_LINK_STATUS_EFAIL : failed !!!
     
    I have set the FATFS_PROC_TO_USE=ipu1_0 and NDK_PROC_TO_USE=ipu1_1
    Is there any relation between FATFS_PROC_TO_USE and NDK_PROC_TO_USE?

     

  • Hello Neha,
    1)Is reading input data from SD card only supported on IPU1_0?
    >> Yes, file system is supported only on IPU1_0
    2)Do I need to change NDK_PROC_TO_USE flag according to the usecase? eg. For NullSource (IPU1_0) -> Decode -> VPE -> Display, do we need to  set NDK_PROC_TO_USE=ipu1_0?

    >> Yes and no. Ideally your use case and NDK_PROC_TO_USE should have same core.

    But we tweak this in our use-cases by finding NDK running core and linking that core to next link instead of core mentioned in use_case.txt.Refer to any existing null source use-case. Remember this applies only for network null source use-cases.

     
    3)When I put the NullSrc on IPU1_1 in null_src_dec_display usecase, I get assertion as below highlighted.Is this because I am reading input from Sd card and FATFS_PROC_TO_USE is only supported on ipu1_0?
    >> You can have FATFS on the IPU1_0 and NDK on IPU1_1 (or any other core). FATFS must be on IPU1_0.
    I have made changes in the usecase for Avbtx as follows:
    NullSource (IPU1_1) -> Decode -> VPE -> Sync -> Encode -> AvbTx(IPU1_1)
    When I run the usecase I get below assertion:
    Assertion @ Line: 1408 in nullSrcLink_tsk.c: pObj->fpDataStream[chId] != SYSTEM_LINK_STATUS_EFAIL : failed !!!
    I have set the FATFS_PROC_TO_USE=ipu1_0 and NDK_PROC_TO_USE=ipu1_1
    Is there any relation between FATFS_PROC_TO_USE and NDK_PROC_TO_USE?
    >> As mentioned earlier, FATFS should be only on IPU1_0. NDK can be on any supported core. But you should make sure links are connected properly in the use-case main.c

    pUcDisplayObj->IPCOut_IPU1_1_IPU1_0_0LinkID
    = SYSTEM_MAKE_LINK_ID(
    pObj->netProcId,
    pUcDisplayObj->IPCOut_IPU1_1_IPU1_0_0LinkID);

    pUcDisplayObj->AvbRxLinkID
    = SYSTEM_MAKE_LINK_ID(
    pObj->netProcId,
    pUcDisplayObj->AvbRxLinkID);

    pUcDisplayObj->IPCIn_IPU1_1_IPU1_0_0LinkID
    = SYSTEM_MAKE_LINK_ID(
    pObj->netProcId,
    pUcDisplayObj->IPCIn_IPU1_1_IPU1_0_0LinkID);

    pUcDisplayObj->AvbTxLinkID
    = SYSTEM_MAKE_LINK_ID(
    pObj->netProcId,
    pUcDisplayObj->AvbTxLinkID);

  • chains_nullSrcDec_EncAvbTx.c
    /******************************************************************************
    Copyright (c) [2012 - 2017] Texas Instruments Incorporated
    
    All rights reserved not granted herein.
    
    Limited License.
    
     Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
     license under copyrights and patents it now or hereafter owns or controls to
     make,  have made, use, import, offer to sell and sell ("Utilize") this software
     subject to the terms herein.  With respect to the foregoing patent license,
     such license is granted  solely to the extent that any such patent is necessary
     to Utilize the software alone.  The patent license shall not apply to any
     combinations which include this software, other than combinations with devices
     manufactured by or for TI ("TI Devices").  No hardware patent is licensed
     hereunder.
    
     Redistributions must preserve existing copyright notices and reproduce this
     license (including the above copyright notice and the disclaimer and
     (if applicable) source code license limitations below) in the documentation
     and/or other materials provided with the distribution
    
     Redistribution and use in binary form, without modification, are permitted
     provided that the following conditions are met:
    
     * No reverse engineering, decompilation, or disassembly of this software
       is permitted with respect to any software provided in binary form.
    
     * Any redistribution and use are licensed by TI for use only with TI Devices.
    
     * Nothing shall obligate TI to provide you with source code for the software
       licensed and provided to you in object code.
    
     If software source code is provided to you, modification and redistribution of
     the source code are permitted provided that the following conditions are met:
    
     * Any redistribution and use of the source code, including any resulting
       derivative works, are licensed by TI for use only with TI Devices.
    
     * Any redistribution and use of any object code compiled from the source code
       and any resulting derivative works, are licensed by TI for use only with TI
       Devices.
    
     Neither the name of Texas Instruments Incorporated nor the names of its
     suppliers may be used to endorse or promote products derived from this software
     without specific prior written permission.
    
     DISCLAIMER.
    
     THIS SOFTWARE IS PROVIDED BY TI AND TI�S LICENSORS "AS IS" AND ANY EXPRESS OR
     IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     IN NO EVENT SHALL TI AND TI�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
     OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
     ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    ******************************************************************************/
    
    /*******************************************************************************
     *  INCLUDE FILES
     *******************************************************************************
     */
    #include "chains_nullSrcDec_EncAvbTx_priv.h"
    #include <src/include/chains_common.h>
    #include <src/include/chains_common_osal.h>
    
    
    #define MAX_NUMBER_OF_CHANNELS    (1)
    #define ENCDEC_MAX_FRAME_WIDTH    (1280)
    #define ENCDEC_MAX_FRAME_HEIGHT   (720)
    
    #define ENABLE_CODEC_SELECTION
    
    /**
     *******************************************************************************
     * \brief Channels with timestamp difference <= SYNC_DELTA_IN_MSEC
     *        are synced together by sync link
     *******************************************************************************
     */
    #define SYNC_DELTA_IN_MSEC              (66)
    
    /**
     *******************************************************************************
     * \brief Channels with timestamp older than SYNC_DROP_THRESHOLD_IN_MSEC
     *        are dropped by sync link
     *******************************************************************************
     */
    #define SYNC_DROP_THRESHOLD_IN_MSEC     (150)
    /**
     *******************************************************************************
     *
     *  \brief  Use-case object
     *
     *        This structure contains all the LinksId's and create Params.
     *        The same is passed to all create, start, stop functions.
     *
     *******************************************************************************
    */
    typedef struct {
    
        chains_nullSrcDec_EncAvbTxObj ucObj;
       
    
        System_IVideoFormat codecType;
        UInt32  numOfChannels;
        UInt32  displayWidth;
        UInt32  displayHeight;
        UInt32  enableDisplayFlag;
        // UInt32 codecType;
        UInt32  netProcId;
        Chains_Ctrl *chainsCfg;
        
        } chains_nullSrcDecAvbtxAppObj;
    
    
    void chains_nullSrcDec_EncAvbTx_SetUseCaseCfg(chains_nullSrcDecAvbtxAppObj *pObj);
    
    
    Void chains_nullSrcDec_EncAvbTx_SetNullSrcPrms(chains_nullSrcDecAvbtxAppObj *pObj,
                            NullSrcLink_CreateParams *pPrm)
    {
        UInt32 chId;
        System_LinkChInfo *pChInfo;
    
        pPrm->outQueInfo.numCh = 1;
    
        pPrm->timerPeriodMilliSecs = 32;
    
        for (chId = 0; chId < pPrm->outQueInfo.numCh; chId++)
        {
            pPrm->channelParams[chId].numBuffers = 4;
    
            pChInfo = &pPrm->outQueInfo.chInfo[chId];
    
            pChInfo->flags = System_Link_Ch_Info_Set_Flag_Data_Format(pChInfo->flags,
                                                        SYSTEM_DF_YUV420SP_UV);
            pChInfo->flags = System_Link_Ch_Info_Set_Flag_Scan_Format(pChInfo->flags,
                                                        SYSTEM_SF_PROGRESSIVE);
            pChInfo->flags = System_Link_Ch_Info_Set_Flag_Buf_Type(pChInfo->flags,
                                                   /*SYSTEM_BUFFER_TYPE_VIDEO_FRAME*/
                                                   SYSTEM_BUFFER_TYPE_BITSTREAM);
            pChInfo->width = ENCDEC_MAX_FRAME_WIDTH;//pObj->displayWidth;
            pChInfo->height = ENCDEC_MAX_FRAME_HEIGHT;//pObj->displayHeight;
            pChInfo->startX = 0;
            pChInfo->startY = 0;
            pChInfo->pitch[0] = SystemUtils_align(pChInfo->width, 32);
            pChInfo->pitch[1] = SystemUtils_align(pChInfo->width, 32);
    Vps_printf("2**********");
            pPrm->channelParams[chId].fileReadMode = NULLSRC_LINK_FILEREAD_RUN_TIME;
    
            strncpy(pPrm->channelParams[chId].nameDataFile, "1280x720_00.h264", 260);
            strncpy(pPrm->channelParams[chId].nameIndexFile, "1280x720_00.hdr", 260);
        }
    Vps_printf("3**********");
        pPrm->dataRxMode = NULLSRC_LINK_DATA_RX_MODE_FILE;
    }
    
    /**
     *******************************************************************************
     *
     * \brief   Set Decode Create Parameters
     *
     * \param   pPrm         [IN]    DecodeLink_CreateParams
     *
     *******************************************************************************
    */
    #if 0
    static Void chains_nullSrcDec_EncAvbTx_SetDecodePrms(
                        chains_nullSrcDecAvbtxAppObj *pObj,
                        DecLink_CreateParams *pPrm)
    {
        UInt32 chId;
        DecLink_ChCreateParams *decPrm;
    
        for (chId = 0; chId<MAX_NUMBER_OF_CHANNELS; chId++)
        {
            UTILS_assert (chId < DEC_LINK_MAX_CH);
            decPrm = &pPrm->chCreateParams[chId];
    
            decPrm->dpbBufSizeInFrames  = DEC_LINK_DPB_SIZE_IN_FRAMES_DEFAULT;
            decPrm->algCreateStatus     = DEC_LINK_ALG_CREATE_STATUS_CREATE;
            decPrm->decodeFrameType     = DEC_LINK_DECODE_ALL;
    
            decPrm->processCallLevel    = DEC_LINK_FRAMELEVELPROCESSCALL;
            decPrm->targetMaxWidth      = ENCDEC_MAX_FRAME_WIDTH;
            decPrm->targetMaxHeight     = ENCDEC_MAX_FRAME_HEIGHT;
            decPrm->numBufPerCh         = 6;
            decPrm->defaultDynamicParams.targetBitRate = 10*1000*1000;
            decPrm->defaultDynamicParams.targetFrameRate = 30;
            decPrm->fieldMergeDecodeEnable = FALSE;
    
            switch (pObj->codecType)
            {
                case '0': /* MJPEG */
                    decPrm->format = SYSTEM_IVIDEO_MJPEG;
                    decPrm->profile = 0;
                    decPrm->displayDelay = 0;
                    break;
    
                case '1': /* H264 */
                    decPrm->format = SYSTEM_IVIDEO_H264HP;
                    decPrm->profile = 3;
                    decPrm->displayDelay = 0;
                    break;
    
                default: /* D1 */
                    printf("\r\nCodec Type: %d, returning \n", pObj->codecType);
                    UTILS_assert(FALSE);
                    break;
            }
        }
    }
    #endif
    /**
     *******************************************************************************
     *
     * \brief   Set VPE Create Parameters
     *
     * \param   pPrm    [OUT]    VpeLink_CreateParams
     *
     *******************************************************************************
    */
    
    static Void chains_nullSrcDec_EncAvbTx_SetVPEPrms(
                        VpeLink_CreateParams *pPrm,
                        UInt32 numCh,
                        UInt32 displayWidth,
                        UInt32 displayHeight,
                        UInt32 inputWidth,
                        UInt32 inputHeight
                        )
    {
        UInt16 chId;
    
        pPrm->enableOut[0] = TRUE;
    
        for(chId = 0; chId < numCh; chId++)
        {
            pPrm->chParams[chId].outParams[0].numBufsPerCh = 4;
    
            pPrm->chParams[chId].outParams[0].width = displayWidth;
            pPrm->chParams[chId].outParams[0].height = displayHeight;
            pPrm->chParams[chId].outParams[0].dataFormat = SYSTEM_DF_YUV420SP_UV;
    
            pPrm->chParams[chId].scCfg.bypass       = FALSE;
            pPrm->chParams[chId].scCfg.nonLinear    = FALSE;
            pPrm->chParams[chId].scCfg.stripSize    = 0;
    
            pPrm->chParams[chId].scCropCfg.cropStartX = 32;
            pPrm->chParams[chId].scCropCfg.cropStartY = 24;
            pPrm->chParams[chId].scCropCfg.cropWidth = inputWidth-32;
            pPrm->chParams[chId].scCropCfg.cropHeight = inputHeight-24;
        }
    }
    
    
    /**
     *******************************************************************************
     *
     * \brief   Set Sync Create Parameters
     *
     *          This function is used to set the sync params.
     *          It is called in Create function. It is advisable to have
     *          chains_avbRx_Dec_Display_AvbTx_ResetLinkPrm prior to set params
     *          so all the default params get set.
     *          Number of channels to be synced and sync delta and threshold.
     *
     * \param   pPrm    [OUT]    SyncLink_CreateParams
     *
     *******************************************************************************
    */
    Void chains_nullSrcDec_EncAvbTx_SetSyncPrm( SyncLink_CreateParams *pPrm,
                                                UInt32 nunChannel )
    {
        pPrm->syncDelta = SYNC_DELTA_IN_MSEC;
        pPrm->syncThreshold = SYNC_DROP_THRESHOLD_IN_MSEC;
    }
    #if 1
    /******added*/
    /**
     *******************************************************************************
     *
     * \brief   Set Encoder Create Parameters
     *
     * \param   pPrm         [IN]  EncLink_CreateParams
     *
     *******************************************************************************
    */
    static Void chains_nullSrcDec_EncAvbTx_SetEncPrms(
                       EncLink_CreateParams *pPrm,
                       chains_nullSrcDecAvbtxAppObj *pObj)
    {
        int i, chId;
        EncLink_ChCreateParams *pLinkChPrm;
        EncLink_ChDynamicParams *pLinkDynPrm;
    
        for (i = 0; i < ENC_LINK_MAX_BUF_ALLOC_POOLS; i++)
        {
            pPrm->numBufPerCh[i] = 3;
        }
    
        for (chId = 0; chId < 1; chId++)
        {
            pLinkChPrm  = &pPrm->chCreateParams[chId];
            pLinkDynPrm = &pLinkChPrm->defaultDynamicParams;
    
            UTILS_assert (chId < ENC_LINK_MAX_CH);
    
            switch (pObj->codecType)
            {
              case SYSTEM_IVIDEO_MJPEG: /* MJPEG */
                pLinkChPrm->format                 = SYSTEM_IVIDEO_MJPEG;
                pLinkChPrm->profile                = 0;
                pLinkChPrm->dataLayout             = VENC_FIELD_SEPARATED;
                pLinkChPrm->fieldMergeEncodeEnable = FALSE;
                pLinkChPrm->enableAnalyticinfo     = 0;
                pLinkChPrm->enableWaterMarking     = 0;
                pLinkChPrm->maxBitRate             = 0;
                pLinkChPrm->encodingPreset         = 0;
                pLinkChPrm->rateControlPreset      = 0;
                pLinkChPrm->enableHighSpeed        = 0;
                pLinkChPrm->enableSVCExtensionFlag = 0;
                pLinkChPrm->numTemporalLayer       = 0;
                pLinkChPrm->overrideInputScanFormat= 0;
                pLinkChPrm->fieldPicEncode         = 0;
    
                pLinkDynPrm->intraFrameInterval    = 0;
                pLinkDynPrm->targetBitRate         = 10*1000*1000;
                pLinkDynPrm->interFrameInterval    = 0;
                pLinkDynPrm->mvAccuracy            = 0;
                pLinkDynPrm->inputFrameRate        = 30;
                pLinkDynPrm->rcAlg                 = 0;
                pLinkDynPrm->qpMin                 = 0;
                pLinkDynPrm->qpMax                 = 0;
                pLinkDynPrm->qpInit                = -1;
                pLinkDynPrm->vbrDuration           = 0;
                pLinkDynPrm->vbrSensitivity        = 0;
                Vps_printf(" \n Codec is MJPEG \n");
                break;
    
              case SYSTEM_IVIDEO_H264HP: /* H264 */
                pLinkChPrm->format                 = SYSTEM_IVIDEO_H264HP;
                pLinkChPrm->profile                = 100;
                pLinkChPrm->dataLayout             = VENC_FIELD_SEPARATED;
                pLinkChPrm->fieldMergeEncodeEnable = FALSE;
                pLinkChPrm->enableAnalyticinfo     = 0;
                pLinkChPrm->enableWaterMarking     = 0;
                pLinkChPrm->maxBitRate             = -1;
                pLinkChPrm->encodingPreset         = SYSTEM_XDM_MED_SPEED_HIGH_QUALITY;
                /* Set to SYSTEM_XDM_USER_DEFINED if SEI/meta data needs to be enabled */
                pLinkChPrm->encodingPreset         = SYSTEM_XDM_USER_DEFINED;
                pLinkChPrm->rateControlPreset      = SYSTEM_IVIDEO_LOW_DELAY;
                pLinkChPrm->enableHighSpeed        = FALSE;
                pLinkChPrm->enableSVCExtensionFlag = FALSE;
                pLinkChPrm->numTemporalLayer       = 0;
                pLinkChPrm->overrideInputScanFormat= 0;
                pLinkChPrm->fieldPicEncode         = 0;
    
                pLinkDynPrm->intraFrameInterval    = 1;
                pLinkDynPrm->targetBitRate         = 10*1000*1000;
                pLinkDynPrm->interFrameInterval    = 1;
                pLinkDynPrm->mvAccuracy            = SYSTEM_IVIDENC2_MOTIONVECTOR_QUARTERPEL;
                pLinkDynPrm->inputFrameRate        = 30;
                pLinkDynPrm->rcAlg                 = 0;
                pLinkDynPrm->qpMin                 = 0;
                pLinkDynPrm->qpMax                 = 51;
                pLinkDynPrm->qpInit                = 25;
                pLinkDynPrm->vbrDuration           = 8;
                pLinkDynPrm->vbrSensitivity        = 0;
                break;
    
              default: /* D1 */
                printf("\r\nCodec Type: %d, returning \n", pObj->codecType);
                UTILS_assert(FALSE);
                break;
            }
        }
    }
    /******/
    #endif
    
    /**
     *******************************************************************************
     *
     * \brief   Set link Parameters
     *
     *          It is called in Create function of the auto generated use-case file.
     *
     * \param pUcObj    [IN] Auto-generated usecase object
     * \param appObj    [IN] Application specific object
     *
     *******************************************************************************
    */
    
    Void chains_nullSrcDec_EncAvbTx_SetAppPrms(chains_nullSrcDec_EncAvbTxObj *pUcObj, Void *appObj)
    {
    #if 1
        chains_nullSrcDecAvbtxAppObj *pObj
            = (chains_nullSrcDecAvbtxAppObj*)appObj;
    
        Vps_printf("added link connection");
    
        pUcObj->IPCOut_IPU1_1_IPU1_0_0LinkID
            = SYSTEM_MAKE_LINK_ID(
                pObj->netProcId,
                pUcObj->IPCOut_IPU1_1_IPU1_0_0LinkID);
    
        pUcObj->NullSourceLinkID
            = SYSTEM_MAKE_LINK_ID(
                pObj->netProcId,
                pUcObj->NullSourceLinkID);
    
       pUcObj->IPCIn_IPU1_1_IPU1_0_0LinkID
    	= SYSTEM_MAKE_LINK_ID(
                pObj->netProcId,
    	    pUcObj->IPCIn_IPU1_1_IPU1_0_0LinkID);
    
       pUcObj->AvbTxLinkID
    	= SYSTEM_MAKE_LINK_ID(
    	    pObj->netProcId,
                pUcObj->AvbTxLinkID);
    
        ChainsCommon_GetDisplayWidthHeight(
            pObj->chainsCfg->displayType,
            &pObj->displayWidth,
            &pObj->displayHeight
            );
    
    
     chains_nullSrcDec_EncAvbTx_SetNullSrcPrms(pObj, &pUcObj->NullSourcePrm);
    Vps_printf("in avbtx set app prms");
        //chains_nullSrcDec_EncAvbTx_SetDecodePrms(pObj, &pUcAvbTxObj->DecodePrm);
         ChainsCommon_SetDecodePrm(
                                &pUcObj->DecodePrm,
                                ENCDEC_MAX_FRAME_WIDTH,
                                ENCDEC_MAX_FRAME_HEIGHT,
                                pObj->numOfChannels,
                                pObj->codecType);
       
    
        chains_nullSrcDec_EncAvbTx_SetVPEPrms(
            &pUcObj->VPEPrm,
            1,
            ENCDEC_MAX_FRAME_WIDTH,
            ENCDEC_MAX_FRAME_HEIGHT,
            ENCDEC_MAX_FRAME_WIDTH,
            ENCDEC_MAX_FRAME_HEIGHT);
    
    #if 1
        chains_nullSrcDec_EncAvbTx_SetSyncPrm(
            &pUcObj->SyncPrm,
            pObj->numOfChannels
            );
    
        chains_nullSrcDec_EncAvbTx_SetEncPrms(&pUcObj->EncodePrm, pObj);
    #endif
        ChainsCommon_SetAvbTxPrm(&pUcObj->AvbTxPrm,
                                 AVB_TX_LINK_MAX_TALKERS_DEFAULT,
                                 pObj->codecType);
    #endif
    
    }
    /******/
    /**
     *******************************************************************************
     *
     * \brief   Start the capture display Links
     *
     *          Function sends a control command to capture and display link to
     *          to Start all the required links . Links are started in reverce
     *          order as information of next link is required to connect.
     *          System_linkStart is called with LinkId to start the links.
     *
     * \param   pObj  [IN] Chains_VipSingleCameraViewObj
     *
     * \return  SYSTEM_LINK_STATUS_SOK on success
     *
     *******************************************************************************
    */
    Void chains_nullSrcDec_EncAvbTx_StartApp(chains_nullSrcDecAvbtxAppObj *pObj)
    {
    
        //ChainsCommon_StartDisplayDevice(pObj->chainsCfg->displayType);
    
        Chains_memPrintHeapStatus();
    
        Chains_prfLoadCalcEnable(TRUE, FALSE, FALSE);
        
        
            chains_nullSrcDec_EncAvbTx_Start(&pObj->ucObj);
       
    
    }
    
    /**
     *******************************************************************************
     *
     * \brief   Delete the capture display Links
     *
     *          Function sends a control command to capture and display link to
     *          to delete all the prior created links
     *          System_linkDelete is called with LinkId to delete the links.
     *
     * \param   pObj   [IN]   Chains_VipSingleCameraViewObj
     *
     *******************************************************************************
    */
    Void chains_nullSrcDec_EncAvbTx_StopAndDeleteApp(chains_nullSrcDecAvbtxAppObj *pObj)
    {
        
           chains_nullSrcDec_EncAvbTx_Stop(&pObj->ucObj);
            chains_nullSrcDec_EncAvbTx_Delete(&pObj->ucObj);
       
    
        /* Print the HWI, SWI and all tasks load */
        /* Reset the accumulated timer ticks */
        Chains_prfLoadCalcEnable(FALSE, TRUE, TRUE);
    }
    
    /**
     *******************************************************************************
     * \brief Run Time Menu string for codec Type Selection.
     *******************************************************************************
     */
    char chains_nullSrcDec_EncAvbTx_codecTypeSelect[] = {
        "\r\n "
        "\r\n ========================================="
        "\r\n Chains Run-time Codec Type Selection Menu"
        "\r\n ========================================="
        "\r\n "
        "\r\n Enter '0' for MJPEG "
        "\r\n "
        "\r\n Enter '1' for H.264 "
        "\r\n "
        "\r\n Enter Choice: "
        "\r\n "
    };
    
    
    
    
    void chains_nullSrcDec_EncAvbTx_SetUseCaseCfg(chains_nullSrcDecAvbtxAppObj *pObj)
    {
    
    char ch;
        UInt32 done = FALSE;
    #ifdef ENABLE_CODEC_SELECTION
        
    
        while(!done)
        {
    
            Vps_printf(chains_nullSrcDec_EncAvbTx_codecTypeSelect);
            ch = Chains_readChar();
            switch(ch)
            {
                case '0':
                    pObj->codecType = SYSTEM_IVIDEO_MJPEG;
                    done = TRUE;
                break;
                case '1':
                    pObj->codecType = SYSTEM_IVIDEO_H264HP;
                    done = TRUE;
                break;
                default:
                    Vps_printf("\nUnsupported option '%c'. Please try again\n",
                           pObj->codecType);
                break;
            }
        }
    #else
        pObj->codecType = SYSTEM_IVIDEO_H264HP;
    #endif
    
    
    
    
        return;
    }
    
    
    
    /**
     *******************************************************************************
     *
     * \brief   Single Channel Capture Display usecase function
     *`
     *          This functions executes the create, start functions
     *
     *          Further in a while loop displays run time menu and waits
     *          for user inputs to print the statistics or to end the demo.
     *
     *          Once the user inputs end of demo stop and delete
     *          functions are executed.
     *
     * \param   chainsCfg       [IN]   Chains_Ctrl
     *
     *******************************************************************************
    */
    Void chains_nullSrcDec_EncAvbTx(Chains_Ctrl *chainsCfg)
    {
        char ch = 'a';
        UInt32 done = FALSE;
        chains_nullSrcDecAvbtxAppObj chainsObj;
         
    
    	chainsObj.netProcId = Utils_netGetProcId();
    	Vps_printf("get proc ID = %d",chainsObj.netProcId);
    
    #if 1
        if(chainsObj.netProcId==System_getSelfProcId())
        {
            Vps_printf(" \n");
            Vps_printf(" CHAINS: ERROR: Networking/NDK MUST be run on different CPU"
                       " than IPU1-0.\n");
            Vps_printf(" CHAINS: ERROR: If you need to run this use-case with NDK"
                       " on IPU1-0 then regenerate the use-case with NullSrc/Null"
                       " links on IPU1-0.\n"
                       );
            Vps_printf(" \n");
            return;
        }
    #endif
        chainsObj.chainsCfg = chainsCfg;
        chains_nullSrcDec_EncAvbTx_SetUseCaseCfg(&chainsObj);
        
    /* while(!done)
        {
            Vps_printf(chains_nullSrcDec_EncAvbTx_codecTypeSelect);
            chainsObj.codecType = Chains_readChar();
    
            switch(chainsObj.codecType)
            {
                case '0':
                    done = TRUE;
                    break;
                case '1':
                    done = TRUE;
                    break;
                default:
                    Vps_printf("\nUnsupported option '%c'. Please try again\n",
                               chainsObj.codecType);
                    break;
            }
        }*/
    
    
     
        
    
       
        chains_nullSrcDec_EncAvbTx_Create(&chainsObj.ucObj, &chainsObj);
      
    #if 1
    
        chains_nullSrcDec_EncAvbTx_StartApp(&chainsObj);
    
    
        done = FALSE;
        while(!done)
        {
            ch = '1';
            ch = Chains_menuRunTime();
            switch(ch)
            {
                case '0':
                    done = TRUE;
                    break;
    
                case 'p':
                case 'P':
                    
                        chains_nullSrcDec_EncAvbTx_printStatistics(&chainsObj.ucObj);
                   
                    break;
                default:
                    Vps_printf("\nUnsupported option '%c'. Please try again\n", ch);
                    break;
            }
        }
    
        chains_nullSrcDec_EncAvbTx_StopAndDeleteApp(&chainsObj);
    #endif
    }
    
    
    Hello Prasad,  

    I have made link connection changes as suggested by you.

    Below is my usecase:

    NullSource (IPU1_1) -> Decode -> VPE -> Sync -> Encode -> AvbTx(IPU1_1)

    Following are the link connections made for above usecase

    pUcObj->IPCOut_IPU1_1_IPU1_0_0LinkID

           = SYSTEM_MAKE_LINK_ID(

               pObj->netProcId,

               pUcObj->IPCOut_IPU1_1_IPU1_0_0LinkID);

       pUcObj->NullSourceLinkID

           = SYSTEM_MAKE_LINK_ID(

               pObj->netProcId,

               pUcObj->NullSourceLinkID);

      pUcObj->IPCIn_IPU1_1_IPU1_0_0LinkID

    = SYSTEM_MAKE_LINK_ID(

               pObj->netProcId,

       pUcObj->IPCIn_IPU1_1_IPU1_0_0LinkID);

      pUcObj->AvbTxLinkID

    = SYSTEM_MAKE_LINK_ID(

       pObj->netProcId,

               pUcObj->AvbTxLinkID);

    Find attached my usecase main.c file.

    I am reading input data from SD card.

    I am still facing the assertion as below:

    Assertion @ Line: 1408 in nullSrcLink_tsk.c: pObj->fpDataStream[chId] != SYSTEM_LINK_STATUS_EFAIL : failed !!!

    Am I missing some more configurations?

  • Hello Prasad,

    Sorry for the previous post. I could now solve the assertion.

    I have modified the usecase as follows:
    NullSource (IPU1_0) -> Decode -> VPE -> Sync -> Encode -> AvbTx(IPU1_1)

    Made link connections only for Avbtx as follows:
    pUcObj->IPCIn_IPU1_1_IPU1_0_0LinkID
    = SYSTEM_MAKE_LINK_ID(
    pObj->netProcId,
    pUcObj->IPCIn_IPU1_1_IPU1_0_0LinkID);

    pUcObj->AvbTxLinkID
    = SYSTEM_MAKE_LINK_ID(
    pObj->netProcId,
    pUcObj->AvbTxLinkID);

    Now when I run the usecase, I am getting continuous logs as below:


    [IPU1-0] ====================
    [IPU1-0] Chains Run-time Menu
    [IPU1-0] ====================
    [IPU1-0]
    [IPU1-0] 0: Stop Chain
    [IPU1-0]
    [IPU1-0] 1: Change Display Channel (Support 4CH LVDS + Mosaic use-case only)
    [IPU1-0]
    [IPU1-0] p: Print Performance Statistics
    [IPU1-0]
    [IPU1-0] Enter Choice:
    [IPU1-0]
    [IPU1-1] 19.366101 s: IPC_IN_0 : Create in progress !!!
    [IPU1-1] 19.367229 s: IPC_IN_0 : Create Done !!!
    [IPU1-1] 19.367595 s: AVBTX: Create in progress !!!
    [IPU1-1] 19.375800 s: AVBTX: Create Done !!!
    [IPU1-1] 19.378454 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047
    [IPU1-1] 19.378576 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 655360 B (640 KB), Free size = 625632 B (610 KB)
    [IPU1-1] 19.380406 s: AVBTP Tx: Start in progress !!!
    [IPU1-1] 19.382175 s: AVBTP Tx: Start Done !!!
    [HOST ] 19.378911 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047
    [HOST ] 19.378942 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 6291456 B (6144 KB), Free size = 6282992 B (6135 KB)
    [DSP1 ] 19.379064 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047
    [DSP1 ] 19.379094 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB)
    [DSP1 ] 19.379155 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 520256 B (508 KB)
    [IPU1-0] 19.564143 s: DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0] 19.564234 s: DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0] 19.564631 s: DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0] 19.564875 s: DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0] 19.577319 s: DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0] 19.577411 s: DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0] 19.577777 s: DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0] 19.578021 s: DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0] 19.590221 s: DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0] 19.590343 s: DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0] 19.590739 s: DECODE: CH0: H264 Decoder Flushing !!!

    Can u give some feedback on same.
    Thanks.

    Neha
  • Neha,

    The input image format or resolution is incorrect. Please check if use-case configuration matches with the video stream.

    Also if you still see the issue, please share the logs.

  • 0878.chains_nullSrcDec_EncAvbTx.c
    /******************************************************************************
    Copyright (c) [2012 - 2017] Texas Instruments Incorporated
    
    All rights reserved not granted herein.
    
    Limited License.
    
     Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
     license under copyrights and patents it now or hereafter owns or controls to
     make,  have made, use, import, offer to sell and sell ("Utilize") this software
     subject to the terms herein.  With respect to the foregoing patent license,
     such license is granted  solely to the extent that any such patent is necessary
     to Utilize the software alone.  The patent license shall not apply to any
     combinations which include this software, other than combinations with devices
     manufactured by or for TI ("TI Devices").  No hardware patent is licensed
     hereunder.
    
     Redistributions must preserve existing copyright notices and reproduce this
     license (including the above copyright notice and the disclaimer and
     (if applicable) source code license limitations below) in the documentation
     and/or other materials provided with the distribution
    
     Redistribution and use in binary form, without modification, are permitted
     provided that the following conditions are met:
    
     * No reverse engineering, decompilation, or disassembly of this software
       is permitted with respect to any software provided in binary form.
    
     * Any redistribution and use are licensed by TI for use only with TI Devices.
    
     * Nothing shall obligate TI to provide you with source code for the software
       licensed and provided to you in object code.
    
     If software source code is provided to you, modification and redistribution of
     the source code are permitted provided that the following conditions are met:
    
     * Any redistribution and use of the source code, including any resulting
       derivative works, are licensed by TI for use only with TI Devices.
    
     * Any redistribution and use of any object code compiled from the source code
       and any resulting derivative works, are licensed by TI for use only with TI
       Devices.
    
     Neither the name of Texas Instruments Incorporated nor the names of its
     suppliers may be used to endorse or promote products derived from this software
     without specific prior written permission.
    
     DISCLAIMER.
    
     THIS SOFTWARE IS PROVIDED BY TI AND TI�S LICENSORS "AS IS" AND ANY EXPRESS OR
     IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     IN NO EVENT SHALL TI AND TI�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
     OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
     ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    ******************************************************************************/
    
    /*******************************************************************************
     *  INCLUDE FILES
     *******************************************************************************
     */
    #include "chains_nullSrcDec_EncAvbTx_priv.h"
    #include <src/include/chains_common.h>
    #include <src/include/chains_common_osal.h>
    
    
    #define MAX_NUMBER_OF_CHANNELS    (1)
    #define ENCDEC_MAX_FRAME_WIDTH    (1280)
    #define ENCDEC_MAX_FRAME_HEIGHT   (720)
    
    #define ENABLE_CODEC_SELECTION
    
    /**
     *******************************************************************************
     * \brief Channels with timestamp difference <= SYNC_DELTA_IN_MSEC
     *        are synced together by sync link
     *******************************************************************************
     */
    #define SYNC_DELTA_IN_MSEC              (66)
    
    /**
     *******************************************************************************
     * \brief Channels with timestamp older than SYNC_DROP_THRESHOLD_IN_MSEC
     *        are dropped by sync link
     *******************************************************************************
     */
    #define SYNC_DROP_THRESHOLD_IN_MSEC     (150)
    /**
     *******************************************************************************
     *
     *  \brief  Use-case object
     *
     *        This structure contains all the LinksId's and create Params.
     *        The same is passed to all create, start, stop functions.
     *
     *******************************************************************************
    */
    typedef struct {
    
        chains_nullSrcDec_EncAvbTxObj ucObj;
       
    
        System_IVideoFormat codecType;
        UInt32  numOfChannels;
        UInt32  displayWidth;
        UInt32  displayHeight;
        UInt32  enableDisplayFlag;
        // UInt32 codecType;
        UInt32  netProcId;
        Chains_Ctrl *chainsCfg;
        
        } chains_nullSrcDecAvbtxAppObj;
    
    
    void chains_nullSrcDec_EncAvbTx_SetUseCaseCfg(chains_nullSrcDecAvbtxAppObj *pObj);
    
    
    Void chains_nullSrcDec_EncAvbTx_SetNullSrcPrms(chains_nullSrcDecAvbtxAppObj *pObj,
                            NullSrcLink_CreateParams *pPrm)
    {
        UInt32 chId;
        System_LinkChInfo *pChInfo;
    
        pPrm->outQueInfo.numCh = 1;
    
        pPrm->timerPeriodMilliSecs = 32;
    
        for (chId = 0; chId < pPrm->outQueInfo.numCh; chId++)
        {
            pPrm->channelParams[chId].numBuffers = 4;
    
            pChInfo = &pPrm->outQueInfo.chInfo[chId];
    
            pChInfo->flags = System_Link_Ch_Info_Set_Flag_Data_Format(pChInfo->flags,
                                                        SYSTEM_DF_YUV420SP_UV);
            pChInfo->flags = System_Link_Ch_Info_Set_Flag_Scan_Format(pChInfo->flags,
                                                        SYSTEM_SF_PROGRESSIVE);
            pChInfo->flags = System_Link_Ch_Info_Set_Flag_Buf_Type(pChInfo->flags,
                                                   /*SYSTEM_BUFFER_TYPE_VIDEO_FRAME*/
                                                   SYSTEM_BUFFER_TYPE_BITSTREAM);
            pChInfo->width = ENCDEC_MAX_FRAME_WIDTH;//pObj->displayWidth;
            pChInfo->height = ENCDEC_MAX_FRAME_HEIGHT;//pObj->displayHeight;
            pChInfo->startX = 0;
            pChInfo->startY = 0;
            pChInfo->pitch[0] = SystemUtils_align(pChInfo->width, 32);
            pChInfo->pitch[1] = SystemUtils_align(pChInfo->width, 32);
    
            pPrm->channelParams[chId].fileReadMode = NULLSRC_LINK_FILEREAD_RUN_TIME;
    
            strncpy(pPrm->channelParams[chId].nameDataFile, "1280x720_00.h264", 260);
            strncpy(pPrm->channelParams[chId].nameIndexFile, "1280x720_00.hdr", 260);
        }
    
        pPrm->dataRxMode = NULLSRC_LINK_DATA_RX_MODE_FILE;
    }
    
    /**
     *******************************************************************************
     *
     * \brief   Set Decode Create Parameters
     *
     * \param   pPrm         [IN]    DecodeLink_CreateParams
     *
     *******************************************************************************
    */
    #if 0
    static Void chains_nullSrcDec_EncAvbTx_SetDecodePrms(
                        chains_nullSrcDecAvbtxAppObj *pObj,
                        DecLink_CreateParams *pPrm)
    {
        UInt32 chId;
        DecLink_ChCreateParams *decPrm;
    
        for (chId = 0; chId<MAX_NUMBER_OF_CHANNELS; chId++)
        {
            UTILS_assert (chId < DEC_LINK_MAX_CH);
            decPrm = &pPrm->chCreateParams[chId];
    
            decPrm->dpbBufSizeInFrames  = DEC_LINK_DPB_SIZE_IN_FRAMES_DEFAULT;
            decPrm->algCreateStatus     = DEC_LINK_ALG_CREATE_STATUS_CREATE;
            decPrm->decodeFrameType     = DEC_LINK_DECODE_ALL;
    
            decPrm->processCallLevel    = DEC_LINK_FRAMELEVELPROCESSCALL;
            decPrm->targetMaxWidth      = ENCDEC_MAX_FRAME_WIDTH;
            decPrm->targetMaxHeight     = ENCDEC_MAX_FRAME_HEIGHT;
            decPrm->numBufPerCh         = 6;
            decPrm->defaultDynamicParams.targetBitRate = 10*1000*1000;
            decPrm->defaultDynamicParams.targetFrameRate = 30;
            decPrm->fieldMergeDecodeEnable = FALSE;
    
            switch (pObj->codecType)
            {
                case '0': /* MJPEG */
                    decPrm->format = SYSTEM_IVIDEO_MJPEG;
                    decPrm->profile = 0;
                    decPrm->displayDelay = 0;
                    break;
    
                case '1': /* H264 */
                    decPrm->format = SYSTEM_IVIDEO_H264HP;
                    decPrm->profile = 3;
                    decPrm->displayDelay = 0;
                    break;
    
                default: /* D1 */
                    printf("\r\nCodec Type: %d, returning \n", pObj->codecType);
                    UTILS_assert(FALSE);
                    break;
            }
        }
    }
    #endif
    /**
     *******************************************************************************
     *
     * \brief   Set VPE Create Parameters
     *
     * \param   pPrm    [OUT]    VpeLink_CreateParams
     *
     *******************************************************************************
    */
    
    static Void chains_nullSrcDec_EncAvbTx_SetVPEPrms(
                        VpeLink_CreateParams *pPrm,
                        UInt32 numCh,
                        UInt32 displayWidth,
                        UInt32 displayHeight,
                        UInt32 inputWidth,
                        UInt32 inputHeight
                        )
    {
        UInt16 chId;
    
        pPrm->enableOut[0] = TRUE;
    
        for(chId = 0; chId < numCh; chId++)
        {
            pPrm->chParams[chId].outParams[0].numBufsPerCh = 4;
    
            pPrm->chParams[chId].outParams[0].width = displayWidth;
            pPrm->chParams[chId].outParams[0].height = displayHeight;
            pPrm->chParams[chId].outParams[0].dataFormat = SYSTEM_DF_YUV420SP_UV;
    
            pPrm->chParams[chId].scCfg.bypass       = FALSE;
            pPrm->chParams[chId].scCfg.nonLinear    = FALSE;
            pPrm->chParams[chId].scCfg.stripSize    = 0;
    
            pPrm->chParams[chId].scCropCfg.cropStartX = 32;
            pPrm->chParams[chId].scCropCfg.cropStartY = 24;
            pPrm->chParams[chId].scCropCfg.cropWidth = inputWidth-32;
            pPrm->chParams[chId].scCropCfg.cropHeight = inputHeight-24;
        }
    }
    
    
    /**
     *******************************************************************************
     *
     * \brief   Set Sync Create Parameters
     *
     *          This function is used to set the sync params.
     *          It is called in Create function. It is advisable to have
     *          chains_avbRx_Dec_Display_AvbTx_ResetLinkPrm prior to set params
     *          so all the default params get set.
     *          Number of channels to be synced and sync delta and threshold.
     *
     * \param   pPrm    [OUT]    SyncLink_CreateParams
     *
     *******************************************************************************
    */
    Void chains_nullSrcDec_EncAvbTx_SetSyncPrm( SyncLink_CreateParams *pPrm,
                                                UInt32 nunChannel )
    {
        pPrm->syncDelta = SYNC_DELTA_IN_MSEC;
        pPrm->syncThreshold = SYNC_DROP_THRESHOLD_IN_MSEC;
    }
    #if 1
    /******added*/
    /**
     *******************************************************************************
     *
     * \brief   Set Encoder Create Parameters
     *
     * \param   pPrm         [IN]  EncLink_CreateParams
     *
     *******************************************************************************
    */
    static Void chains_nullSrcDec_EncAvbTx_SetEncPrms(
                       EncLink_CreateParams *pPrm,
                       chains_nullSrcDecAvbtxAppObj *pObj)
    {
        int i, chId;
        EncLink_ChCreateParams *pLinkChPrm;
        EncLink_ChDynamicParams *pLinkDynPrm;
    
        for (i = 0; i < ENC_LINK_MAX_BUF_ALLOC_POOLS; i++)
        {
            pPrm->numBufPerCh[i] = 3;
        }
    
        for (chId = 0; chId < 1; chId++)
        {
            pLinkChPrm  = &pPrm->chCreateParams[chId];
            pLinkDynPrm = &pLinkChPrm->defaultDynamicParams;
    
            UTILS_assert (chId < ENC_LINK_MAX_CH);
    
            switch (pObj->codecType)
            {
              case SYSTEM_IVIDEO_MJPEG: /* MJPEG */
                pLinkChPrm->format                 = SYSTEM_IVIDEO_MJPEG;
                pLinkChPrm->profile                = 0;
                pLinkChPrm->dataLayout             = VENC_FIELD_SEPARATED;
                pLinkChPrm->fieldMergeEncodeEnable = FALSE;
                pLinkChPrm->enableAnalyticinfo     = 0;
                pLinkChPrm->enableWaterMarking     = 0;
                pLinkChPrm->maxBitRate             = 0;
                pLinkChPrm->encodingPreset         = 0;
                pLinkChPrm->rateControlPreset      = 0;
                pLinkChPrm->enableHighSpeed        = 0;
                pLinkChPrm->enableSVCExtensionFlag = 0;
                pLinkChPrm->numTemporalLayer       = 0;
                pLinkChPrm->overrideInputScanFormat= 0;
                pLinkChPrm->fieldPicEncode         = 0;
    
                pLinkDynPrm->intraFrameInterval    = 0;
                pLinkDynPrm->targetBitRate         = 10*1000*1000;
                pLinkDynPrm->interFrameInterval    = 0;
                pLinkDynPrm->mvAccuracy            = 0;
                pLinkDynPrm->inputFrameRate        = 30;
                pLinkDynPrm->rcAlg                 = 0;
                pLinkDynPrm->qpMin                 = 0;
                pLinkDynPrm->qpMax                 = 0;
                pLinkDynPrm->qpInit                = -1;
                pLinkDynPrm->vbrDuration           = 0;
                pLinkDynPrm->vbrSensitivity        = 0;
                Vps_printf(" \n Codec is MJPEG \n");
                break;
    
              case SYSTEM_IVIDEO_H264HP: /* H264 */
                pLinkChPrm->format                 = SYSTEM_IVIDEO_H264HP;
                pLinkChPrm->profile                = 100;
                pLinkChPrm->dataLayout             = VENC_FIELD_SEPARATED;
                pLinkChPrm->fieldMergeEncodeEnable = FALSE;
                pLinkChPrm->enableAnalyticinfo     = 0;
                pLinkChPrm->enableWaterMarking     = 0;
                pLinkChPrm->maxBitRate             = -1;
                pLinkChPrm->encodingPreset         = SYSTEM_XDM_MED_SPEED_HIGH_QUALITY;
                /* Set to SYSTEM_XDM_USER_DEFINED if SEI/meta data needs to be enabled */
                pLinkChPrm->encodingPreset         = SYSTEM_XDM_USER_DEFINED;
                pLinkChPrm->rateControlPreset      = SYSTEM_IVIDEO_LOW_DELAY;
                pLinkChPrm->enableHighSpeed        = FALSE;
                pLinkChPrm->enableSVCExtensionFlag = FALSE;
                pLinkChPrm->numTemporalLayer       = 0;
                pLinkChPrm->overrideInputScanFormat= 0;
                pLinkChPrm->fieldPicEncode         = 0;
    
                pLinkDynPrm->intraFrameInterval    = 1;
                pLinkDynPrm->targetBitRate         = 10*1000*1000;
                pLinkDynPrm->interFrameInterval    = 1;
                pLinkDynPrm->mvAccuracy            = SYSTEM_IVIDENC2_MOTIONVECTOR_QUARTERPEL;
                pLinkDynPrm->inputFrameRate        = 30;
                pLinkDynPrm->rcAlg                 = 0;
                pLinkDynPrm->qpMin                 = 0;
                pLinkDynPrm->qpMax                 = 51;
                pLinkDynPrm->qpInit                = 25;
                pLinkDynPrm->vbrDuration           = 8;
                pLinkDynPrm->vbrSensitivity        = 0;
    		Vps_printf(" \n Codec is H264 \n");
                break;
    
              default: /* D1 */
                printf("\r\nCodec Type: %d, returning \n", pObj->codecType);
                UTILS_assert(FALSE);
                break;
            }
        }
    }
    /******/
    #endif
    
    /**
     *******************************************************************************
     *
     * \brief   Set link Parameters
     *
     *          It is called in Create function of the auto generated use-case file.
     *
     * \param pUcObj    [IN] Auto-generated usecase object
     * \param appObj    [IN] Application specific object
     *
     *******************************************************************************
    */
    
    Void chains_nullSrcDec_EncAvbTx_SetAppPrms(chains_nullSrcDec_EncAvbTxObj *pUcObj, Void *appObj)
    {
    #if 1
        chains_nullSrcDecAvbtxAppObj *pObj
            = (chains_nullSrcDecAvbtxAppObj*)appObj;
    
        Vps_printf("added link connection*******");
    
    #if 0
        pUcObj->IPCOut_IPU1_1_IPU1_0_0LinkID
            = SYSTEM_MAKE_LINK_ID(
                pObj->netProcId,
                pUcObj->IPCOut_IPU1_1_IPU1_0_0LinkID);
    
        pUcObj->NullSourceLinkID
            = SYSTEM_MAKE_LINK_ID(
                pObj->netProcId,
                pUcObj->NullSourceLinkID);
    #endif
       pUcObj->IPCIn_IPU1_1_IPU1_0_0LinkID
    	= SYSTEM_MAKE_LINK_ID(
                pObj->netProcId,
    	    pUcObj->IPCIn_IPU1_1_IPU1_0_0LinkID);
    
       pUcObj->AvbTxLinkID
    	= SYSTEM_MAKE_LINK_ID(
    	    pObj->netProcId,
                pUcObj->AvbTxLinkID);
    
        ChainsCommon_GetDisplayWidthHeight(
            pObj->chainsCfg->displayType,
            &pObj->displayWidth,
            &pObj->displayHeight
            );
    
    
     chains_nullSrcDec_EncAvbTx_SetNullSrcPrms(pObj, &pUcObj->NullSourcePrm);
    Vps_printf("in avbtx set app prms");
        //chains_nullSrcDec_EncAvbTx_SetDecodePrms(pObj, &pUcAvbTxObj->DecodePrm);
         ChainsCommon_SetDecodePrm(
                                &pUcObj->DecodePrm,
                                ENCDEC_MAX_FRAME_WIDTH,
                                ENCDEC_MAX_FRAME_HEIGHT,
                                pObj->numOfChannels,
                                pObj->codecType);
       
    
        chains_nullSrcDec_EncAvbTx_SetVPEPrms(
            &pUcObj->VPEPrm,
            1,
            ENCDEC_MAX_FRAME_WIDTH,
            ENCDEC_MAX_FRAME_HEIGHT,
            ENCDEC_MAX_FRAME_WIDTH,
            ENCDEC_MAX_FRAME_HEIGHT);
    
    #if 1
        chains_nullSrcDec_EncAvbTx_SetSyncPrm(
            &pUcObj->SyncPrm,
            pObj->numOfChannels
            );
    
        chains_nullSrcDec_EncAvbTx_SetEncPrms(&pUcObj->EncodePrm, pObj);
    #endif
        ChainsCommon_SetAvbTxPrm(&pUcObj->AvbTxPrm,
                                 AVB_TX_LINK_MAX_TALKERS_DEFAULT,
                                 pObj->codecType);
    #endif
    
    }
    /******/
    /**
     *******************************************************************************
     *
     * \brief   Start the capture display Links
     *
     *          Function sends a control command to capture and display link to
     *          to Start all the required links . Links are started in reverce
     *          order as information of next link is required to connect.
     *          System_linkStart is called with LinkId to start the links.
     *
     * \param   pObj  [IN] Chains_VipSingleCameraViewObj
     *
     * \return  SYSTEM_LINK_STATUS_SOK on success
     *
     *******************************************************************************
    */
    Void chains_nullSrcDec_EncAvbTx_StartApp(chains_nullSrcDecAvbtxAppObj *pObj)
    {
    
        //ChainsCommon_StartDisplayDevice(pObj->chainsCfg->displayType);
    
        Chains_memPrintHeapStatus();
    
        Chains_prfLoadCalcEnable(TRUE, FALSE, FALSE);
        
        
            chains_nullSrcDec_EncAvbTx_Start(&pObj->ucObj);
       
    
    }
    
    /**
     *******************************************************************************
     *
     * \brief   Delete the capture display Links
     *
     *          Function sends a control command to capture and display link to
     *          to delete all the prior created links
     *          System_linkDelete is called with LinkId to delete the links.
     *
     * \param   pObj   [IN]   Chains_VipSingleCameraViewObj
     *
     *******************************************************************************
    */
    Void chains_nullSrcDec_EncAvbTx_StopAndDeleteApp(chains_nullSrcDecAvbtxAppObj *pObj)
    {
        
           chains_nullSrcDec_EncAvbTx_Stop(&pObj->ucObj);
            chains_nullSrcDec_EncAvbTx_Delete(&pObj->ucObj);
       
    
        /* Print the HWI, SWI and all tasks load */
        /* Reset the accumulated timer ticks */
        Chains_prfLoadCalcEnable(FALSE, TRUE, TRUE);
    }
    
    /**
     *******************************************************************************
     * \brief Run Time Menu string for codec Type Selection.
     *******************************************************************************
     */
    char chains_nullSrcDec_EncAvbTx_codecTypeSelect[] = {
        "\r\n "
        "\r\n ========================================="
        "\r\n Chains Run-time Codec Type Selection Menu"
        "\r\n ========================================="
        "\r\n "
        "\r\n Enter '0' for MJPEG "
        "\r\n "
        "\r\n Enter '1' for H.264 "
        "\r\n "
        "\r\n Enter Choice: "
        "\r\n "
    };
    
    
    
    
    void chains_nullSrcDec_EncAvbTx_SetUseCaseCfg(chains_nullSrcDecAvbtxAppObj *pObj)
    {
    
    
    #ifdef ENABLE_CODEC_SELECTION
       char ch;
        UInt32 done = FALSE; 
    
        while(!done)
        {
    
            Vps_printf(chains_nullSrcDec_EncAvbTx_codecTypeSelect);
            ch = Chains_readChar();
            switch(ch)
            {
                case '0':
                    pObj->codecType = SYSTEM_IVIDEO_MJPEG;
                    done = TRUE;
                break;
                case '1':
                    pObj->codecType = SYSTEM_IVIDEO_H264HP;
                    done = TRUE;
                break;
                default:
                    Vps_printf("\nUnsupported option '%c'. Please try again\n",
                           pObj->codecType);
                break;
            }
        }
    #else
        pObj->codecType = SYSTEM_IVIDEO_H264HP;
    	Vps_printf("hardcode h264");
    #endif
    
    
    
    
        return;
    }
    
    
    
    /**
     *******************************************************************************
     *
     * \brief   Single Channel Capture Display usecase function
     *`
     *          This functions executes the create, start functions
     *
     *          Further in a while loop displays run time menu and waits
     *          for user inputs to print the statistics or to end the demo.
     *
     *          Once the user inputs end of demo stop and delete
     *          functions are executed.
     *
     * \param   chainsCfg       [IN]   Chains_Ctrl
     *
     *******************************************************************************
    */
    Void chains_nullSrcDec_EncAvbTx(Chains_Ctrl *chainsCfg)
    {
        char ch = 'a';
        UInt32 done = FALSE;
        chains_nullSrcDecAvbtxAppObj chainsObj;
         
    
    	chainsObj.netProcId = Utils_netGetProcId();
    	Vps_printf("get proc ID = %d",chainsObj.netProcId);
    
    #if 1
        if(chainsObj.netProcId==System_getSelfProcId())
        {
            Vps_printf(" \n");
            Vps_printf(" CHAINS: ERROR: Networking/NDK MUST be run on different CPU"
                       " than IPU1-0.\n");
            Vps_printf(" CHAINS: ERROR: If you need to run this use-case with NDK"
                       " on IPU1-0 then regenerate the use-case with NullSrc/Null"
                       " links on IPU1-0.\n"
                       );
            Vps_printf(" \n");
            return;
        }
    #endif
        chainsObj.chainsCfg = chainsCfg;
        chains_nullSrcDec_EncAvbTx_SetUseCaseCfg(&chainsObj);
        
    /* while(!done)
        {
            Vps_printf(chains_nullSrcDec_EncAvbTx_codecTypeSelect);
            chainsObj.codecType = Chains_readChar();
    
            switch(chainsObj.codecType)
            {
                case '0':
                    done = TRUE;
                    break;
                case '1':
                    done = TRUE;
                    break;
                default:
                    Vps_printf("\nUnsupported option '%c'. Please try again\n",
                               chainsObj.codecType);
                    break;
            }
        }*/
    
    
     
        
    
       
        chains_nullSrcDec_EncAvbTx_Create(&chainsObj.ucObj, &chainsObj);
      
    #if 1
    
        chains_nullSrcDec_EncAvbTx_StartApp(&chainsObj);
    
    
        done = FALSE;
        while(!done)
        {
            ch = '1';
            ch = Chains_menuRunTime();
            switch(ch)
            {
                case '0':
                    done = TRUE;
                    break;
    
                case 'p':
                case 'P':
                    
                        chains_nullSrcDec_EncAvbTx_printStatistics(&chainsObj.ucObj);
                   
                    break;
                default:
                    Vps_printf("\nUnsupported option '%c'. Please try again\n", ch);
                    break;
            }
        }
    
        chains_nullSrcDec_EncAvbTx_StopAndDeleteApp(&chainsObj);
    #endif
    }
    
    
    Hello Prasad,

    I have checked the input image format and resolution, they are correct.

    I am attaching the usecase main.c file and decode error log. Can you just go through it.

    Thanks,

    Neha

  • decodererror.txt
    TDA2Ex SBL Boot 
    
     DPLL Configuration Completed 
    
     Clock Domain Configuration Completed 
    
     Module Enable Configuration Completed 
    
     TI EVM PAD Config Completed 
    
     DDR Config Completed 
    
     App Image Download Begins 
    
     SD Boot - file open completed successfully 
    
     MPU CPU0 Image Load Completed 
    
     IPU1 CPU0 Image Load Completed 
    
     IPU1 CPU1 Image Load Completed 
    
     DSP1 Image Load Completed 
    
     App Image Download Completed 
    
    *****************************************************************
    
     PMCCNTR counts once every 64 clock cycles, multiple by 64 to get actual CPU cycles 
    
     SBL Initial Config Cycles - 103921  (8.31 ms)
     SOC Init Cycles - 180189  (14.41 ms)
     DDR Config Clock Cycles - 41156  (3.29 ms)
     App Image Load Cycles - 29229655  (2338.37 ms)
     Slave Core Bootup Cycles - 14349  (1.14 ms)
     SBL Boot-up Cycles - 29570358  (2365.62 ms)
    *****************************************************************
    
     Jumping to MPU CPU0 App 
    [IPU1-0]      6.643719 s:  ***** IPU1_0 Firmware build time 17:01:07 Feb 26 2018 
    [IPU1-0]      6.643902 s:  *** SYSTEM: CPU Frequency <ORG = 212800000 Hz>, <NEW = 212800000 Hz>
    [IPU1-0]      6.717379 s:  SYSTEM: Notify register to [IPU1-1] line 0, event 15... 
    [IPU1-0]      6.717562 s:  SYSTEM: Notify register to [DSP1] line 0, event 15... 
    [IPU1-0]      6.717684 s:  SYSTEM: Notify register to [HOST] line 0, event 15... 
    [IPU1-0]      6.719483 s:  SYSTEM: System Common Init in progress !!!
    [IPU1-0]      6.729488 s:  SYSTEM: IPC init in progress !!!
    [IPU1-0]      6.729610 s:  SYSTEM: Notify init done !!!
    [IPU1-0]      6.731348 s:  SYSTEM: MsgQ init done !!!
    [IPU1-0]      6.731440 s:  SYSTEM: IPC init DONE !!!
    [IPU1-0]      6.736686 s:  SYSTEM: System Common Init Done !!!
    [IPU1-0]      6.736777 s:  SYSTEM: System Init in progress !!!
    [IPU1-0]      6.736838 s:  SYSTEM: BSP Common Init in progress !!!
    [IPU1-0]      6.736930 s:  SYSTEM: BSP Common Init Done !!!
    [IPU1-0]      6.736991 s:  SYSTEM: BSP Platform Init in progress !!!
    [IPU1-0]      6.737113 s:  SYSTEM: BSP Platform Init Done !!!
    [IPU1-0]      6.737204 s:  SYSTEM: FVID2 Init in progress !!!
    [IPU1-0]      6.737357 s:  SYSTEM: FVID2 Init Done !!!
    [IPU1-0]      6.737448 s:  SYSTEM: VPS Init in progress !!!
    [IPU1-0]      6.737509 s:  SYSTEM: VPDMA Descriptor Memory Address translation ENABLED [0xa0000000 -> 0x80000000]
    [IPU1-0]      6.740346 s: *** VPDMA Firmware Loading... ***
    [IPU1-0]      6.740468 s: VPDMA Firmware Address = 0x8f0f8fc0
    [IPU1-0]      6.740529 s: VPDMA Load Address     = 0x4897d004
    [IPU1-0]      6.740651 s: VPDMA Firmware Version = 0x4d0001b8
    [IPU1-0]      6.740712 s: VPDMA List Busy Status = 0x00000000
    [IPU1-0]      6.740804 s: *** VPDMA Firmware Load Success ***
    [IPU1-0]      6.741139 s: *** VPDMA Firmware Loading... ***
    [IPU1-0]      6.741322 s: VPDMA Firmware Address = 0x8f0f8fc0
    [IPU1-0]      6.741414 s: VPDMA Load Address     = 0x489dd004
    [IPU1-0]      6.741536 s: VPDMA Firmware Version = 0x4d0001b8
    [IPU1-0]      6.741627 s: VPDMA List Busy Status = 0x00000000
    [IPU1-0]      6.741719 s: *** VPDMA Firmware Load Success ***
    [IPU1-0]      6.776276 s:  SYSTEM: VPS Init Done !!!
    [IPU1-0]      6.777069 s:  UTILS: DMA: HWI Create for INT34 !!!
    [IPU1-0]      6.777313 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2048 
    [IPU1-0]      6.777435 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 262144 B (256 KB), Free size = 257840 B (251 KB)
    [IPU1-0]      6.777587 s:  SYSTEM: Heap = SR_OCMC              @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
    [IPU1-0]      6.777740 s:  SYSTEM: Heap = SR_DDR_CACHED        @ 0x82803000, Total size = 209702912 B (199 MB), Free size = 209702912 B (199 MB)
    [IPU1-0]      6.777923 s:  SYSTEM: Heap = SR_DDR_NON_CACHED    @ 0xaf000000, Total size = 129408 B (0 MB), Free size = 124800 B (0 MB)
    [IPU1-0]      6.778076 s:  SYSTEM: Initializing Links !!! 
    [IPU1-0]      7.037363 s:  SYSTEM: Initializing Links ... DONE !!! 
    [IPU1-0]      7.045110 s:  BOARD: Board Init in progress !!!
    [IPU1-0]      7.245379 s:  BOARD: Board Init Done !!!
    [IPU1-0]      7.249832 s: 
    [IPU1-0]      7.249893 s:  Vision SDK Version    : [PROCESSOR_SDK_VISION_03_00_00_00]
    [IPU1-0]      7.249984 s:  BSP Version           : [PDK_01_07_00_xx]
    [IPU1-0]      7.250045 s:  Platform              : [EVM]
    [IPU1-0]      7.250106 s:  SOC                   : [TDA2EX]
    [IPU1-0]      7.250228 s:  SOC Revision          : [ES2.0]
    [IPU1-0]      7.256542 s:  Board Detected        : [UNKNOWN]
    [IPU1-0]      7.256603 s:  Base Board Revision   : [REV E]
    [IPU1-0]      7.256664 s:  Daughter Card Revision: [REV A]
    [IPU1-0]      7.256725 s:  
    [IPU1-1]      6.651802 s:  ***** IPU1_1 Firmware build time 16:59:10 Feb 26 2018
    [IPU1-1]      6.651985 s:  *** SYSTEM: CPU Frequency <ORG = 212800000 Hz>, <NEW = 212800000 Hz>
    [IPU1-1]      6.717806 s:  SYSTEM: Notify register to [IPU1-0] line 0, event 15... 
    [IPU1-1]      6.717989 s:  SYSTEM: Notify register to [DSP1] line 0, event 15... 
    [IPU1-1]      6.718111 s:  SYSTEM: Notify register to [HOST] line 0, event 15... 
    [IPU1-1]      6.720002 s: 
    [IPU1-1] Enable RGMII half-cycle-delay for 0, disable for 1
    [IPU1-1]      6.721039 s: Network: Set NOPHY Mode for RGMII0 
    [IPU1-1]      6.721313 s: Network: Setting PHY_ADDR=0 for RGMII1
    [IPU1-1]      6.727658 s:  SYSTEM: System Common Init in progress !!!
    [IPU1-1]      6.728451 s:  SYSTEM: IPC init in progress !!!
    [IPU1-1]      6.728542 s:  SYSTEM: Notify init done !!!
    [IPU1-1]      6.730281 s:  SYSTEM: MsgQ init done !!!
    [IPU1-1]      6.730372 s:  SYSTEM: IPC init DONE !!!
    [IPU1-1]      6.735649 s:  SYSTEM: System Common Init Done !!!
    [IPU1-1]      6.735771 s:  SYSTEM: System IPU1_1 Init in progress !!!
    [IPU1-1]      6.736655 s:  UTILS: DMA: HWI Create for INT25 !!!
    [IPU1-1]      6.736869 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2048 
    [IPU1-1]      6.736960 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 655360 B (640 KB), Free size = 625848 B (611 KB)
    [IPU1-1]      6.737113 s:  SYSTEM: Initializing Links !!! 
    [IPU1-1]      6.842066 s:  UTILS: PRF: ##### Cannot allocate Object for SYNC1 ####
    [IPU1-1]      6.844781 s:  UTILS: PRF: ##### Cannot allocate Object for SYNC2 ####
    [IPU1-1]      6.847709 s:  UTILS: PRF: ##### Cannot allocate Object for SYNC3 ####
    [IPU1-1]      6.851125 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM0 ####
    [IPU1-1]      6.854267 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM1 ####
    [IPU1-1]      6.857286 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM2 ####
    [IPU1-1]      6.860702 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM3 ####
    [IPU1-1]      6.864332 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM4 ####
    [IPU1-1]      6.867687 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM5 ####
    [IPU1-1]      6.871286 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM6 ####
    [IPU1-1]      6.874763 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM7 ####
    [IPU1-1]      6.874916 s:  SYSTEM: Initializing Links ... DONE !!! 
    [IPU1-1]      6.876044 s:  SYSTEM: System IPU1_1 Init Done !!!
    [HOST  ]      6.699993 s:  ***** A15_0 Firmware build time 16:58:48 Feb 26 2018 
    [HOST  ]      6.700024 s:  *** SYSTEM: CPU Frequency <ORG = 588000000 Hz>, <NEW = 800000000 Hz>
    [HOST  ]      6.717470 s:  SYSTEM: Notify register to [IPU1-0] line 0, event 15... 
    [HOST  ]      6.717470 s:  SYSTEM: Notify register to [IPU1-1] line 0, event 15... 
    [HOST  ]      6.717501 s:  SYSTEM: Notify register to [DSP1] line 0, event 15... 
    [HOST  ]      6.717531 s:  SYSTEM: System Common Init in progress !!!
    [HOST  ]      6.717592 s:  SYSTEM: IPC init in progress !!!
    [HOST  ]      6.717592 s:  SYSTEM: Notify init done !!!
    [HOST  ]      6.717623 s:  SYSTEM: MsgQ init done !!!
    [HOST  ]      6.717623 s:  SYSTEM: IPC init DONE !!!
    [HOST  ]      6.718629 s:  SYSTEM: System Common Init Done !!!
    [HOST  ]      6.718629 s:  SYSTEM: System A15 Init in progress !!!
    [HOST  ]      6.718690 s:  UTILS: DMA: HWI Create for INT66 !!!
    [HOST  ]      6.718690 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2048 
    [HOST  ]      6.718721 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 6291456 B (6144 KB), Free size = 6286416 B (6139 KB)
    [HOST  ]      6.718751 s:  SYSTEM: Initializing Links !!! 
    [HOST  ]      6.721344 s:  UTILS: PRF: ##### Cannot allocate Object for SYNC3 ####
    [HOST  ]      6.721405 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM0 ####
    [HOST  ]      6.721496 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM1 ####
    [HOST  ]      6.721557 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM2 ####
    [HOST  ]      6.721649 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM3 ####
    [HOST  ]      6.721710 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM4 ####
    [HOST  ]      6.721801 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM5 ####
    [HOST  ]      6.721893 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM6 ####
    [HOST  ]      6.721954 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM7 ####
    [HOST  ]      6.721984 s:  SYSTEM: Initializing Links ... DONE !!! 
    [HOST  ]      6.721984 s:  SYSTEM: System A15 Init Done !!!
    [DSP1  ]      6.716830 s:  ***** DSP1 Firmware build time 16:59:33 Feb 26 2018
    [DSP1  ]      6.716891 s:  *** SYSTEM: CPU Frequency <ORG = 600000000 Hz>, <NEW = 700000000 Hz>
    [DSP1  ]      6.717806 s:  SYSTEM: Notify register to [IPU1-0] line 0, event 15... 
    [DSP1  ]      6.717867 s:  SYSTEM: Notify register to [IPU1-1] line 0, event 15... 
    [DSP1  ]      6.717897 s:  SYSTEM: Notify register to [HOST] line 0, event 15... 
    [DSP1  ]      6.718111 s:  SYSTEM: System Common Init in progress !!!
    [DSP1  ]      6.718263 s:  SYSTEM: IPC init in progress !!!
    [DSP1  ]      6.718294 s:  SYSTEM: Notify init done !!!
    [DSP1  ]      6.718446 s:  SYSTEM: MsgQ init done !!!
    [DSP1  ]      6.718477 s:  SYSTEM: IPC init DONE !!!
    [DSP1  ]      6.719636 s:  SYSTEM: System Common Init Done !!!
    [DSP1  ]      6.719666 s:  SYSTEM: System DSP Init in progress !!!
    [DSP1  ]      6.719910 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2048 
    [DSP1  ]      6.719941 s:  SYSTEM: Heap = LOCAL_L2             @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB)
    [DSP1  ]      6.720002 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 524288 B (512 KB), Free size = 520416 B (508 KB)
    [DSP1  ]      6.720032 s:  SYSTEM: Initializing Links !!! 
    [DSP1  ]      6.727627 s:  SYSTEM: Initializing Links ... DONE !!! 
    [DSP1  ]      6.727658 s:  SYSTEM: System DSP Init Done !!!
    [DSP1  ]      7.045110 s:  UTILS: XMC_MPU:  Segments used = 4
    [DSP1  ]      7.045141 s:  SYSTEM: CACHE: L1P = 32 KB, L1D = 32 KB, L2 = 32 KB ... after boot !!!
    [DSP1  ]      7.045171 s:  SYSTEM: CACHE: L1P = 32 KB, L1D = 32 KB, L2 = 32 KB ... after update by APP !!!
    [IPU1-0]      8.267156 s: This is good.
    [IPU1-0]      8.268773 s: CAN_OK
    [IPU1-0]      8.271396 s: 
    [IPU1-0]  Starting Button PWM Task
    [IPU1-0]      8.337125 s:  
    [IPU1-0]      8.337278 s:  Current System Settings,
    [IPU1-0]      8.337339 s:  ========================
    [IPU1-0]      8.337400 s:  Display Type   : HDMI 1920x1080 @ 60fps 
    [IPU1-0]      8.337491 s:  My IP address  : 0.0.0.0 
    [IPU1-0]      8.337522 s:  
    [IPU1-0]      8.337583 s:  ============
    [IPU1-0]      8.337613 s:  Usecase Menu
    [IPU1-0]      8.337674 s:  ============
    [IPU1-0]      8.337705 s: 
    [IPU1-0]  
    [IPU1-0]  Vision SDK Usecases,
    [IPU1-0]  -------------------- 
    [IPU1-0]  1: AVB RX Usecases, (TDA2x & TDA2Ex ONLY)
    [IPU1-0]  2: Network RX/TX Usecases
    [IPU1-0]  3: D3 Board Tests
    [IPU1-0]  4: Serial UDS Tests
    [IPU1-0]  5: TCAN Serial Spi Utils
    [IPU1-0]  6: AVB TX Stress Test
    [IPU1-0]  7: BCM Serial Spi Utils
    [IPU1-0]  
    [IPU1-0]  a: Miscellaneous test's
    [IPU1-0]  s: System Settings 
    [IPU1-0]  
    [IPU1-0]  x: Exit 
    [IPU1-0]  
    [IPU1-0]  Enter Choice: 
    [IPU1-0]  
    [IPU1-0]     11.260111 s:  
    [IPU1-0]     11.260172 s: 
    [IPU1-0]  
    [IPU1-0]  Miscellaneous Test's
    [IPU1-0]  --------------------
    [IPU1-0]  1: File IO using MMCSD
    [IPU1-0]  2: NullSrc (File IO) + Decode + Display
    [IPU1-0]  3: NullSrc (File IO) + Decode + Display +avbtx
    [IPU1-0]  4: NullSrc (File IO) + Decode + Avbtx
    [IPU1-0]  
    [IPU1-0]  x: Exit 
    [IPU1-0]  
    [IPU1-0]  Enter Choice: 
    [IPU1-0]  
    [IPU1-0]     11.276642 s: FICODEM ERROR: id=1, status=1
    [IPU1-1]     11.875312 s:  NETWORK_CTRL: Starting Server (port=5000) !!!
    [IPU1-1]     11.875831 s:  NETWORK_CTRL: Starting Server ... DONE (port=5000) !!!
    [IPU1-0]     15.555755 s:  
    [IPU1-0]     15.555816 s: get proc ID = 1
    [IPU1-0]     15.555877 s: 
    [IPU1-0]  
    [IPU1-0]  =========================================
    [IPU1-0]  Chains Run-time Codec Type Selection Menu
    [IPU1-0]  =========================================
    [IPU1-0]  
    [IPU1-0]  Enter '0' for MJPEG 
    [IPU1-0]  
    [IPU1-0]  Enter '1' for H.264 
    [IPU1-0]  
    [IPU1-0]  Enter Choice: 
    [IPU1-0]  
    [IPU1-0]     17.180229 s: added link connection*******
    [IPU1-0]     17.180351 s: in avbtx set app prms
    [IPU1-0]     17.180412 s: inside new vpe set
    [IPU1-0]     17.180534 s:  
    [IPU1-0]  Codec is H264 
    [IPU1-0]     17.180717 s: in null src file open****** 1280x720_00.h264
    [IPU1-0]     17.216830 s:  FILE: Reading file [1280x720_00.hdr] ... 
    [IPU1-0]     17.222381 s:  FILE: File read Done. [200 bytes] 
    [IPU1-0]     17.317544 s:  DECODE: Create in progress ... !!!
    [IPU1-0]     17.445251 s:  DECODE: Creating CH0 of 1280 x 720 [1] [0],target bitrate = 10000 Kbps ... 
    [IPU1-0]     17.446013 s:  DECODE: All CH Create ... DONE !!!
    [IPU1-0]     17.447691 s:  DECODE: Create ... DONE !!!
    [IPU1-0]     17.451564 s:  VPE: Create in progress !!!
    [IPU1-0]     17.619288 s:  VPE: Loading Up-scaling Co-effs
    [IPU1-0]     17.619593 s:  VPE: Co-effs Loading ... DONE !!!
    [IPU1-0]     17.619837 s:  VPE: Create Done !!!
    [IPU1-0]     17.625114 s:  ENCODE: Create in progress ... !!!
    [IPU1-0]     17.747270 s:  ENCODE: Creating CH0 of 1920 x 1080,  pitch = (1920, 1920) [1] [0], bitrate = 10000 Kbps ... 
    [IPU1-0]     17.872049 s:  ENCODE: CH0: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01
    [IPU1-0]     17.872323 s:  ENCODE: All CH Create ... DONE !!!
    [IPU1-0]     17.873696 s:  ENCODE: Create ... DONE !!!
    [IPU1-0]     17.874031 s:  IPC_OUT_0   : Create in progress !!!
    [IPU1-0]     17.874397 s:  IPC_OUT_0   : Create Done !!!
    [IPU1-0]     17.884828 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047 
    [IPU1-0]     17.885042 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 262144 B (256 KB), Free size = 251120 B (245 KB)
    [IPU1-0]     17.885194 s:  SYSTEM: Heap = SR_OCMC              @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
    [IPU1-0]     17.885377 s:  SYSTEM: Heap = SR_DDR_CACHED        @ 0x82803000, Total size = 209702912 B (199 MB), Free size = 162478592 B (154 MB)
    [IPU1-0]     17.885682 s:  SYSTEM: Heap = SR_DDR_NON_CACHED    @ 0xaf000000, Total size = 129408 B (0 MB), Free size = 124800 B (0 MB)
    [IPU1-0]     17.891905 s: 
    [IPU1-0]  
    [IPU1-0]  ====================
    [IPU1-0]  Chains Run-time Menu
    [IPU1-0]  ====================
    [IPU1-0]  
    [IPU1-0]  0: Stop Chain
    [IPU1-0]  
    [IPU1-0]  1: Change Display Channel (Support 4CH LVDS + Mosaic use-case only)
    [IPU1-0]  
    [IPU1-0]  p: Print Performance Statistics 
    [IPU1-0]  
    [IPU1-0]  Enter Choice: 
    [IPU1-0]  
    [IPU1-0]     17.970139 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     17.970261 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     17.970658 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     17.970963 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.033794 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.033886 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.034343 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.034618 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.096931 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.097053 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.097541 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.097785 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-1]     17.874733 s:  IPC_IN_0   : Create in progress !!!
    [IPU1-1]     17.875922 s:  IPC_IN_0   : Create Done !!!
    [IPU1-1]     17.876319 s:  AVBTX: Create in progress !!!
    [IPU1-1]     17.884432 s:  AVBTX: Create Done !!!
    [IPU1-1]     17.887329 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047 
    [IPU1-1]     17.887817 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 655360 B (640 KB), Free size = 625632 B (610 KB)
    [IPU1-1]     17.889404 s:  AVBTP Tx: Start in progress !!!
    [IPU1-1]     17.891112 s:  AVBTP Tx: Start Done !!!
    [HOST  ]     17.888366 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047 
    [HOST  ]     17.888397 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 6291456 B (6144 KB), Free size = 6282992 B (6135 KB)
    [DSP1  ]     17.888702 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047 
    [DSP1  ]     17.888732 s:  SYSTEM: Heap = LOCAL_L2             @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB)
    [DSP1  ]     17.888763 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 524288 B (512 KB), Free size = 520256 B (508 KB)
    [IPU1-0]     18.159671 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.159793 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.160190 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.160373 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.222869 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.222991 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.223388 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.223632 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.290123 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.290245 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.290642 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.290886 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.382602 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.382724 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.383120 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.383334 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.446562 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.446684 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.447050 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.447264 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.510736 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.510858 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.511224 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.511437 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.574727 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.574849 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.575215 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.575459 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.638626 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.638748 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.639114 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.639327 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.734002 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.734124 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.734551 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.734764 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.798572 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.798694 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.799091 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.799304 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.862654 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.862776 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.863112 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.863295 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.926645 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.926767 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.927133 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.927347 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.990636 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.990758 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.991154 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.991368 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.057951 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.058043 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.058439 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.058714 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.150399 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.150582 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.150979 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.151192 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.214573 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.214695 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.215061 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.215244 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.278198 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.278320 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.278747 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.278991 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.342676 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.342798 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.343164 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.343378 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.406575 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.406697 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.407063 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.407307 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.502348 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.502470 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.502867 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.503111 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.569206 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.569328 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.569724 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.569938 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.633776 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.633898 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.634264 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.634539 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.696943 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.697065 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.697431 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.697706 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.759714 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.759836 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.760233 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.760446 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.822790 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.822912 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.823278 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.823522 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.890105 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.890227 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.890654 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.890868 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.982645 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.982767 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.983133 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.983346 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     20.046666 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     20.046788 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     20.047184 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     20.047398 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     20.110717 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     20.110839 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     20.111236 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     20.111480 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     20.174739 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    
    
    Also find attached the error log.

  • Hello Neha,

    Can you please share the video file (.h264) and index fille?

    Also I have asked codec expert to help with decoding error.

  • Hello Prasad,

    I have used the video file shared by you. I have checked, its working with the null_src_dec_display usecase.
    Below is the link from where I downloaded the videos:
    e2e.ti.com/.../1018.1280x720_5F00_00.zip

    Is my usecase main.c file correct, or i need to do some more configurations?

    Thanks,
    Neha
  • Hi Neha,

    I would like to check the codec issue here.

    Neha Bhosale said:
    [IPU1-0] 19.577319 s: DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0] 19.577411 s: DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0] 19.577777 s: DECODE: CH0: H264 Decoder Flushing !!!

    Can you print what extendedError is thrown by the codec here?

    Also can you set decPrm->displayDelay = IVIDDEC3_DISPLAY_DELAY_AUTO?

  • 3051.decodererror.txt
    TDA2Ex SBL Boot 
    
     DPLL Configuration Completed 
    
     Clock Domain Configuration Completed 
    
     Module Enable Configuration Completed 
    
     TI EVM PAD Config Completed 
    
     DDR Config Completed 
    
     App Image Download Begins 
    
     SD Boot - file open completed successfully 
    
     MPU CPU0 Image Load Completed 
    
     IPU1 CPU0 Image Load Completed 
    
     IPU1 CPU1 Image Load Completed 
    
     DSP1 Image Load Completed 
    
     App Image Download Completed 
    
    *****************************************************************
    
     PMCCNTR counts once every 64 clock cycles, multiple by 64 to get actual CPU cycles 
    
     SBL Initial Config Cycles - 103921  (8.31 ms)
     SOC Init Cycles - 180189  (14.41 ms)
     DDR Config Clock Cycles - 41156  (3.29 ms)
     App Image Load Cycles - 29229655  (2338.37 ms)
     Slave Core Bootup Cycles - 14349  (1.14 ms)
     SBL Boot-up Cycles - 29570358  (2365.62 ms)
    *****************************************************************
    
     Jumping to MPU CPU0 App 
    [IPU1-0]      6.643719 s:  ***** IPU1_0 Firmware build time 17:01:07 Feb 26 2018 
    [IPU1-0]      6.643902 s:  *** SYSTEM: CPU Frequency <ORG = 212800000 Hz>, <NEW = 212800000 Hz>
    [IPU1-0]      6.717379 s:  SYSTEM: Notify register to [IPU1-1] line 0, event 15... 
    [IPU1-0]      6.717562 s:  SYSTEM: Notify register to [DSP1] line 0, event 15... 
    [IPU1-0]      6.717684 s:  SYSTEM: Notify register to [HOST] line 0, event 15... 
    [IPU1-0]      6.719483 s:  SYSTEM: System Common Init in progress !!!
    [IPU1-0]      6.729488 s:  SYSTEM: IPC init in progress !!!
    [IPU1-0]      6.729610 s:  SYSTEM: Notify init done !!!
    [IPU1-0]      6.731348 s:  SYSTEM: MsgQ init done !!!
    [IPU1-0]      6.731440 s:  SYSTEM: IPC init DONE !!!
    [IPU1-0]      6.736686 s:  SYSTEM: System Common Init Done !!!
    [IPU1-0]      6.736777 s:  SYSTEM: System Init in progress !!!
    [IPU1-0]      6.736838 s:  SYSTEM: BSP Common Init in progress !!!
    [IPU1-0]      6.736930 s:  SYSTEM: BSP Common Init Done !!!
    [IPU1-0]      6.736991 s:  SYSTEM: BSP Platform Init in progress !!!
    [IPU1-0]      6.737113 s:  SYSTEM: BSP Platform Init Done !!!
    [IPU1-0]      6.737204 s:  SYSTEM: FVID2 Init in progress !!!
    [IPU1-0]      6.737357 s:  SYSTEM: FVID2 Init Done !!!
    [IPU1-0]      6.737448 s:  SYSTEM: VPS Init in progress !!!
    [IPU1-0]      6.737509 s:  SYSTEM: VPDMA Descriptor Memory Address translation ENABLED [0xa0000000 -> 0x80000000]
    [IPU1-0]      6.740346 s: *** VPDMA Firmware Loading... ***
    [IPU1-0]      6.740468 s: VPDMA Firmware Address = 0x8f0f8fc0
    [IPU1-0]      6.740529 s: VPDMA Load Address     = 0x4897d004
    [IPU1-0]      6.740651 s: VPDMA Firmware Version = 0x4d0001b8
    [IPU1-0]      6.740712 s: VPDMA List Busy Status = 0x00000000
    [IPU1-0]      6.740804 s: *** VPDMA Firmware Load Success ***
    [IPU1-0]      6.741139 s: *** VPDMA Firmware Loading... ***
    [IPU1-0]      6.741322 s: VPDMA Firmware Address = 0x8f0f8fc0
    [IPU1-0]      6.741414 s: VPDMA Load Address     = 0x489dd004
    [IPU1-0]      6.741536 s: VPDMA Firmware Version = 0x4d0001b8
    [IPU1-0]      6.741627 s: VPDMA List Busy Status = 0x00000000
    [IPU1-0]      6.741719 s: *** VPDMA Firmware Load Success ***
    [IPU1-0]      6.776276 s:  SYSTEM: VPS Init Done !!!
    [IPU1-0]      6.777069 s:  UTILS: DMA: HWI Create for INT34 !!!
    [IPU1-0]      6.777313 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2048 
    [IPU1-0]      6.777435 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 262144 B (256 KB), Free size = 257840 B (251 KB)
    [IPU1-0]      6.777587 s:  SYSTEM: Heap = SR_OCMC              @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
    [IPU1-0]      6.777740 s:  SYSTEM: Heap = SR_DDR_CACHED        @ 0x82803000, Total size = 209702912 B (199 MB), Free size = 209702912 B (199 MB)
    [IPU1-0]      6.777923 s:  SYSTEM: Heap = SR_DDR_NON_CACHED    @ 0xaf000000, Total size = 129408 B (0 MB), Free size = 124800 B (0 MB)
    [IPU1-0]      6.778076 s:  SYSTEM: Initializing Links !!! 
    [IPU1-0]      7.037363 s:  SYSTEM: Initializing Links ... DONE !!! 
    [IPU1-0]      7.045110 s:  BOARD: Board Init in progress !!!
    [IPU1-0]      7.245379 s:  BOARD: Board Init Done !!!
    [IPU1-0]      7.249832 s: 
    [IPU1-0]      7.249893 s:  Vision SDK Version    : [PROCESSOR_SDK_VISION_03_00_00_00]
    [IPU1-0]      7.249984 s:  BSP Version           : [PDK_01_07_00_xx]
    [IPU1-0]      7.250045 s:  Platform              : [EVM]
    [IPU1-0]      7.250106 s:  SOC                   : [TDA2EX]
    [IPU1-0]      7.250228 s:  SOC Revision          : [ES2.0]
    [IPU1-0]      7.256542 s:  Board Detected        : [UNKNOWN]
    [IPU1-0]      7.256603 s:  Base Board Revision   : [REV E]
    [IPU1-0]      7.256664 s:  Daughter Card Revision: [REV A]
    [IPU1-0]      7.256725 s:  
    [IPU1-1]      6.651802 s:  ***** IPU1_1 Firmware build time 16:59:10 Feb 26 2018
    [IPU1-1]      6.651985 s:  *** SYSTEM: CPU Frequency <ORG = 212800000 Hz>, <NEW = 212800000 Hz>
    [IPU1-1]      6.717806 s:  SYSTEM: Notify register to [IPU1-0] line 0, event 15... 
    [IPU1-1]      6.717989 s:  SYSTEM: Notify register to [DSP1] line 0, event 15... 
    [IPU1-1]      6.718111 s:  SYSTEM: Notify register to [HOST] line 0, event 15... 
    [IPU1-1]      6.720002 s: 
    [IPU1-1] Enable RGMII half-cycle-delay for 0, disable for 1
    [IPU1-1]      6.721039 s: Network: Set NOPHY Mode for RGMII0 
    [IPU1-1]      6.721313 s: Network: Setting PHY_ADDR=0 for RGMII1
    [IPU1-1]      6.727658 s:  SYSTEM: System Common Init in progress !!!
    [IPU1-1]      6.728451 s:  SYSTEM: IPC init in progress !!!
    [IPU1-1]      6.728542 s:  SYSTEM: Notify init done !!!
    [IPU1-1]      6.730281 s:  SYSTEM: MsgQ init done !!!
    [IPU1-1]      6.730372 s:  SYSTEM: IPC init DONE !!!
    [IPU1-1]      6.735649 s:  SYSTEM: System Common Init Done !!!
    [IPU1-1]      6.735771 s:  SYSTEM: System IPU1_1 Init in progress !!!
    [IPU1-1]      6.736655 s:  UTILS: DMA: HWI Create for INT25 !!!
    [IPU1-1]      6.736869 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2048 
    [IPU1-1]      6.736960 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 655360 B (640 KB), Free size = 625848 B (611 KB)
    [IPU1-1]      6.737113 s:  SYSTEM: Initializing Links !!! 
    [IPU1-1]      6.842066 s:  UTILS: PRF: ##### Cannot allocate Object for SYNC1 ####
    [IPU1-1]      6.844781 s:  UTILS: PRF: ##### Cannot allocate Object for SYNC2 ####
    [IPU1-1]      6.847709 s:  UTILS: PRF: ##### Cannot allocate Object for SYNC3 ####
    [IPU1-1]      6.851125 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM0 ####
    [IPU1-1]      6.854267 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM1 ####
    [IPU1-1]      6.857286 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM2 ####
    [IPU1-1]      6.860702 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM3 ####
    [IPU1-1]      6.864332 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM4 ####
    [IPU1-1]      6.867687 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM5 ####
    [IPU1-1]      6.871286 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM6 ####
    [IPU1-1]      6.874763 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM7 ####
    [IPU1-1]      6.874916 s:  SYSTEM: Initializing Links ... DONE !!! 
    [IPU1-1]      6.876044 s:  SYSTEM: System IPU1_1 Init Done !!!
    [HOST  ]      6.699993 s:  ***** A15_0 Firmware build time 16:58:48 Feb 26 2018 
    [HOST  ]      6.700024 s:  *** SYSTEM: CPU Frequency <ORG = 588000000 Hz>, <NEW = 800000000 Hz>
    [HOST  ]      6.717470 s:  SYSTEM: Notify register to [IPU1-0] line 0, event 15... 
    [HOST  ]      6.717470 s:  SYSTEM: Notify register to [IPU1-1] line 0, event 15... 
    [HOST  ]      6.717501 s:  SYSTEM: Notify register to [DSP1] line 0, event 15... 
    [HOST  ]      6.717531 s:  SYSTEM: System Common Init in progress !!!
    [HOST  ]      6.717592 s:  SYSTEM: IPC init in progress !!!
    [HOST  ]      6.717592 s:  SYSTEM: Notify init done !!!
    [HOST  ]      6.717623 s:  SYSTEM: MsgQ init done !!!
    [HOST  ]      6.717623 s:  SYSTEM: IPC init DONE !!!
    [HOST  ]      6.718629 s:  SYSTEM: System Common Init Done !!!
    [HOST  ]      6.718629 s:  SYSTEM: System A15 Init in progress !!!
    [HOST  ]      6.718690 s:  UTILS: DMA: HWI Create for INT66 !!!
    [HOST  ]      6.718690 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2048 
    [HOST  ]      6.718721 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 6291456 B (6144 KB), Free size = 6286416 B (6139 KB)
    [HOST  ]      6.718751 s:  SYSTEM: Initializing Links !!! 
    [HOST  ]      6.721344 s:  UTILS: PRF: ##### Cannot allocate Object for SYNC3 ####
    [HOST  ]      6.721405 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM0 ####
    [HOST  ]      6.721496 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM1 ####
    [HOST  ]      6.721557 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM2 ####
    [HOST  ]      6.721649 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM3 ####
    [HOST  ]      6.721710 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM4 ####
    [HOST  ]      6.721801 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM5 ####
    [HOST  ]      6.721893 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM6 ####
    [HOST  ]      6.721954 s:  UTILS: PRF: ##### Cannot allocate Object for ALGORITHM7 ####
    [HOST  ]      6.721984 s:  SYSTEM: Initializing Links ... DONE !!! 
    [HOST  ]      6.721984 s:  SYSTEM: System A15 Init Done !!!
    [DSP1  ]      6.716830 s:  ***** DSP1 Firmware build time 16:59:33 Feb 26 2018
    [DSP1  ]      6.716891 s:  *** SYSTEM: CPU Frequency <ORG = 600000000 Hz>, <NEW = 700000000 Hz>
    [DSP1  ]      6.717806 s:  SYSTEM: Notify register to [IPU1-0] line 0, event 15... 
    [DSP1  ]      6.717867 s:  SYSTEM: Notify register to [IPU1-1] line 0, event 15... 
    [DSP1  ]      6.717897 s:  SYSTEM: Notify register to [HOST] line 0, event 15... 
    [DSP1  ]      6.718111 s:  SYSTEM: System Common Init in progress !!!
    [DSP1  ]      6.718263 s:  SYSTEM: IPC init in progress !!!
    [DSP1  ]      6.718294 s:  SYSTEM: Notify init done !!!
    [DSP1  ]      6.718446 s:  SYSTEM: MsgQ init done !!!
    [DSP1  ]      6.718477 s:  SYSTEM: IPC init DONE !!!
    [DSP1  ]      6.719636 s:  SYSTEM: System Common Init Done !!!
    [DSP1  ]      6.719666 s:  SYSTEM: System DSP Init in progress !!!
    [DSP1  ]      6.719910 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2048 
    [DSP1  ]      6.719941 s:  SYSTEM: Heap = LOCAL_L2             @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB)
    [DSP1  ]      6.720002 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 524288 B (512 KB), Free size = 520416 B (508 KB)
    [DSP1  ]      6.720032 s:  SYSTEM: Initializing Links !!! 
    [DSP1  ]      6.727627 s:  SYSTEM: Initializing Links ... DONE !!! 
    [DSP1  ]      6.727658 s:  SYSTEM: System DSP Init Done !!!
    [DSP1  ]      7.045110 s:  UTILS: XMC_MPU:  Segments used = 4
    [DSP1  ]      7.045141 s:  SYSTEM: CACHE: L1P = 32 KB, L1D = 32 KB, L2 = 32 KB ... after boot !!!
    [DSP1  ]      7.045171 s:  SYSTEM: CACHE: L1P = 32 KB, L1D = 32 KB, L2 = 32 KB ... after update by APP !!!
    [IPU1-0]      8.267156 s: This is good.
    [IPU1-0]      8.268773 s: CAN_OK
    [IPU1-0]      8.271396 s: 
    [IPU1-0]  Starting Button PWM Task
    [IPU1-0]      8.337125 s:  
    [IPU1-0]      8.337278 s:  Current System Settings,
    [IPU1-0]      8.337339 s:  ========================
    [IPU1-0]      8.337400 s:  Display Type   : HDMI 1920x1080 @ 60fps 
    [IPU1-0]      8.337491 s:  My IP address  : 0.0.0.0 
    [IPU1-0]      8.337522 s:  
    [IPU1-0]      8.337583 s:  ============
    [IPU1-0]      8.337613 s:  Usecase Menu
    [IPU1-0]      8.337674 s:  ============
    [IPU1-0]      8.337705 s: 
    [IPU1-0]  
    [IPU1-0]  Vision SDK Usecases,
    [IPU1-0]  -------------------- 
    [IPU1-0]  1: AVB RX Usecases, (TDA2x & TDA2Ex ONLY)
    [IPU1-0]  2: Network RX/TX Usecases
    [IPU1-0]  3: D3 Board Tests
    [IPU1-0]  4: Serial UDS Tests
    [IPU1-0]  5: TCAN Serial Spi Utils
    [IPU1-0]  6: AVB TX Stress Test
    [IPU1-0]  7: BCM Serial Spi Utils
    [IPU1-0]  
    [IPU1-0]  a: Miscellaneous test's
    [IPU1-0]  s: System Settings 
    [IPU1-0]  
    [IPU1-0]  x: Exit 
    [IPU1-0]  
    [IPU1-0]  Enter Choice: 
    [IPU1-0]  
    [IPU1-0]     11.260111 s:  
    [IPU1-0]     11.260172 s: 
    [IPU1-0]  
    [IPU1-0]  Miscellaneous Test's
    [IPU1-0]  --------------------
    [IPU1-0]  1: File IO using MMCSD
    [IPU1-0]  2: NullSrc (File IO) + Decode + Display
    [IPU1-0]  3: NullSrc (File IO) + Decode + Display +avbtx
    [IPU1-0]  4: NullSrc (File IO) + Decode + Avbtx
    [IPU1-0]  
    [IPU1-0]  x: Exit 
    [IPU1-0]  
    [IPU1-0]  Enter Choice: 
    [IPU1-0]  
    [IPU1-0]     11.276642 s: FICODEM ERROR: id=1, status=1
    [IPU1-1]     11.875312 s:  NETWORK_CTRL: Starting Server (port=5000) !!!
    [IPU1-1]     11.875831 s:  NETWORK_CTRL: Starting Server ... DONE (port=5000) !!!
    [IPU1-0]     15.555755 s:  
    [IPU1-0]     15.555816 s: get proc ID = 1
    [IPU1-0]     15.555877 s: 
    [IPU1-0]  
    [IPU1-0]  =========================================
    [IPU1-0]  Chains Run-time Codec Type Selection Menu
    [IPU1-0]  =========================================
    [IPU1-0]  
    [IPU1-0]  Enter '0' for MJPEG 
    [IPU1-0]  
    [IPU1-0]  Enter '1' for H.264 
    [IPU1-0]  
    [IPU1-0]  Enter Choice: 
    [IPU1-0]  
    [IPU1-0]     17.180229 s: added link connection*******
    [IPU1-0]     17.180351 s: in avbtx set app prms
    [IPU1-0]     17.180412 s: inside new vpe set
    [IPU1-0]     17.180534 s:  
    [IPU1-0]  Codec is H264 
    [IPU1-0]     17.180717 s: in null src file open****** 1280x720_00.h264
    [IPU1-0]     17.216830 s:  FILE: Reading file [1280x720_00.hdr] ... 
    [IPU1-0]     17.222381 s:  FILE: File read Done. [200 bytes] 
    [IPU1-0]     17.317544 s:  DECODE: Create in progress ... !!!
    [IPU1-0]     17.445251 s:  DECODE: Creating CH0 of 1280 x 720 [1] [0],target bitrate = 10000 Kbps ... 
    [IPU1-0]     17.446013 s:  DECODE: All CH Create ... DONE !!!
    [IPU1-0]     17.447691 s:  DECODE: Create ... DONE !!!
    [IPU1-0]     17.451564 s:  VPE: Create in progress !!!
    [IPU1-0]     17.619288 s:  VPE: Loading Up-scaling Co-effs
    [IPU1-0]     17.619593 s:  VPE: Co-effs Loading ... DONE !!!
    [IPU1-0]     17.619837 s:  VPE: Create Done !!!
    [IPU1-0]     17.625114 s:  ENCODE: Create in progress ... !!!
    [IPU1-0]     17.747270 s:  ENCODE: Creating CH0 of 1920 x 1080,  pitch = (1920, 1920) [1] [0], bitrate = 10000 Kbps ... 
    [IPU1-0]     17.872049 s:  ENCODE: CH0: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01
    [IPU1-0]     17.872323 s:  ENCODE: All CH Create ... DONE !!!
    [IPU1-0]     17.873696 s:  ENCODE: Create ... DONE !!!
    [IPU1-0]     17.874031 s:  IPC_OUT_0   : Create in progress !!!
    [IPU1-0]     17.874397 s:  IPC_OUT_0   : Create Done !!!
    [IPU1-0]     17.884828 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047 
    [IPU1-0]     17.885042 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 262144 B (256 KB), Free size = 251120 B (245 KB)
    [IPU1-0]     17.885194 s:  SYSTEM: Heap = SR_OCMC              @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
    [IPU1-0]     17.885377 s:  SYSTEM: Heap = SR_DDR_CACHED        @ 0x82803000, Total size = 209702912 B (199 MB), Free size = 162478592 B (154 MB)
    [IPU1-0]     17.885682 s:  SYSTEM: Heap = SR_DDR_NON_CACHED    @ 0xaf000000, Total size = 129408 B (0 MB), Free size = 124800 B (0 MB)
    [IPU1-0]     17.891905 s: 
    [IPU1-0]  
    [IPU1-0]  ====================
    [IPU1-0]  Chains Run-time Menu
    [IPU1-0]  ====================
    [IPU1-0]  
    [IPU1-0]  0: Stop Chain
    [IPU1-0]  
    [IPU1-0]  1: Change Display Channel (Support 4CH LVDS + Mosaic use-case only)
    [IPU1-0]  
    [IPU1-0]  p: Print Performance Statistics 
    [IPU1-0]  
    [IPU1-0]  Enter Choice: 
    [IPU1-0]  
    [IPU1-0]     17.970139 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     17.970261 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     17.970658 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     17.970963 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.033794 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.033886 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.034343 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.034618 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.096931 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.097053 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.097541 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.097785 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-1]     17.874733 s:  IPC_IN_0   : Create in progress !!!
    [IPU1-1]     17.875922 s:  IPC_IN_0   : Create Done !!!
    [IPU1-1]     17.876319 s:  AVBTX: Create in progress !!!
    [IPU1-1]     17.884432 s:  AVBTX: Create Done !!!
    [IPU1-1]     17.887329 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047 
    [IPU1-1]     17.887817 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 655360 B (640 KB), Free size = 625632 B (610 KB)
    [IPU1-1]     17.889404 s:  AVBTP Tx: Start in progress !!!
    [IPU1-1]     17.891112 s:  AVBTP Tx: Start Done !!!
    [HOST  ]     17.888366 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047 
    [HOST  ]     17.888397 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 6291456 B (6144 KB), Free size = 6282992 B (6135 KB)
    [DSP1  ]     17.888702 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 2047 
    [DSP1  ]     17.888732 s:  SYSTEM: Heap = LOCAL_L2             @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB)
    [DSP1  ]     17.888763 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 524288 B (512 KB), Free size = 520256 B (508 KB)
    [IPU1-0]     18.159671 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.159793 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.160190 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.160373 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.222869 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.222991 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.223388 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.223632 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.290123 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.290245 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.290642 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.290886 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.382602 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.382724 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.383120 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.383334 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.446562 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.446684 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.447050 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.447264 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.510736 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.510858 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.511224 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.511437 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.574727 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.574849 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.575215 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.575459 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.638626 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.638748 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.639114 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.639327 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.734002 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.734124 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.734551 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.734764 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.798572 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.798694 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.799091 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.799304 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.862654 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.862776 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.863112 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.863295 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.926645 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.926767 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.927133 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.927347 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     18.990636 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     18.990758 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.991154 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     18.991368 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.057951 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.058043 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.058439 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.058714 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.150399 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.150582 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.150979 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.151192 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.214573 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.214695 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.215061 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.215244 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.278198 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.278320 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.278747 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.278991 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.342676 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.342798 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.343164 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.343378 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.406575 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.406697 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.407063 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.407307 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.502348 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.502470 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.502867 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.503111 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.569206 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.569328 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.569724 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.569938 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.633776 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.633898 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.634264 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.634539 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.696943 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.697065 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.697431 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.697706 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.759714 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.759836 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.760233 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.760446 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.822790 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.822912 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.823278 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.823522 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.890105 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.890227 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.890654 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.890868 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     19.982645 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     19.982767 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.983133 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     19.983346 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     20.046666 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     20.046788 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     20.047184 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     20.047398 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     20.110717 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    [IPU1-0]     20.110839 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     20.111236 s:  DECODE: CH0: H264 Decoder Flushing !!!
    [IPU1-0]     20.111480 s:  DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib
    [IPU1-0]     20.174739 s:  DECODE: CH0: H264 Decoder flush needed (0)!!!
    
    
    Hello Prashanth,

    Find attached the decode error log.

    What does extendedError means?

    When I try to set decPrm->displayDelay = IVIDDEC3_DISPLAY_DELAY_AUTO, I get undefined error.

    I have set  decPrm->displayDelay = 0;

    Can you please tell me the reason of  issue I am facing?

    Thanks,

    Neha

  • Hi Neha,

    Neha Bhosale said:
    What does extendedError means?

    extendedError is Provision for informing the error type if any. With this we can get to know what error codec has thrown. You can get more info about this in Userguide here: 

    Can you try printing extendedError when you see "DEC Link: Forced flush due to all dec ouputbuffers are locked-up inside the codec lib" or "DECODE: CH0: H264 Decoder flush needed (0)!!!"

    Neha Bhosale said:

    When I try to set decPrm->displayDelay = IVIDDEC3_DISPLAY_DELAY_AUTO, I get undefined error.

    I have set  decPrm->displayDelay = 0;

     IVIDDEC3_DISPLAY_DELAY_AUTO is -1, can you set it to -1 and check the behaviour? ( )

  • Hi Neha,

    We haven’t heard back from you, I’m assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out)

    Thanks and Regards,
    Prasad