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.

HDVPSS sample application

Hi all,

   Recently,I am studying hdvpss sample---m2mDeiScale example,which is located in hdvpss_01_00_01_37_patched\packages\ti\psp\examples\common\vps\m2m\m2mDeiScale directory . I have seen the HDVPSS user guide ,but have some question.

   When I run the demo, Attached is the Console output. 

=== HDVPSS Clocks are enabled ===
=== HDVPSS is fully functional ===
=== HDVPSS module is not in standby ===
=== I2C1 Clk is active ===
AppDeiScale: HDVPSS Drivers Version: HDVPSS_01_00_01_37
*** VPDMA Firmware Loading... ***
VPDMA Firmware Address = 0x9b3b6920
VPDMA Load Address     = 0x4810d004
VPDMA Firmware Version = 0x4d00018d
VPDMA List Busy Status = 0x00000000
*** VPDMA Firmware Load Success ***

 I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!!
 I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!!
 I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!!
 I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!!
 I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!!
 I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!!
 I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!!
 I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!!
--------------------------------------------------------
Select the Driver Instance to run as per below table:
--------------------------------------------------------
0 - DEIH-WB0 Single Scale memory driver
1 - DEI-WB1 Single Scale memory driver
2 - DEIH-VIP0 Single Scale memory driver
3 - DEI-VIP1 Single Scale memory driver
4 - DEIH-WB0-VIP0 Dual Scale memory driver
5 - DEI-WB1-VIP1 Dual Scale memory driver
--------------------------------------------------------
AppDeiScale: Enter value from 0 to 5 and press enter...
0
AppDeiScale: Driver Instance Selected: 0
AppDeiScale: DEI In Buffer Address    : 0xa0800000, Size: 0x278d00
AppDeiScale: DEI-WB Out Buffer Address: 0xa0a78d00, Size: 0x1a5e00
saveRaw(0, 0xa0a78d00, "C:\\deiDeiHqSc1Wb0Ch1WbOut_yuyv422_prog_packed_360_240.tigf", 432000, 32, true);
AppDeiScale: Load 10 YUV420SP_UV video frames/fields of size 720x240 to location: 0xa0800000
AppDeiScale: Enter any key after loading...
loadRaw(0xa0800000,0,"D:\zhao_work\20130322\1.yuv",32,false);
AppDeiScale: M2M DEI Driver Opened for Instance 0!!
M2M DEI Create Status: Maximum Handles                  : 4
M2M DEI Create Status: Maximum Channels per Handle      : 20
M2M DEI Create Status: Maximum same Channels per Request: 1
M2M DEI Create Status: Maximum Request in Input Queue   : 10
AppDeiScale: Programming DEI Scalar coefficients ...
AppDeiScale: Programming DEI Scalar coefficients Done
AppDeiScale: All request dequeued from driver

 56479: LOAD: CPU: 12 HWI: 2, SWI:0 
 56479: LOAD: TSK: AppDeiScale:: 8 

 56479: PRF : AppDeiScale: : t: 16322 ms, c: 1, f: 10000, fps: 612, fpc: 10000 
 56480: Assertion @ Line: 503 in common/src/vps_utils.c: (NULL == llobj->headNode) : failed !!!

Question 1:I2C: timed out in wait_for_bb: I2C_IRQSTATUS=1000 !!! Does this impact the example running?

Question 2:I am not clear about the loadRaw function. The third parameter is the file path. I only have 720*480 YUV420SP ,1 frame video(1.yuv),it seems it is

not fit the example.Could you provided a file for me? or tell me,where can I get the file?

Besides,gives me an example how to use loadRaw() function?

Question 3:56480: Assertion @ Line: 503 in common/src/vps_utils.c: (NULL ==llobj->headNode) : failed !!!

Is this problem caused by the wrong video format I provided(1.yuv)?

Besides,the board I used is DM8168EVM. I am looking forward to your reply.

Thank you.

JQ Zhao

  • Hello,

    What is the software that you are using here?

    Best Regards,

    Margarita

  • Thanks

           The software I using is DVRRDK3.0. The HDVPSS is in directory of  DVRRDK_03.00.00.00/ti_tools/hdvpss/hdvpss_01_00_01_37_patched/.

    I am looking forward to your reply.

    My Regards,

     JQ  Zhao

  • Hi,

     

    Please find below answers to your questions,

    1, If you are seeing this I2C issue, which means board has some issue with the I2C, as such this example does not use anything specific to I2C, but other example does use I2C. So for this example, you can just ignore them.

    2, All you need is 10 frames of 720x240 YUV420 images, which you can load using ccs scripting console

    loadRaw(Address, 0, filetoload, 32, false);

    3, This looks like some problem, could you try clean build?

     

    Regards,

    Brijesh Jadav

  • Thanks for your reply.


      For the Question 2,

             When I use the following command in the Console window:

             loadRaw(0xa0800000, 0, "C:\720_480_YUV420SP_Fields.dat",32, false);

            When load over,I view the Memory Browser,it did not load the data into DDR? Why??

            You said I can use Images, but I do not know the Format of Image and could not find such Resource.Could you provide me an Image? Thank you.

     

    For Question 3, I have use the clean command and rebuild,but the error still exist.

             56480: Assertion @ Line: 503 in common/src/vps_utils.c: (NULL == llobj->headNode) : failed !!!

           I had tracked the code,the error is happened as following:

          cleanupRetVal = FVID2_delete(appObj->fvidHandle, NULL);(M2mDeiScale_test.c  Line 717)---->tempRetVal = vpsMdrvDeiFreeHandleObj(hObj);(vpsdrv_m2mDeiApi.c line 531)---->VpsUtils_deleteQ(hObj->freeQ);(vpsdrv_m2mDeiPriv.c line 756)----->VpsUtils_deleteQ()(vps_utils.c line 954) ----->GT_assert(VpsUtilsTrace, (NULL == llobj->headNode));(vps_utils.c line 503) (The error happed)

           How to solve the problem? Why the original code has error??


    Another Question,in M2mDeiScale_test.c file,some definition is as following:

           /* Tiler orientation bits. Set this to VPSUTILS_TILER_ORI_NONE,
            * VPSUTILS_TILER_ORI_X_FLIP, VPSUTILS_TILER_ORI_Y_FLIP or
            * (VPSUTILS_TILER_ORI_X_FLIP | VPSUTILS_TILER_ORI_Y_FLIP).
            * Note that XY swap is not supported in this appplication. */
           #define DEI_IN_ORI_MODE                 (VPSUTILS_TILER_ORI_NONE)
          #define DEI_OUT_ORI_MODE                (VPSUTILS_TILER_ORI_NONE)
       

       (1) It only support 3 views(ORI_NONE,X_FLIP,Y_FLIP), but tiler model support 8 views. If I want to use another 5 view,what should I do?

      (2)If I set DEI_IN_ORI_MODE and DEI_OUT_ORI_MODE same,such VPSUTILS_TILER_ORI_X_FLIP, then the vip output is same as input dei_in,did not do any X_FLIP. Is my understand right?

      Looking forward to your reply.

    Thanks,

        JQ Zhao

  • Hi Zhao,

     

    Can you check your input image and see it has valid data? loadRaw command dumps the data into the memory location from the input file, so you should provide value input file containing 10 frames of YUV420 SP format of size 720x240. I dont have the input images, but without these images, we cannot run DEI example correctly,

     

    I am sure that the code really is working. We run all sample examples before the release. Let us try to solve the first problem, may be first solution could solve this issue as well..

     

    Other views are related to rotation and as the comment says, these views are not supported in this application.

    No, this is uesd in reading from and writing to tiled memory.

     

    Regards,

    Brijesh Jadav