Re: [PATCH v6 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver

2018-01-22 Thread Hans Verkuil
On 21/01/18 18:49, jacopo mondi wrote:
> Hi Hans,
> 
> On Fri, Jan 19, 2018 at 12:26:09PM +0100, Hans Verkuil wrote:
>> Hi Jacopo,
>>
>> On 01/16/18 22:44, Jacopo Mondi wrote:
>>> Hello,
>>>new version of CEU after Hans' review.
>>>
>>> Added his Acked-by to most patches and closed review comments.
>>> Running v4l2-compliance, I noticed a new failure introduced by the way I now
>>> calculate the plane sizes in set/try_fmt.
>>>
>>> This is the function used to update per-plane bytesperline and sizeimage:
>>>
>>> static void ceu_update_plane_sizes(struct v4l2_plane_pix_format *plane,
>>>unsigned int bpl, unsigned int szimage)
>>> {
>>> if (plane->bytesperline < bpl)
>>> plane->bytesperline = bpl;
>>> if (plane->sizeimage < szimage)
>>> plane->sizeimage = szimage;
>>> }
>>>
>>> I'm seeing a failure as v4l2-compliance requires buffers with both 
>>> bytesperline
>>> and sizeimage set to MAX_INT . Hans, is this expected from v4l2-compliance?
>>> How should I handle this, if that has to be handled by the single drivers?
>>
>> I commented on this in my review of patch 3/9.
> 
> Fixed thank you.
> 
>>
>>>
>>> Apart from that, here it is the output of v4l2-compliance, with the last 
>>> tests
>>> failing due to the above stated reason, and two errors in try/set format 
>>> due to
>>> the fact the driver is not setting ycbcr encoding after it receives an 
>>> invalid
>>
>> Which driver? The CEU driver or the sensor driver? I don't actually see where
>> it fails.
>>
> 
> Here it is:
> 
> fail: v4l2-test-formats.cpp(335): ycbcr_enc >= 0xff
> fail: v4l2-test-formats.cpp(451): 
> testColorspace(pix_mp.pixelformat, pix_mp.colorspace, pix_mp.ycbcr_enc, 
> pix_mp.quantization)
> fail: v4l2-test-formats.cpp(736): Video Capture Multiplanar 
> is valid, but TRY_FMT failed to return a format
> test VIDIOC_TRY_FMT: FAIL
> fail: v4l2-test-formats.cpp(335): ycbcr_enc >= 0xff
> fail: v4l2-test-formats.cpp(451): 
> testColorspace(pix_mp.pixelformat, pix_mp.colorspace, pix_mp.ycbcr_enc, 
> pix_mp.quantization)
> fail: v4l2-test-formats.cpp(996): Video Capture Multiplanar 
> is valid, but no S_FMT was implemented
> test VIDIOC_S_FMT: FAIL

Sorry, I was perhaps confusing. I meant that I couldn't see where in the code
ycbcr_enc was not overwritten by 0 (which should have happened). You will need
to debug a bit, I think. It could be a bug in the ceu driver or the sensor 
driver.

> 
> 
>>> format. I would set those, but I'm not sure what it the correct value and 
>>> not
>>> all mainline drivers do that.
>>
>> In any case, the default for ycbcr_enc, xfer_func and quantization is 0.
>>
> 
> Thanks again. I do expect to be the sensor driver to set ycbcr_enc and
> quantization, but from a very trivial grep on media/i2c/ I see only a
> few drivers taking care of them (adv7511 and adv7842). What about the
> others? I assume v4l2-compliance would not fail on them as it does on
> ov7670, but I don't see where ycbr_enc (and others) are managed.

In most cases these values are initialized to 0 (either a memset or by
initializing the struct), which is typically all you need for sensor
drivers. HDMI drivers are more complicated which is why you see explicit
handling of these fields only there.

> 
> Overall, with this addressed, the other issue I mentioned on patch
> [3/9] on readbuffers clarified and frameinterval handled for ov722x, I
> hope we're done with this series. Thanks again your continued effort
> in reviews and guidance.

My pleasure!

Regards,

Hans



Re: [PATCH v6 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver

2018-01-21 Thread Randy Dunlap
On 01/21/2018 09:54 AM, jacopo mondi wrote:
> Hi Randy,
>thanks for noticing,
> 
> On Fri, Jan 19, 2018 at 02:12:19PM -0800, Randy Dunlap wrote:
>> On 01/16/2018 01:44 PM, Jacopo Mondi wrote:
>>> Hello,
>>>new version of CEU after Hans' review.
>>>
>>> Added his Acked-by to most patches and closed review comments.
>>> Running v4l2-compliance, I noticed a new failure introduced by the way I now
>>> calculate the plane sizes in set/try_fmt.
>>
>> I would expect that you have already seen this, but I get a build error
>> in renesas-ceu.c.  Here is a small patch for it.
> 
> Actually I did not.
> The compile error has been introduced by this commit
> 
> commit 4e48afecd5ee3a394d228349fc1c33982e9fb557
> Author: Mauro Carvalho Chehab 
> Date:   Wed Sep 27 10:12:00 2017 -0400
> media: v4l2-async: simplify v4l2_async_subdev structure
> 
> Which is not in v4.15-rc8 on which I have based my work on.
> 
> As a general question, if I'm aiming to have my driver included in
> next release, should I always base my work on linux-next or it depends
> on sub-system/maintainers preferences?

That's up to the subsystem maintainer, but usually you should make sure
that it will apply to linux-next or to the subsystem's "-next" tree,
whatever that is called.

>>
>> ---
>> From: Randy Dunlap 
>>
>> Fix build error (on x86 with COMPILE_TEST):
>>
>> ../drivers/media/platform/renesas-ceu.c: In function 'ceu_parse_dt':
>> ../drivers/media/platform/renesas-ceu.c:1497:27: error: request for member 
>> 'fwnode' in something not a structure or union
>>ceu_sd->asd.match.fwnode.fwnode =
>>
>> Signed-off-by: Randy Dunlap 
>> ---
>>  drivers/media/platform/renesas-ceu.c |2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- linux-next-20180119.orig/drivers/media/platform/renesas-ceu.c
>> +++ linux-next-20180119/drivers/media/platform/renesas-ceu.c
>> @@ -1494,7 +1494,7 @@ static int ceu_parse_dt(struct ceu_devic
>>
>>  ceu_sd->mbus_flags = fw_ep.bus.parallel.flags;
>>  ceu_sd->asd.match_type = V4L2_ASYNC_MATCH_FWNODE;
>> -ceu_sd->asd.match.fwnode.fwnode =
>> +ceu_sd->asd.match.fwnode =
>>  fwnode_graph_get_remote_port_parent(
>>  of_fwnode_handle(ep));
>>
>>


-- 
~Randy


Re: [PATCH v6 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver

2018-01-21 Thread jacopo mondi
Hi Randy,
   thanks for noticing,

On Fri, Jan 19, 2018 at 02:12:19PM -0800, Randy Dunlap wrote:
> On 01/16/2018 01:44 PM, Jacopo Mondi wrote:
> > Hello,
> >new version of CEU after Hans' review.
> >
> > Added his Acked-by to most patches and closed review comments.
> > Running v4l2-compliance, I noticed a new failure introduced by the way I now
> > calculate the plane sizes in set/try_fmt.
>
> I would expect that you have already seen this, but I get a build error
> in renesas-ceu.c.  Here is a small patch for it.

Actually I did not.
The compile error has been introduced by this commit

commit 4e48afecd5ee3a394d228349fc1c33982e9fb557
Author: Mauro Carvalho Chehab 
Date:   Wed Sep 27 10:12:00 2017 -0400
media: v4l2-async: simplify v4l2_async_subdev structure

Which is not in v4.15-rc8 on which I have based my work on.

As a general question, if I'm aiming to have my driver included in
next release, should I always base my work on linux-next or it depends
on sub-system/maintainers preferences?

Thanks
   j

>
> ---
> From: Randy Dunlap 
>
> Fix build error (on x86 with COMPILE_TEST):
>
> ../drivers/media/platform/renesas-ceu.c: In function 'ceu_parse_dt':
> ../drivers/media/platform/renesas-ceu.c:1497:27: error: request for member 
> 'fwnode' in something not a structure or union
>ceu_sd->asd.match.fwnode.fwnode =
>
> Signed-off-by: Randy Dunlap 
> ---
>  drivers/media/platform/renesas-ceu.c |2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-next-20180119.orig/drivers/media/platform/renesas-ceu.c
> +++ linux-next-20180119/drivers/media/platform/renesas-ceu.c
> @@ -1494,7 +1494,7 @@ static int ceu_parse_dt(struct ceu_devic
>
>   ceu_sd->mbus_flags = fw_ep.bus.parallel.flags;
>   ceu_sd->asd.match_type = V4L2_ASYNC_MATCH_FWNODE;
> - ceu_sd->asd.match.fwnode.fwnode =
> + ceu_sd->asd.match.fwnode =
>   fwnode_graph_get_remote_port_parent(
>   of_fwnode_handle(ep));
>
>


Re: [PATCH v6 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver

2018-01-21 Thread jacopo mondi
Hi Hans,

On Fri, Jan 19, 2018 at 12:26:09PM +0100, Hans Verkuil wrote:
> Hi Jacopo,
>
> On 01/16/18 22:44, Jacopo Mondi wrote:
> > Hello,
> >new version of CEU after Hans' review.
> >
> > Added his Acked-by to most patches and closed review comments.
> > Running v4l2-compliance, I noticed a new failure introduced by the way I now
> > calculate the plane sizes in set/try_fmt.
> >
> > This is the function used to update per-plane bytesperline and sizeimage:
> >
> > static void ceu_update_plane_sizes(struct v4l2_plane_pix_format *plane,
> >unsigned int bpl, unsigned int szimage)
> > {
> > if (plane->bytesperline < bpl)
> > plane->bytesperline = bpl;
> > if (plane->sizeimage < szimage)
> > plane->sizeimage = szimage;
> > }
> >
> > I'm seeing a failure as v4l2-compliance requires buffers with both 
> > bytesperline
> > and sizeimage set to MAX_INT . Hans, is this expected from v4l2-compliance?
> > How should I handle this, if that has to be handled by the single drivers?
>
> I commented on this in my review of patch 3/9.

Fixed thank you.

>
> >
> > Apart from that, here it is the output of v4l2-compliance, with the last 
> > tests
> > failing due to the above stated reason, and two errors in try/set format 
> > due to
> > the fact the driver is not setting ycbcr encoding after it receives an 
> > invalid
>
> Which driver? The CEU driver or the sensor driver? I don't actually see where
> it fails.
>

Here it is:

fail: v4l2-test-formats.cpp(335): ycbcr_enc >= 0xff
fail: v4l2-test-formats.cpp(451): 
testColorspace(pix_mp.pixelformat, pix_mp.colorspace, pix_mp.ycbcr_enc, 
pix_mp.quantization)
fail: v4l2-test-formats.cpp(736): Video Capture Multiplanar is 
valid, but TRY_FMT failed to return a format
test VIDIOC_TRY_FMT: FAIL
fail: v4l2-test-formats.cpp(335): ycbcr_enc >= 0xff
fail: v4l2-test-formats.cpp(451): 
testColorspace(pix_mp.pixelformat, pix_mp.colorspace, pix_mp.ycbcr_enc, 
pix_mp.quantization)
fail: v4l2-test-formats.cpp(996): Video Capture Multiplanar is 
valid, but no S_FMT was implemented
test VIDIOC_S_FMT: FAIL


> > format. I would set those, but I'm not sure what it the correct value and 
> > not
> > all mainline drivers do that.
>
> In any case, the default for ycbcr_enc, xfer_func and quantization is 0.
>

Thanks again. I do expect to be the sensor driver to set ycbcr_enc and
quantization, but from a very trivial grep on media/i2c/ I see only a
few drivers taking care of them (adv7511 and adv7842). What about the
others? I assume v4l2-compliance would not fail on them as it does on
ov7670, but I don't see where ycbr_enc (and others) are managed.

Overall, with this addressed, the other issue I mentioned on patch
[3/9] on readbuffers clarified and frameinterval handled for ov722x, I
hope we're done with this series. Thanks again your continued effort
in reviews and guidance.

Thanks
   j

> >
> > ---
> > v4l2-compliance SHA   : 1d3c611dee82090d9456730e24af368b51dcb4a9
>
> I can't find this SHA in the v4l-utils repo. You should always compile
> v4l2-compliance from the master branch.
>
> Also test with 'v4l2-compliance -f': this tests streaming in all formats.
>
> >
> > Driver Info:
> > Driver name   : renesas-ceu
> > Card type : Renesas CEU e821.ceu
> > Bus info  : platform:renesas-ceu-e821.c
> > Driver version: 4.14.0
> > Capabilities  : 0x84201000
> > Video Capture Multiplanar
> > Streaming
> > Extended Pix Format
> > Device Capabilities
> > Device Caps   : 0x04201000
> > Video Capture Multiplanar
> > Streaming
> > Extended Pix Format
> >
> > Compliance test for device /dev/video0 (not using libv4l2):
> >
> > Required ioctls:
> > test VIDIOC_QUERYCAP: OK
> >
> > Allow for multiple opens:
> > test second video open: OK
> > test VIDIOC_QUERYCAP: OK
> > test VIDIOC_G/S_PRIORITY: OK
> > test for unlimited opens: OK
> >
> > Debug ioctls:
> > test VIDIOC_DBG_G/S_REGISTER: OK
> > test VIDIOC_LOG_STATUS: OK (Not Supported)
> >
> > Input ioctls:
> > test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> > test VIDIOC_ENUMAUDIO: OK (Not Supported)
> > test VIDIOC_G/S/ENUMINPUT: OK
> > test VIDIOC_G/S_AUDIO: OK (Not Supported)
> > Inputs: 1 Audio Inputs: 0 Tuners: 0
> >
> > Output ioctls:
> > test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> > test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> > 

Re: [PATCH v6 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver

2018-01-19 Thread Randy Dunlap
On 01/16/2018 01:44 PM, Jacopo Mondi wrote:
> Hello,
>new version of CEU after Hans' review.
> 
> Added his Acked-by to most patches and closed review comments.
> Running v4l2-compliance, I noticed a new failure introduced by the way I now
> calculate the plane sizes in set/try_fmt.

I would expect that you have already seen this, but I get a build error
in renesas-ceu.c.  Here is a small patch for it.

---
From: Randy Dunlap 

Fix build error (on x86 with COMPILE_TEST):

../drivers/media/platform/renesas-ceu.c: In function 'ceu_parse_dt':
../drivers/media/platform/renesas-ceu.c:1497:27: error: request for member 
'fwnode' in something not a structure or union
   ceu_sd->asd.match.fwnode.fwnode =

Signed-off-by: Randy Dunlap 
---
 drivers/media/platform/renesas-ceu.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next-20180119.orig/drivers/media/platform/renesas-ceu.c
+++ linux-next-20180119/drivers/media/platform/renesas-ceu.c
@@ -1494,7 +1494,7 @@ static int ceu_parse_dt(struct ceu_devic
 
ceu_sd->mbus_flags = fw_ep.bus.parallel.flags;
ceu_sd->asd.match_type = V4L2_ASYNC_MATCH_FWNODE;
-   ceu_sd->asd.match.fwnode.fwnode =
+   ceu_sd->asd.match.fwnode =
fwnode_graph_get_remote_port_parent(
of_fwnode_handle(ep));
 



Re: [PATCH v6 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver

2018-01-19 Thread Hans Verkuil
Hi Jacopo,

On 01/16/18 22:44, Jacopo Mondi wrote:
> Hello,
>new version of CEU after Hans' review.
> 
> Added his Acked-by to most patches and closed review comments.
> Running v4l2-compliance, I noticed a new failure introduced by the way I now
> calculate the plane sizes in set/try_fmt.
> 
> This is the function used to update per-plane bytesperline and sizeimage:
> 
> static void ceu_update_plane_sizes(struct v4l2_plane_pix_format *plane,
>  unsigned int bpl, unsigned int szimage)
> {
>   if (plane->bytesperline < bpl)
>   plane->bytesperline = bpl;
>   if (plane->sizeimage < szimage)
>   plane->sizeimage = szimage;
> }
> 
> I'm seeing a failure as v4l2-compliance requires buffers with both 
> bytesperline
> and sizeimage set to MAX_INT . Hans, is this expected from v4l2-compliance?
> How should I handle this, if that has to be handled by the single drivers?

I commented on this in my review of patch 3/9.

> 
> Apart from that, here it is the output of v4l2-compliance, with the last tests
> failing due to the above stated reason, and two errors in try/set format due 
> to
> the fact the driver is not setting ycbcr encoding after it receives an invalid

Which driver? The CEU driver or the sensor driver? I don't actually see where
it fails.

> format. I would set those, but I'm not sure what it the correct value and not
> all mainline drivers do that.

In any case, the default for ycbcr_enc, xfer_func and quantization is 0.

> 
> ---
> v4l2-compliance SHA   : 1d3c611dee82090d9456730e24af368b51dcb4a9

I can't find this SHA in the v4l-utils repo. You should always compile
v4l2-compliance from the master branch.

Also test with 'v4l2-compliance -f': this tests streaming in all formats.

> 
> Driver Info:
>   Driver name   : renesas-ceu
>   Card type : Renesas CEU e821.ceu
>   Bus info  : platform:renesas-ceu-e821.c
>   Driver version: 4.14.0
>   Capabilities  : 0x84201000
>   Video Capture Multiplanar
>   Streaming
>   Extended Pix Format
>   Device Capabilities
>   Device Caps   : 0x04201000
>   Video Capture Multiplanar
>   Streaming
>   Extended Pix Format
> 
> Compliance test for device /dev/video0 (not using libv4l2):
> 
> Required ioctls:
>   test VIDIOC_QUERYCAP: OK
> 
> Allow for multiple opens:
>   test second video open: OK
>   test VIDIOC_QUERYCAP: OK
>   test VIDIOC_G/S_PRIORITY: OK
>   test for unlimited opens: OK
> 
> Debug ioctls:
>   test VIDIOC_DBG_G/S_REGISTER: OK
>   test VIDIOC_LOG_STATUS: OK (Not Supported)
> 
> Input ioctls:
>   test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>   test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>   test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>   test VIDIOC_ENUMAUDIO: OK (Not Supported)
>   test VIDIOC_G/S/ENUMINPUT: OK
>   test VIDIOC_G/S_AUDIO: OK (Not Supported)
>   Inputs: 1 Audio Inputs: 0 Tuners: 0
> 
> Output ioctls:
>   test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>   test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>   test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>   test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>   test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>   Outputs: 0 Audio Outputs: 0 Modulators: 0
> 
> Input/Output configuration ioctls:
>   test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>   test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
>   test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
>   test VIDIOC_G/S_EDID: OK (Not Supported)
> 
> Test input 0:
> 
>   Control ioctls:
>   test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
>   test VIDIOC_QUERYCTRL: OK
>   test VIDIOC_G/S_CTRL: OK
>   test VIDIOC_G/S/TRY_EXT_CTRLS: OK
>   fail: v4l2-test-controls.cpp(782): subscribe event for control 
> 'User Controls' failed
>   test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL
>   test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>   Standard Controls: 12 Private Controls: 0
> 
>   Format ioctls:
>   test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
>   fail: v4l2-test-formats.cpp(1162): ret && node->has_frmintervals
>   test VIDIOC_G/S_PARM: FAIL
>   test VIDIOC_G_FBUF: OK (Not Supported)
>   test VIDIOC_G_FMT: OK
>   fail: v4l2-test-formats.cpp(335): ycbcr_enc >= 0xff
>   fail: v4l2-test-formats.cpp(451): 
> testColorspace(pix_mp.pixelformat, pix_mp.colorspace, pix_mp.ycbcr_enc, 
> pix_mp.quantization)
>   fail: v4l2-test-formats.cpp(736): Video Capture Multiplanar is 
> valid, but TRY_FMT failed to return a format
>   test VIDIOC_TRY_FMT: FAIL
>   fail: 

[PATCH v6 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver

2018-01-16 Thread Jacopo Mondi
Hello,
   new version of CEU after Hans' review.

Added his Acked-by to most patches and closed review comments.
Running v4l2-compliance, I noticed a new failure introduced by the way I now
calculate the plane sizes in set/try_fmt.

This is the function used to update per-plane bytesperline and sizeimage:

static void ceu_update_plane_sizes(struct v4l2_plane_pix_format *plane,
   unsigned int bpl, unsigned int szimage)
{
if (plane->bytesperline < bpl)
plane->bytesperline = bpl;
if (plane->sizeimage < szimage)
plane->sizeimage = szimage;
}

I'm seeing a failure as v4l2-compliance requires buffers with both bytesperline
and sizeimage set to MAX_INT . Hans, is this expected from v4l2-compliance?
How should I handle this, if that has to be handled by the single drivers?

Apart from that, here it is the output of v4l2-compliance, with the last tests
failing due to the above stated reason, and two errors in try/set format due to
the fact the driver is not setting ycbcr encoding after it receives an invalid
format. I would set those, but I'm not sure what it the correct value and not
all mainline drivers do that.

---
v4l2-compliance SHA   : 1d3c611dee82090d9456730e24af368b51dcb4a9

Driver Info:
Driver name   : renesas-ceu
Card type : Renesas CEU e821.ceu
Bus info  : platform:renesas-ceu-e821.c
Driver version: 4.14.0
Capabilities  : 0x84201000
Video Capture Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps   : 0x04201000
Video Capture Multiplanar
Streaming
Extended Pix Format

Compliance test for device /dev/video0 (not using libv4l2):

Required ioctls:
test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
test second video open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK

Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)

Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0

Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)

Test input 0:

Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
test VIDIOC_G/S_CTRL: OK
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
fail: v4l2-test-controls.cpp(782): subscribe event for control 
'User Controls' failed
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 12 Private Controls: 0

Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
fail: v4l2-test-formats.cpp(1162): ret && node->has_frmintervals
test VIDIOC_G/S_PARM: FAIL
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
fail: v4l2-test-formats.cpp(335): ycbcr_enc >= 0xff
fail: v4l2-test-formats.cpp(451): 
testColorspace(pix_mp.pixelformat, pix_mp.colorspace, pix_mp.ycbcr_enc, 
pix_mp.quantization)
fail: v4l2-test-formats.cpp(736): Video Capture Multiplanar is 
valid, but TRY_FMT failed to return a format
test VIDIOC_TRY_FMT: FAIL
fail: v4l2-test-formats.cpp(335): ycbcr_enc >= 0xff
fail: v4l2-test-formats.cpp(451): 
testColorspace(pix_mp.pixelformat, pix_mp.colorspace, pix_mp.ycbcr_enc, 
pix_mp.quantization)
fail: v4l2-test-formats.cpp(996): Video Capture Multiplanar is 
valid, but no S_FMT was implemented
test VIDIOC_S_FMT: FAIL
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)