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.

SK-AM62B-P1: evaluating board for video. questions have come up

Part Number: SK-AM62B-P1
Other Parts Discussed in Thread: SK-LCD1

using the image from the 9.00.00.03 SDK

using information from this page:

https://dev.ti.com/tirex/content/am62x_academy_9_00_00_00_v1.new_id/_build_am62x_academy_9_00_00_00_v1/source/linux/ch-develop/dev-kernel-parameters.html#dev-cpu-change

these commands to turn off GPU:

  1. systemctl stop weston
  2. modprobe -r pvrsrvkm
  3. systemctl start weston

and this command (script) to play videos)

gst-launch-1.0 multifilesrc location=/home/root/$1 loop=true ! qtdemux name=demux demux. ! queue ! avdec_aac ! audioconvert ! audioresample ! alsasink demux. ! queue ! h264parse ! avdec_h264 ! videoconvert ! fpsdisplaysink video-sink=waylandsink  text-overlay=false -v 2>&1

playing a video that is on the SD Card

using the sk-LCD1 with the board

i have developed some questions that are slowing me down.

a) is this the right command to get fps information from gstreamer or is there a better way to do it?

b) playing a 1920x1080 video with all 4 cores and the GPU active (i assume as i haven't disabled it for this test) my FPS for the video hover around 22FPS. is that expected or should it be higher?

c) when i drop to 2 cores (GPU on) the FPS goes down to about 7FPS, is that expected?

d) when i disable the GPU and try to play the video no video plays at all. i get the audio but the best i ever get for video is a still image from one of the frames. the output from gstreamer FPS would make it seem like it is outputting video. do i need a different gst command to play video when the GPU is disabled?

  • Hi Michael,

    I am currently out on travel to a customer site. Will have to validate on my setup to better support you. Expect a response next week when I return.

    Apologies for the delay.

    Best Regards,

    Suren

  • Hi Michael,

    Will look into it tomorrow, when I will be in office on the AM62B-P1 board. Have you tried to use the tiperfoverlay element instead of the fpsdisplaysink?

    Also having sync=false in the sink, does it show correct FPS?

    Best Regards,

    Suren

  • i haven't tried anything outside of what i posted as i was looking for expert opinion. i have no idea if it is showing correct FPS, possibly not

  • Hi Michael,

    On AM62x, we don't have hardware accelerator for video encoding/decoding like in AM62A SoC.  The plugins that are being used are open-source GStreamer plugins that may not be optimized for performance, so we can't guarantee that fps shown by fpsdisplaysink with these plugins are correct due to latency/performance issues.

    I tried to run this pipeline on my setup:

    gst-launch-1.0 -v filesrc location=BBB_1080_10s_30fps_h264.mp4 ! qtdemux ! h264parse ! avdec_h264 ! waylandsink sync=false async=false and it ran fine on my setup with HDMI. 

    May I know what are you trying to do with disabling GPU and using software plugins, because when you disable GPU, the openGL softpipe renderer is being used. So ultimately, you are using software decoding + software rendering, which is why you are seeing the performance issues.

    Best Regards,

    Suren

  • so there is some misunderstanding with what i am asking here. we are evaluating the part. we are planning to play video on our product so we are wondering what we NEED to be able to do that. how many cores, GPU vs no GPU, etc. so what i am asking is:

    a) is my command right or am i calling this thing wrong and adding performance issues based on the parameters of my command?

    b) assuming my command is just fine, are the FPS accurate? it sounds like kind of but not really. we are looking for some kind of metric to evaluate the differences

    c) are the results i am seeing accurate to the performance expected from this part or do i need to turn something on/off to get better performance to really understand what the part will do in the field?

    d) is it expected to not being able to play the video with no GPU? if not, what do i have to do differently to get the video to play after disabling the GPU?

  • Michael,

    The pipelines are correct expect for queue's that you have added on your pipelines, queues increase latency. 

    Gstreamer offers fpsdisplaysink to see framerate information, I would suggest instead of actual sink run the pipeline with fakesink to see if the data being received till the sink is showing the right FPS.. The FPS might drop based on the display connected to the EVM board.. 

    As such, using hardware accelerators would improve the processing a lot faster compared to software based plugins (Which as I mentioned earlier are not optimized for performance).  

    With regards to GPU, if you disable you end up having software rendering using CPUs. I would definitely suggest you to have GPU enabled on AM62x and  perform tests with all 4 A53 cores. You can also measure performance by reducing the cores by adding the maxcpus parameter as mentioned here:

    https://dev.ti.com/tirex/explore/node?node=A__AUTBljJxXWNOgUHj.1-BaA__AM62-ACADEMY__uiYMDcq__LATEST&placeholder=true

    Hope this helps.

    Best Regards,

    Suren

  • so the gist of it is:

    a) yes i am using the right command to play videos

    b) FPS is likely not accurate (but in this case it doesn't really matter)

    c) results may vary based on how loaded down the system is, but this is likely accurate performance

    d) don't even THINK about not using a GPU

  • Hello,

    Any updates on your performance evaluation?

    Regards,
    Krunal

  • no, it's all in this thread. performance is poor (useless even) unless you have all 4 cores and the GPU running for playing video. so if you want video you need the 4 core part, which is more expensive than your competitors. at this point we are focusing on another product from a different company that needs only 1 core, has a GPU AND a hardware video decoder, and costs less.

    thanks for your help 

  • Michael,

    Sorry to hear that our product could not meet your requirements.

    Can you share the performance numbers that you are seeing on the other product, in terms of CPU core frequency, GPU, video latency, and FPS ? So we know what we are comparing with and how we can improve.

    Appreciate your help.

    Best Regards,

    Suren