On Mon July 23 2012 10:27:13 javier Martin wrote: > 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 And is v4l2-compliance compiled from the master branch of http://git.linuxtv.org/v4l-utils.git? I'm sure it isn't because I'm missing tests that were added later. Regards, Hans -- 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