Skip to main content
ABURM
Associate III
June 11, 2024
Solved

Hardware video decoding problem.

  • June 11, 2024
  • 2 replies
  • 2423 views

Hi guys.

I've been trying to work hardware video decoding for a few days but it doesn't work. Latest situation is as follows:

I think I made all the settings correctly.

1- Enable JPEG.

2- Enable MDMA channel 6 and 7 for JPEG output fifo - input fifo.

3- Enable NVIC.

4- Add videotask in RTOS.

5- Enable hardware decode.

6- Select video decoding strategy ==> double buffer.

7- Add linker code in to STM32H7B3LIHXQ_FLASH.ld for Video_RGB_Buffer.

Thats all.

But video decoding only works in software direct to framebuffer mode and 480x272 resolution. It doesn't work hardware decoding.

Do you have any ideas for this?

Best answer by ABURM

I solved the problem. I still couldn't run it in single and double buffer mode but hardware decoding works in direct to framebuffer mode and also plays videos at 800x480 resolution. As for how I did it, (even though I use the latest versions) i completely removed the cubeide, cubemx and touchgfx programs from the PC.I downloaded the latest versions of all of them and installed them again.I think there is something unstable in the STM system. 

I think the problem of single and double buffer modes not working is related to RTOS. To get the best performance, I will try to run it in double buffer mode. I am using IS42S32800J-6BLI SDRAM. I think this will be enough for this mode. 

2 replies

ABURM
ABURMAuthorBest answer
Associate III
June 11, 2024

I solved the problem. I still couldn't run it in single and double buffer mode but hardware decoding works in direct to framebuffer mode and also plays videos at 800x480 resolution. As for how I did it, (even though I use the latest versions) i completely removed the cubeide, cubemx and touchgfx programs from the PC.I downloaded the latest versions of all of them and installed them again.I think there is something unstable in the STM system. 

I think the problem of single and double buffer modes not working is related to RTOS. To get the best performance, I will try to run it in double buffer mode. I am using IS42S32800J-6BLI SDRAM. I think this will be enough for this mode. 

Associate II
January 15, 2025

I also encountered the same issue. I can only use the "Direct to Framebuffer" option; otherwise, the video widget shifts and flickers. I still haven’t figured out why this happens.

ABURM
ABURMAuthor
Associate III
January 15, 2025

Hi ChungEN.

 

Single and double buffer mode for hardware video decoder does not work. As you said, only "direct to framebuffer" mode works. I stopped trying about 6 months ago. You can see the details of the topic in the following link.

https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/video-decoding-for-stm32h7b3l/td-p/682830/page/2