Hi,
I am using imx8mp with latest Kirkstone yocto bsp release and my image sensor supports 4056x3040 resolution.
when running gstreamer I observe that anything above 4K (3840x2160 pixel) will not work:
This works fine (ISP does a downscaling automatically):
gst-launch-1.0 v4l2src device=/dev/v4l/by-path/platform-vvcam-video.0-video-index0 ! video/x-raw,width=3840,height=2160 ! imxvideoconvert_g2d rotation=3 ! video/x-raw, width=480, height=800 ! kmssink can-scale=false sync=false
whereas this fails:
gst-launch-1.0 v4l2src device=/dev/v4l/by-path/platform-vvcam-video.0-video-index0 ! video/x-raw,width=4056,height=3040 ! imxvideoconvert_g2d rotation=3 ! video/x-raw, width=480, height=800 ! kmssink can-scale=false sync=false
The error code:
0:00:00.387021875 1295 0xaaaafe204d20 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:00.387095375 1295 0xaaaafe204d20 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
Interestingly, using v4l2 API standalone will work:
v4l2-ctl --device /dev/video1 --stream-mmap --stream-to=frame.yuv --stream-count=1
My conclusion is that gstreamer (version 1.20.0) has some internal resolution limitations
Did anyone manage to get higher resolutions work with gstreamer?
Thx
I made some progress on this.
4048x3040 resolution would work.
I observed that width should be divisible by 16: