2026-01-20 2:09 AM - edited 2026-01-20 2:27 AM
Hello everyone,
I'm seeking advice on video playback implementation using TouchGFX 4.25 with a Riverdi RVT121HVSFWN00 display (12.1" LCD with STM32H7 MCU).
**Current working setup:**
- TouchGFX version: 4.25
- Display: Riverdi RVT121HVSFWN00
- Current video configuration: 480x272 resolution
- FFmpeg command that works:
ffmpeg -i video2.mp4 -s 480x272 -vcodec mjpeg -q:v 1 -pix_fmt yuv420p -color_range 1 -strict -1 -an output.avi
This works perfectly with the Video widget alongside other UI elements (backgrounds, buttons, etc.)
When I try to increase the video resolution to 800x800 pixels, I only get a black screen. No video is displayed.
**What I've tried:**
1. Modified FFmpeg command for 800x800:
ffmpeg -i input.mp4 -vf "scale=800:800:force_original_aspect_ratio=decrease,pad=800:800:(ow-iw)/2:(oh-ih)/2" \
-c:v libxvid -qscale:v 5 -c:a libmp3lame -b:a 128k output.avi
```
2. Also tried various combinations with `mjpeg` codec and different pixel formats
**My questions:**
1. Are there hardware limitations with the STM32H7 (likely in the Riverdi display) that prevent 800x800 video playback?
2. Do I need additional configuration in TouchGFX for higher resolution videos?
3. Could this be a memory issue (SDRAM configuration maybe)?
4. Are there specific codec/pixel format requirements for larger videos in TouchGFX?
**Additional context:**
- The display has a native resolution of 1280x800
- I'm using the Video widget within a screen containing other graphical elements
- The 480x272 video works flawlessly, suggesting the basic setup is correct
**What I suspect:**
- Possible memory constraints (800x800 RGB565 = ~1.25MB per frame)
- Maybe SDRAM isn't properly configured for larger video buffers
- Could be a decoding performance issue with higher resolution
Has anyone successfully implemented 800x800 or similar high-resolution video playback on STM32H7 with TouchGFX? Any guidance on:
- Optimal FFmpeg parameters for larger videos
- TouchGFX configuration adjustments
- Memory management strategies
- Hardware limitations to consider
Any help or insights would be greatly appreciated!
Thank you in advance.
2026-01-20 2:54 AM
Hello @Sasa1234.
If you are using the TBS available in TouchGFX Designer, you need to update the video configuration in X-CUBE-TOUCHGFX in STM32CubeMX. The current configuration is set up for single-buffer video, but the buffer size is only 640x480 pixels, so the video does not fit. You need to update the buffer size, and ensure that the linker and MPU configuration are aligned with the new size.
Alternatively, use the Direct to Framebuffer video decoding strategy instead. Then you avoid the video buffer completely.
Best regards,
Johan