When mfw_v4lsink element in Gstreamer pipeline is applied without option "device=/dev/video16",
the output framebuffer is overlay one (FB1), and it's default bpp is 16. That doesn't change FB0
configuration.
With "device=/dev/video16", the video outputs to FB0 directly. Then FB0 is configured to bpp 16
because of the coming video format.
Below is console log to demonstrate this feature.
# set bpp = 16
root@imx6qdlsolo:~# echo 16 > /sys/class/graphics/fb0/bits_per_pixel
root@imx6qdlsolo:~# cat /sys/class/graphics/fb0/bits_per_pixel
16
# run gst, mfw_v4lsink without option "device=/dev/video16"
root@imx6qdlsolo:~# gst-launch -v videotestsrc ! video/x-raw-rgb,depth=24,bpp=24 ! mfw_v4lsink
MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Apr 5 2014 06:42:34.
[...]
Freeing pipeline ...
[--->FINALIZE v4l_sink
root@imx6qdlsolo:~# cat /sys/class/graphics/fb0/bits_per_pixel
16
# bpp was not changed
# set bpp =32
root@imx6qdlsolo:~# echo 32 > /sys/class/graphics/fb0/bits_per_pixel
root@imx6qdlsolo:~# cat /sys/class/graphics/fb0/bits_per_pixel
32
# run gst, mfw_v4lsink without option "device=/dev/video16"
root@imx6qdlsolo:~# gst-launch -v videotestsrc ! video/x-raw-rgb,depth=24,bpp=24 ! mfw_v4lsink
MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Apr 5 2014 06:42:34.
[...]
Freeing pipeline ...
[--->FINALIZE v4l_sink
root@imx6qdlsolo:~# cat /sys/class/graphics/fb0/bits_per_pixel
32
# bpp was not changed
# run gst, mfw_v4lsink with option "device=/dev/video16"
root@imx6qdlsolo:~# gst-launch -v videotestsrc ! video/x-raw-rgb,depth=24,bpp=24 ! mfw_v4lsink device=/dev/video16
root@imx6qdlsolo:~# cat /sys/class/graphics/fb0/bits_per_pixel
16
# bpp changed !!!
~Yuri.