Hi Neil, On Tue, 2017-11-21 at 10:50 +0100, Neil Armstrong wrote: > Hi, > > I'm trying to make the coda960 h.264 encoder work on an i.MX6q SoC with Linux 4.14 and the 3.1.1 firmware. > > # dmesg | grep coda > [ 4.846574] coda 2040000.vpu: Direct firmware load for vpu_fw_imx6q.bin failed with error -2 > [ 4.901351] coda 2040000.vpu: Using fallback firmware vpu/vpu_fw_imx6q.bin > [ 4.916039] coda 2040000.vpu: Firmware code revision: 46072 > [ 4.921641] coda 2040000.vpu: Initialized CODA960. > [ 4.926589] coda 2040000.vpu: Firmware version: 3.1.1 > [ 4.932223] coda 2040000.vpu: codec registered as /dev/video[8-9] > > Using gstreamer-plugins-good and the m2m v4l2 encoder, I have : > > # gst-launch-1.0 videotestsrc num-buffers=1000 pattern=snow ! video/x-raw, framerate=30/1, width=1280, height=720 ! v4l2h264enc ! h264parse ! mp4mux ! filesink location=/dev/null > Setting pipeline to PAUSED ... > Pipeline is PREROLLING ... > Redistribute latency... > [ 1569.473717] coda 2040000.vpu: coda_s_fmt queue busy > ERROR: from element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Device '/dev/video8' is busy > Additional debug info: > ../../../gst-plugins-good-1.12.3/sys/v4l2/gstv4l2object.c(3609): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: > Call to S_FMT failed for YU12 @ 1280x720: Device or resource busy > ERROR: pipeline doesn't want to preroll. > Setting pipeline to NULL ... > Freeing pipeline ... The coda driver does not allow S_FMT anymore, as soon as the buffers are allocated with REQBUFS: https://bugzilla.gnome.org/show_bug.cgi?id=791338 regards Philipp