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.

DM816x DMM/tiler

Hello,everyone

I am using a DM8168 board with DVRRDK 3.0,I run a edge detection on DSP,now I face a time problem.

The input video format is YUV422,as follow:

Y0U0Y1V0 Y2U2Y3V3 ....

But the edge detection need Y component,so I have to extract Y0Y1Y2... from the video frame Buffer by using the for loop. The conversion is more slower then the true edge detection algorithm.

A method to solve this is using DMM/tiler, I have saw the SPRUGX8 document,but I have no idea how to configure and achieve this.

Could you help me with this, give me some ideas、documents、example and other help?Thank you in advance.

My Regards,


JQ Zhao

  • DMM Tiler is of no use in this case since you have data in YUV interleaved format. If you want to operate only on luma (Y0/Y1/Y2 etc) use Nsf link to convert YUV 422I to YUV 420SP and operate your algorithm only on the Y buffer

  • Thank you for your reply. I have some doubts.

    (1)What you have said,that is to say,DMM(Dynamic Memory Manage) is not suitable

    YUV422 video format,is that right? What format that DMM support?

    (2)In an appnote,I have saw some description as follow:

    “Normally 8-bit container is used for Luma (Y) buffer plane and 16-bit

    container is used for Chroma (CbCr) buffer plane in YUV422 and YUV420 Semi-

    planer buffer format”

       What this means and what YUV422 here means?

    (3)In SPRUGX8 ddocument,page 425,Figure 4-13,it tells us how to extract a

    macroblock from an Image,this is same to us,exact Y  components from an

    Image.What format is this Image? And Does this figure solve my problem?

    (4)You have said a solution,the YUV420SP is  Semi-planer format,That is right?

    As you said,I can do the edge detection.After edge detection,I want to send the result to monitor.However,the format is YUV420SP,can it send to monitor directly?Or I need to transformat the format to YUV422?How this  achieve?


    (5)In my mind,tiler is a kind of DMM, is that right?

    Thank you

       Zhao

  • Badri Narayanan said:

    DMM Tiler is of no use in this case since you have data in YUV interleaved format. If you want to operate only on luma (Y0/Y1/Y2 etc) use Nsf link to convert YUV 422I to YUV 420SP and operate your algorithm only on the Y buffer

    Thank you for your reply. I have some doubts.

    (1)What you have said,that is to say,DMM(Dynamic Memory Manage) is not suitable

    YUV422 video format,is that right? What format that DMM support?

    (2)In an appnote,I have saw some description as follow:

    “Normally 8-bit container is used for Luma (Y) buffer plane and 16-bit

    container is used for Chroma (CbCr) buffer plane in YUV422 and YUV420 Semi-

    planer buffer format”

       What this means and what YUV422 here means?

    (3)In SPRUGX8 ddocument,page 425,Figure 4-13,it tells us how to extract a

    macroblock from an Image,this is same to us,exact Y  components from an

    Image.What format is this Image? And Does this figure solve my problem?

    (4)You have said a solution,the YUV420SP is  Semi-planer format,That is right?

    As you said,I can do the edge detection.After edge detection,I want to send the result to monitor.However,the format is YUV420SP,can it send to monitor directly?Or I need to transformat the format to YUV422?How this  achieve?


    (5)In my mind,tiler is a kind of DMM, is that right?

    Thank you

       Zhao

  • DMM and Tiler are two different things. Pls go thru the 816x TRM for detail explanation of functionality of DMM and Tiler.

    DMM is used to map EMIF to system bus address among other things. It has no relation to color format. You can ignore DMM for this discussion.

    Tiler is an IP for efficient 2D access and also support rotation of 2D frames.

    TIler does not help for your case where you want to extract Y portion from YUV422I format. If you want to use only luma pixels you have to either convert to 420SP format or skip chroma pixels in your DSP algorithm.

     

    Regarding "

    In an appnote,I have saw some description as follow:

    “Normally 8-bit container is used for Luma (Y) buffer plane and 16-bit

    container is used for Chroma (CbCr) buffer plane in YUV422 and YUV420 Semi-

    planer buffer format”

       What this means and what YUV422 here means?

     -- Here 422 means 422 semi planar format.

    (4)You have said a solution,the YUV420SP is  Semi-planer format,That is right?

    As you said,I can do the edge detection.After edge detection,I want to send the result to monitor.However,the format is YUV420SP,can it send to monitor directly?Or I need to transformat the format to YUV422?How this  achieve?

      -- Which display are you using ? Is it HDMI or DVO2 or SD ? HDMI and DVO2 support only 422I format.SD support 420SP and 422I format.

          So if you convert to 420SP you will have to convert back to 422I before displaying. You can use SwMs or Scaler link to convert from 420 to 422I.

  • Thank you very much.The display that I am using includes HDMI and SD.

    Now I want to ask another question,tiler is useful for the rotation/mirroring

    of the Image. I have seen the related contents in 816x TRM(SPRUGX8),but I have

    no idea for the rotation/mirroring in McFW demo of DVRRDK 3.0.

    In multich_vcap_vdis.c, I found some configuration about tiler:

    capturePrm.tilerEnable              = FALSE;

    nsfPrm.tilerEnable               = FALSE;


    deiPrm[i].tilerEnable[DEI_LINK_OUT_QUE_VIP_SC]          = FALSE;

    If I want to rotate a video Image,I have to modify all above configuration to true,or just one?How these three configuration are different?


    I know some registers should modified,but I do not know which file.

    To achieve a image rotation in McFW demo of DVRRDK 3.0,such vcap_vdis demo,what steps should I do? Could you give me some suggestion or example?

    Thank you in advance.

    Zhao

  • Thank you very much. The display that I am using includes HDMI and SD.

    (1)As you have said,I have used YUV420SP.You said,before displaying,I have to convert 420SP to 422I,Then I can use SwMs or Scale Link,but I do not exactly know how to configure,can you give me the key configuration codes?

    (2)Now I want to ask another question,tiler is useful for the rotation/mirroring of the Image. I have seen the related contents in 816x TRM(SPRUGX8),but I have no idea for the rotation/mirroring in McFW demo of DVRRDK 3.0.

    In multich_vcap_vdis.c, I found some configuration about tiler:

    capturePrm.tilerEnable = FALSE;

    nsfPrm.tilerEnable = FALSE;


    deiPrm[i].tilerEnable[DEI_LINK_OUT_QUE_VIP_SC] = FALSE;

    If I want to rotate a video Image,I have to modify all above configuration to true,or just one?How these three configuration are different?

    I know some registers should modified,but I do not know which file.

    To achieve a image rotation in McFW demo of DVRRDK 3.0,such vcap_vdis demo,what steps should I do? Could you give me some suggestion or example?

    Thank you in advance.

    Zhao

  • Why did not anyone help me with my Question?Are you on business?I am look forward to your reply. Thank  you.