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.

DM648:arrayOP_DM648.pjt

Guru 10085 points
On a sample program; arrayOP_DM648.pjt, in VIPC Signal Processing Ligrary,
I changed WIDHT,HEIGHT,BLOCK_WIDTH, BLOCK_HEIGHT as following.

/* Local defines for the test file */
#define BLOCK_WIDTH 50
#if defined(_DM365) || defined(_DM355)
 #define BLOCK_HEIGHT 16 /* DM3xx platforms have half VICP internal memory than DM64xx */
#else
 #define BLOCK_HEIGHT 10
#endif
#define WIDTH (BLOCK_WIDTH*1)
#define HEIGHT (BLOCK_HEIGHT*5)

The result was shown "Mismatch component #0, offset 1400 Verification failed !"
I suppose these setting values are less than the maximum data size.
Are there any limitations for the value?
  • I think it is because block_width is not multiple of 8. Can you please try with that modification?

    We will work on making an update that removes this restriction

     

    Regards,

    Gagan

  • Thank you for your help.
    But I have some conflicting results as follows.

    #1:  
    #define BLOCK_WIDTH 25, #define BLOCK_HEIGHT 50
    #define WIDTH (BLOCK_WIDTH*2)
    #define HEIGHT (BLOCK_HEIGHT*1)

    The results are all successful as follows even though the block width is not multiple of 8.

    Array Op Testing starts ...
    Verification successful. Setup Time = 80690, Reset Time = 10873, Execution Time = 45843 or 18.34 CPU cycles/point !
    Verification successful. Setup Time = 80710, Reset Time = 10827, Execution Time = 39869 or 15.95 CPU cycles/point !
    Verification successful. Setup Time = 80782, Reset Time = 10833, Execution Time = 40019 or 16.01 CPU cycles/point !
    Verification successful. Setup Time = 80768, Reset Time = 10825, Execution Time = 39939 or 15.98 CPU cycles/point !
    Verification successful. Setup Time = 89791, Reset Time = 11307, Execution Time = 44735 or 17.89 CPU cycles/point !
    Verification successful. Setup Time = 80814, Reset Time = 10833, Execution Time = 45931 or 18.37 CPU cycles/point !
    Testing complete !

    #2:  #define BLOCK_WIDTH 64, #define BLOCK_HEIGHT 16
    #define WIDTH (BLOCK_WIDTH*1)
    #define HEIGHT (BLOCK_HEIGHT*4)

    The results are not  successful as follows even though the block width is multiple of 8.

    Array Op Testing starts ...
    Mismatch component #0, offset 2432
    Verification failed !
    Mismatch component #0, offset 1216
    Verification failed !
    Mismatch component #0, offset 1216
    Verification failed !
    Mismatch component #0, offset 1216
    Verification failed !
    Mismatch component #0, offset 2432
    Verification failed !
    Mismatch component #0, offset 2432
    Verification failed !
    Testing complete !

    Are there other limitations except for the block width is not multiple of 8?

    Regards,
    Jon

  • Hello Jon,

    It is possible that an extra requirement is WIDTH= BLOCK_WIDTH x N where N >= 2.

    Can you try this ?

    regards,

    Victor

  • Thank you, Victor.
    I had all problems with WIDTH= BLOCK_WIDTH x N where N =1.
    Is this limited by this sample program?
    Or, do you know any solutions?

    Regards,
    Jon

  • Jon,

    I just looked at the implementation and I confirm it is a limitation of the library, not the sample program. If you can, divide your BLOCK_WIDTH by 2 to meet the constrain. Also you should keep the BLOCK_WIDTH multiple of 8 as it is not guaranteed that it will always work in other cases.

    regards,

     

    Victor