On Fri, Dec 11, 2015 at 10:50 AM, Fabien DESSENNE <fabien.dessenne@xxxxxx> wrote: > Hi Ran, > > On 12/10/2015 10:46 PM, Ran Shalit wrote: >> On Sun, Dec 6, 2015 at 2:23 AM, Nicolas Dufresne >> <nicolas.dufresne@xxxxxxxxxxxxx> wrote: >>> Le dimanche 06 décembre 2015 à 00:00 +0200, Ran Shalit a écrit : >>>> Hello, >>>> >>>> I would like to ask a general question regarding methods to debug a >>>> v4l2 device driver. >>>> Since I assume that the kernel driver will probably won't work in >>>> first try after coding everything inside the device driver... >>>> >>>> 1. Do you think qemu/kgdb debugger is a good method for the device >>>> driver debugging , or is it plain printing ? >>>> >>>> 2. Is there a simple way to display the image of a YUV-like buffer in >>>> memory ? >>> >>> Most Linux distribution ships GStreamer. You can with GStreamer read >>> and display a raw YUV images (you need to know the specific format) >>> using videoparse element. >>> >>> gst-launch-1.0 filesrc location=my.yuv ! videoparse format=yuy2 width=320 height=240 ! imagefreeze ! videoconvert ! autovideosink >>> >>> You could also encode and store to various formats, replacing the >>> imagefreeze ... section with an encoder and a filesink. Note that >>> videoparse unfortunatly does not allow passing strides array or >>> offsets. So it will work only if you set the width/height to padded >>> width/height. >>> >>> regards, >>> Nicolas >> >> Hi Nicolas, >> >> Thank you for the comment. >> As someone expreinced with v4l2 device driver, do you recommened using >> debugging technique such as qemu (or kgdb) or do you rather use plain >> printing ? >> >> Thank you very much, >> Ran > > > You can get several level of logs. > First, you can enable v4l2 core debug logs. Example: > echo 3 > /sys/class/video4linux/video0/debug > More details: > https://www.kernel.org/doc/Documentation/video4linux/v4l2-framework.txt > > If the tested driver uses the v4l2_mem2mem framework you can get M2M > logs with: > echo Y > /sys/module/v4l2_mem2mem/parameters/debug > > Get also internal vb2 logs with: > echo 3 > /sys/module/videobuf2_core/parameters/debug > > And optionally more logs using the dynamic debug feature: > (https://www.kernel.org/doc/Documentation/dynamic-debug-howto.txt). Example: > echo "module my_driver +p" > /sys/kernel/debug/dynamic_debug/control > > Fabien Thank you very much for the helpful ideas. Regards, Ran -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html