On 23 July 2012 10:20, Hans Verkuil <hverkuil@xxxxxxxxx> wrote: > On Mon July 23 2012 10:02:04 javier Martin wrote: >> Hi Hans, >> >> On 21 July 2012 11:50, Hans Verkuil <hverkuil@xxxxxxxxx> wrote: >> > On Fri July 20 2012 13:08:35 Javier Martin wrote: >> >> Coda is a range of video codecs from Chips&Media that >> >> support H.264, H.263, MPEG4 and other video standards. >> >> >> >> Currently only support for the codadx6 included in the >> >> i.MX27 SoC is added. H.264 and MPEG4 video encoding >> >> are the only supported capabilities by now. >> >> >> >> Signed-off-by: Javier Martin <javier.martin@xxxxxxxxxxxxxxxxx> >> >> Reviewed-by: Philipp Zabel<p.zabel@xxxxxxxxxxxxxx> >> >> --- >> >> Changes since v5: >> >> - Fixed some v4l2-compliance issues. >> > >> > Some or all? Can you give me the 'v4l2-compliance -v1' output? >> >> I've not corrected some mistakes that are pointed by v4l2-compliance >> that I consider bogus for my mem2mem video encoder. >> >> I don't mind helping you test the new m2m capabilities of >> 'v4l2-compliance' but I don't think delaying this driver to enter >> mainline for this merge window for this is reasonable. Please, find >> the output you requested below: >> >> >> Driver Info: >> Driver name : coda >> Card type : coda >> Bus info : coda >> Driver version: 0.0.0 > > ??? This should be set to the kernel version by v4l2-ioctl.c. What kernel > are you using? > >> Capabilities : 0x84000003 >> Video Capture >> Video Output >> Streaming >> >> Compliance test for device /dev/video2 (not using libv4l2): >> >> Required ioctls: >> fail: v4l2-compliance.cpp(251): check_0(vcap.reserved, >> sizeof(vcap.reserved)) > > This is very strange. Please investigate! vcap is zeroed in v4l2-ioctl.c before > calling vidioc_querycap in the driver, so why would reserved[] be non-zero? > Perhaps some memory overwrite? > >> test VIDIOC_QUERYCAP: FAIL >> >> Allow for multiple opens: >> test second video open: OK >> fail: v4l2-compliance.cpp(251): check_0(vcap.reserved, >> sizeof(vcap.reserved)) >> test VIDIOC_QUERYCAP: FAIL >> fail: v4l2-compliance.cpp(273): doioctl(node, >> VIDIOC_G_PRIORITY, &prio) > > Are you using the latest v4l2-compliance? You shouldn't see this fail for mem2mem > devices. > >> test VIDIOC_G/S_PRIORITY: FAIL >> >> Debug ioctls: >> test VIDIOC_DBG_G_CHIP_IDENT: FAIL >> fail: v4l2-test-debug.cpp(82): uid == 0 && ret >> test VIDIOC_DBG_G/S_REGISTER: FAIL >> test VIDIOC_LOG_STATUS: FAIL > > Weird as well. This suggests you are using this driver with an old kernel. The > return code for unimplemented ioctls changed from EINVAL to ENOTTY some kernel > versions ago. This may actually be the cause of the G_PRIO fail above. > >> >> Input ioctls: >> fail: v4l2-test-input-output.cpp(133): couldn't get tuner 0 >> test VIDIOC_G/S_TUNER: FAIL >> fail: v4l2-test-input-output.cpp(228): could get >> frequency for invalid tuner 0 >> test VIDIOC_G/S_FREQUENCY: FAIL >> fail: v4l2-test-input-output.cpp(358): could not >> enumerate audio input 0 >> test VIDIOC_ENUMAUDIO: FAIL >> fail: v4l2-test-input-output.cpp(290): could not get >> current input >> test VIDIOC_G/S/ENUMINPUT: FAIL >> test VIDIOC_G/S_AUDIO: Not Supported >> Inputs: 0 Audio Inputs: 0 Tuners: 0 >> >> Output ioctls: >> fail: v4l2-test-input-output.cpp(479): couldn't get modulator 0 >> test VIDIOC_G/S_MODULATOR: FAIL >> fail: v4l2-test-input-output.cpp(563): could get >> frequency for invalid modulator 0 >> test VIDIOC_G/S_FREQUENCY: FAIL >> fail: v4l2-test-input-output.cpp(682): could not >> enumerate audio output 0 >> test VIDIOC_ENUMAUDOUT: FAIL >> test VIDIOC_G/S/ENUMOUTPUT: FAIL >> test VIDIOC_G/S_AUDOUT: Not Supported >> Outputs: 0 Audio Outputs: 0 Modulators: 0 >> >> Control ioctls: >> test VIDIOC_QUERYCTRL/MENU: OK >> test VIDIOC_G/S_CTRL: OK >> fail: v4l2-test-controls.cpp(532): try_ext_ctrls did >> not check the read-only flag >> test VIDIOC_G/S/TRY_EXT_CTRLS: FAIL >> Standard Controls: 10 Private Controls: 0 >> >> Input/Output configuration ioctls: >> test VIDIOC_ENUM/G/S/QUERY_STD: Not Supported >> test VIDIOC_ENUM/G/S/QUERY_DV_PRESETS: Not Supported >> test VIDIOC_G/S_DV_TIMINGS: Not Supported >> >> Format ioctls: >> fail: v4l2-test-formats.cpp(138): expected EINVAL, but >> got 25 when enumerating framesize 0 >> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: FAIL >> fail: v4l2-test-formats.cpp(327): expected EINVAL, but >> got 25 when getting framebuffer format >> test VIDIOC_G_FBUF: FAIL >> fail: v4l2-test-formats.cpp(383): !pix.width || !pix.height >> test VIDIOC_G_FMT: FAIL >> fail: v4l2-test-formats.cpp(509): ret && ret != EINVAL >> && sliced_type >> test VIDIOC_G_SLICED_VBI_CAP: FAIL >> Total: 27 Succeeded: 8 Failed: 19 Warnings: 0 > > It would be much more helpful if you can test this against a recent kernel. > > Regards, > > Hans Hi Hans. I am using a recent version: Linux visstrim 3.5.0-rc5-00012-g0f6f3b0-dirty #283 PREEMPT Mon Jul 23 09:54:38 CEST 2012 armv5tejl GNU/Linux -- Javier Martin Vista Silicon S.L. CDTUC - FASE C - Oficina S-345 Avda de los Castros s/n 39005- Santander. Cantabria. Spain +34 942 25 32 60 www.vista-silicon.com -- 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