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 performance multi channel High resolution (DM816x based on DVR-RDK 4)

Hi,

we were testing a use-case based on "multi-channel-HD-SD", 5 encode channels, while encoded resolution is set to 1280x1024@30p (using the DEI scaling), we noticed that not all frames were processed only 22 managed to go to the encode link and the rest were rejected at the DEI (According to the information printed in shell).

when the resolution was changed to 1280x720 we managed to have all 5 encode channels working properly, when we raised the resolution to 1440x1024 about 15fps were processed, we suspect the HDVPSS performance and when we changed the clocks setting at the UBOOT up to the HDVPSS maximum clock we got about 26fps.

we don't think that it is encoder limits since we changed the VIP input and encode fps to 60fps, still got rejected frames at the DEI and we were able to encode about 37 fps.

If you know of any limit at HDVPSS processing please share it with us since we want to know our abilities,

in case you need further information please let us know.

thanks a lot,

Amir Gatt

  • Hello,

    What is the software release that you are using here?

    BR
    Margarita
  • Hi Margarita,

    we are using RDK 4.01 "application" but the linux_lsp (uboot and kernel) is from RDK 3.5

    thanks a lot,
    Amir
  • Hi Amir,

    Are you using one DEI? Can you try using two DEIs? There are two DEI instances on DM816x..

    But please note that there will be performance limitation, so it will not work for all resolution for multiple channel.

    Regards,

    Brijesh

  • Hi Brijesh,

    Thank you for your quick reply, actually I understoof that dm8168 has 4 DEI instances and in this case I was using 3 , and I have also tried to separate the channels over the HDVICPs.

    can you please elaborate more over the HDVPSS limitation for different resolutions - because i think that this is the actual problem that we are facing here.

    thanks a lot,

    Amir

  • Hi Amit,

    These four are software instances, actually there are only two hardware instances of DEI. so you should make sure that the number of channels are equally divided among these instances. If you use just one instances, you could have performance issue.


    Regards,
    Brijesh
  • Hi Brijesh,

    Thanks for the clarification, I will try to equally divide them, my current implementation is 1+4 over the DEIs, and I will try to balance it to 2+3.

    however , can you please elaborate on the performace issue - what are the limitations?

    thanks a lot,

    Amir Gatt

  • Hi Amir,

    Let me know which instances you are using?
    Each DEI instance can process at max some 200Mpixels per second, we cannot go beyond that.

    Regards,
    Brijesh
  • Hi Brijesh,

    we are using both DEIs, DEI for 4 channels and DEI_H for the single channel.

    regarding the DEI limitation, for the DEI which has the problem, we use 4 channels of 1280x1024 @ 30 fps, this sums us to ~158M pixels per second.

    we are not using the maximum clock (250Mhz) but even when we used HDVPSS clock @285MHz we still were not able to get all channels to work properly, are there any other issues that might help?

    thanks a lot,

    Amir

  • Hi Amir,

    I did not get it.. What are you doing with the DEI? It seems your input stream is progressive, why are you looking in DEI? Is your input 1280x1024 interlaced content? if not, are you doing just scaling operation? what is output resolution in this case?

    Rgds,

    Brijesh

  • Hi Brijesh,

    my inputs are:

    VIP0 is 1 channel progressive 1920x1080.

    VIP1 are 4 multiplex channels 720x480 interlace.

    All should be scaled to 1280x1024 and pass to the encode.

    Since I didn't came up with an easy way to balance the load over the DEI, my plan is to use only 3 of the multiplex channels on one DEI and for the single channel i will duplicate it (using DUP) and send it to the DEI- the problem is that till now I have errors at the duplicated channel when I try to encode it - "Data is not sufficient" - do you have any thoughts why I am having this error? 

    thanks a lot for your help

    Amir

  • Hi Amir,

    Your total number of pixels on DEI path is way to high, 1280x1024x60x4 = 314Mpixels per seconds. DEI cannot handle this even if you increase frequency to 285MHz..

    Regards,
    Brijesh
  • Hi Brijesh,

    I understand the calculations , however we are using 30FPS encoding the input is 1280x512@60i and the DEI is changing it to 1280x1024@30p, so the numbers should still be in the correct range ,right?

    Thanks a lot for your quick replies,

    Amir Gatt

  • Hi Amir,

    I did not get, in the last post, you were saying that you have 4 channels of 720x240, these channels are deinterlaced and upscaled to 1280x1024. Even if the output fps is 30, but your input fps is 60. DEI is working at 60 frame rate, you are just writing back alternate output frames. 

    Regards,

    Brijesh

  • Hi Brijesh,

    So you are saying that the DEI is working in 60Hz, and since we are using output resolution of 1280x1024 for 4 channels the actual pixel processing is:

    1280*1024*60*4 = 314M , I thought that since we are using output frame rate 30HZ the processing is 1/2 , meaning 157M.

    Follow up questions then - for 3 channels at those resolutions: 1280*1024*60*3= 236M we might be in trouble as well?

    thanks a lot,

    Amir Gatt

  • Hi Brijesh,

    Another follow up question - in case the input to the DEI is progressive 30HZ, does it means that the calculations should be multiplied with 30 and not 60? for example input of 1920x1080p30 going through the DEI and scale down to 1280x1024p30 means that we are using 1920*1080*30 = 62M ?

    thanks a lot,
  • Hi Amir,

    It really depends on your input, your input 720x240@60fields per second. You use DEI to convert interlaced fields to progressive frame, ie into 720x480@60frame per second and then then you scale this output to 1280x1024@60fps. Your output frame rate is 30, so you are just dropping alternate output frame. DEI is still processing 60fields per second. If you really want to make it 30fps, you need to decrease frame rate at the input side.

    Yes, 3 channels is also difficult, it might work for 285MHz.

    Regards,
    Brijesh
  • Yes, this calculation is correct. You should consider max size of what DEI/scalar is processing and max rate of both. here it is 1920x1080 at 30 max size and rate, so 1920x1080x30..

    Regards,
    Brijesh
  • Brijesh,

    Thanks a lot - that was very helpful !!
    Amir Gatt