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.

AM5728: Simultaneous multi-channel encode

Part Number: AM5728

Hi team,

We are interested in using the AM5728 in our design and in our application, we have several (4-6) cameras capturing video at 1080p30. We are looking to use the H.264 format to encode our video for local storage.

From my understanding, the AM5728 has the ability to do one channel of 1080p60 encode. With this we can do 2 channels of simultaneous 1080p30 encode and 4 channels of simultaneous 1080p15 encode, correct?

Are we able to take the 1080p30 video captured from the cameras and encode at a lower resolution as well, for example 720p30? What is the number of simultaneous streams we can support in this case?

Regards,

Akash Patel

  • Hello,

    Please check this thread:
    e2e.ti.com/.../2012031

    Hope this helps.

    BR
    Margarita
  • Akash Patel said:
    From my understanding, the AM5728 has the ability to do one channel of 1080p60 encode. With this we can do 2 channels of simultaneous 1080p30 encode and 4 channels of simultaneous 1080p15 encode, correct?

    Yes, AM5728 can do 2x1080p30 H.264 encode.  It can do 4x1080p13 fps safely. To  achieve 4x1080p15, system has to be designed efficiently so that IVA-HD has no dead time waiting for input/output buffers or waiting for DDR resource.  This is because some MHz are loss due to encoder context switching with multiple channels per frame basis and not much headroom is left when processing 4x1080p15 in IVA-HD to spend it idle waiting on processing resources.  

    Akash Patel said:
    Are we able to take the 1080p30 video captured from the cameras and encode at a lower resolution as well, for example 720p30? What is the number of simultaneous streams we can support in this case?

    yes, AM5728 can accept 1080p30 video and downscale it to 720p30. If the video is captured in non multiplexed mode, then they can be downscaled by the VIP capture module to 720p resolution video. AM5728 can do 4x720p30 and 8x720p15 simultaneous encoding. 

    Note that system feasibility also depends upon other common resource utilization such as DDR. On AM5728, system DDR throughput should be within 4.5 to 4.8 GBytes/sec for it to not become bottleneck.

  • Hi Margarita and Manisha,

    Thank you for the responses.

    manisha said:

    yes, AM5728 can accept 1080p30 video and downscale it to 720p30. If the video is captured in non multiplexed mode, then they can be downscaled by the VIP capture module to 720p resolution video. AM5728 can do 4x720p30 and 8x720p15 simultaneous encoding. 

    Note that system feasibility also depends upon other common resource utilization such as DDR. On AM5728, system DDR throughput should be within 4.5 to 4.8 GBytes/sec for it to not become bottleneck.

    Just to clarify, we are capable of supporting 8x1080p30 streams, downscaling them to 8x720p15 streams, and encoding? All streams (downscaling and encoding) occurring simultaneously?

    Regards,

    Akash Patel

  • Hi Akash,
    Here is the link for the datasheet of H264 Encoder. Which might help you.
    git.ti.com/.../docs
  • Hi Prashanth,

    Thank you for the datasheet.

    As the downscaling of the video might use some of the MIPS that were allocated for encoding, are we able to support both the downscaling and the encoding simultaneously?

    Regards,
    Akash Patel
  • Hi Akash,

    As you can see from Manisha's reply earlier, it should be possible when the system DDR throughput is within 4.5 - 4.8 GBytes/sec for it to not become bottleneck.

  • Akash Patel said:
    , we are capable of supporting 8x1080p30 streams, downscaling them to 8x720p15 streams, and encoding? All streams (downscaling and encoding) occurring simultaneously?

    Follow this pinmux tool to check if you can enable  8 VIN ports without conflicting with other interface on your system

    Assuming there's no conflict with pinmux, 1080p to 720p scaling for six channels can happen on the fly in VIP itself (assuming you do not need original 1080p resolution video streamed by sensor to be dumped in DDR). Scaling for rest 2 channels can happen in VPE hardware accelerator in memory to memory mode. To know why VIP can only handle six channel scaling and not eight, please refer to VIP architecture in TRM. Each VIP has 2 slices and each slice has two ports. Only one port in a slice can access to scaler processing inside that slice. AM5728 has three VIPs. VIP 1 and VIP 2 has two slices with 2 ports each (port A and port B). VIP3 has two slices but only with port A (no port B available). For your use case, suggestion would be to hook 4 cameras to VIP1, 2 camera each to VIP2 (on port A) and VIP3 (on port A). Enable scaling on VIPs  for all port A channels. Remaining 2 port B channels output is passed to  VPE for further scaling. Output to be configured in NV12, so that scaled output from VIP and VPE can be directly passed to IVA-HD for compression (IVA-HD expects the input to be in NV12 data format).