Re: [PATCH v2 0/3] support of v4l2 encoder for STMicroelectronics SOC

2016-07-13 Thread Javier Martinez Canillas
Hello Jean Christophe,

On Wed, Jul 13, 2016 at 9:49 AM, Jean Christophe TROTIN
 wrote:
>
>
> On 07/11/2016 08:57 PM, Javier Martinez Canillas wrote:
>> On Mon, Jul 11, 2016 at 1:48 PM, Nicolas Dufresne
>>  wrote:
>>> Le lundi 11 juillet 2016 à 17:14 +0200, Jean-Christophe Trotin a
>>> écrit :
>>
>> [snip]
>>

 Below is the v4l2-compliance report for the version 2 of the sti hva
 driver:


 root@sti-next:/home/video_test# v4l2-compliance -d /dev/video0
 Driver Info:
Driver name   : 8c85000.hva
>>>
>>> I think it would be nice to set a driver name that means something.
>>>
Card type : 8c85000.hva
>>
>> Agreed, same for Card type. The VIDIOC_QUERYCAP ioctl documentation
>> explains what information these fields should contain:
>>
>> https://linuxtv.org/downloads/v4l-dvb-apis/vidioc-querycap.html
>>
>> For example 
>> https://git.linuxtv.org/media_tree.git/commit/?id=e0d80c8acca0f221b9dedb2eab7a5184848b99b7
>>
>> Best regards,
>> Javier
>>
>
> Nicolas and Javier,
>
> Thank you for the remarks.
> I will modify the code in version 3 so that "driver" contains the name of the
> encoder ("hva"), "card" identifies the hardware version ("hva"
> with  equal to 400 here, which leads to "hva400"), and 
> "bus_info"
> indicates the location of the device ("platform:8c85000.hva").
>
> Before the modification:
> Driver Info:
> Driver name   : 8c85000.hva
> Card type : 8c85000.hva
> Bus info  : platform:hva
> Driver version: 4.7.0
>
> After the modification:
> Driver Info:
> Driver name   : hva
> Card type : hva400
> Bus info  : platform:8c85000.hva
> Driver version: 4.7.0
>

Thanks a lot for doing this, it looks correct to me now.

> Best regards,
> Jean-Christophe.

Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 0/3] support of v4l2 encoder for STMicroelectronics SOC

2016-07-13 Thread Jean Christophe TROTIN


On 07/11/2016 08:57 PM, Javier Martinez Canillas wrote:
> On Mon, Jul 11, 2016 at 1:48 PM, Nicolas Dufresne
>  wrote:
>> Le lundi 11 juillet 2016 à 17:14 +0200, Jean-Christophe Trotin a
>> écrit :
>
> [snip]
>
>>>
>>> Below is the v4l2-compliance report for the version 2 of the sti hva
>>> driver:
>>>
>>>
>>> root@sti-next:/home/video_test# v4l2-compliance -d /dev/video0
>>> Driver Info:
>>>Driver name   : 8c85000.hva
>>
>> I think it would be nice to set a driver name that means something.
>>
>>>Card type : 8c85000.hva
>
> Agreed, same for Card type. The VIDIOC_QUERYCAP ioctl documentation
> explains what information these fields should contain:
>
> https://linuxtv.org/downloads/v4l-dvb-apis/vidioc-querycap.html
>
> For example 
> https://git.linuxtv.org/media_tree.git/commit/?id=e0d80c8acca0f221b9dedb2eab7a5184848b99b7
>
> Best regards,
> Javier
>

Nicolas and Javier,

Thank you for the remarks.
I will modify the code in version 3 so that "driver" contains the name of the 
encoder ("hva"), "card" identifies the hardware version ("hva" 
with  equal to 400 here, which leads to "hva400"), and 
"bus_info" 
indicates the location of the device ("platform:8c85000.hva").

Before the modification:
Driver Info:
Driver name   : 8c85000.hva
Card type : 8c85000.hva
Bus info  : platform:hva
Driver version: 4.7.0

After the modification:
Driver Info:
Driver name   : hva
Card type : hva400
Bus info  : platform:8c85000.hva
Driver version: 4.7.0

Best regards,
Jean-Christophe.

Re: [PATCH v2 0/3] support of v4l2 encoder for STMicroelectronics SOC

2016-07-11 Thread Javier Martinez Canillas
On Mon, Jul 11, 2016 at 1:48 PM, Nicolas Dufresne
 wrote:
> Le lundi 11 juillet 2016 à 17:14 +0200, Jean-Christophe Trotin a
> écrit :

[snip]

>>
>> Below is the v4l2-compliance report for the version 2 of the sti hva
>> driver:
>>
>>
>> root@sti-next:/home/video_test# v4l2-compliance -d /dev/video0
>> Driver Info:
>>   Driver name   : 8c85000.hva
>
> I think it would be nice to set a driver name that means something.
>
>>   Card type : 8c85000.hva

Agreed, same for Card type. The VIDIOC_QUERYCAP ioctl documentation
explains what information these fields should contain:

https://linuxtv.org/downloads/v4l-dvb-apis/vidioc-querycap.html

For example 
https://git.linuxtv.org/media_tree.git/commit/?id=e0d80c8acca0f221b9dedb2eab7a5184848b99b7

Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 0/3] support of v4l2 encoder for STMicroelectronics SOC

2016-07-11 Thread Nicolas Dufresne
Le lundi 11 juillet 2016 à 17:14 +0200, Jean-Christophe Trotin a
écrit :
> version 2:
> - List of pixel formats supported by the encoder reduced to NV12 and
> NV21
> - x86_64 compilation warnings corrected
> - V4L2 compliance successfully passed with this version (see report
> below)
> - All remarks about version 1 of hva-v4l2.c taken into account:
> - V4L2 mem2mem framework used 
>   - V4L2 control framework used
>   - allocator context initialized in the probe and cleaned up in
> the remove
>   - start_streaming and stop_streaming ops added
>   - colorspace, bytesperline and sizeimage fields initialized in
> TRY_FMT
>   - better estimation of sizeimage for compressed formats
>   - checks and debugging logs already covered by vb2 removed
>   - some dev_err changed in dev_dbg
>   - typos corrected
> 
> version 1:
> - Initial submission.
> 
> Only one feature supported and tested:
> - encode (NV12, NV21) to H.264 video format
> 
> The driver is mainly implemented across three files:
> - hva-v4l2.c
> - hva-h264.c
> - hva-hw.c
> hva-v4l2.c manages the V4L2 interface with the userland.
> It calls the HW services that are implemented in hva-hw.c.
> hva-h264.c manages specific part of H.264 codec.
> 
> Below is the v4l2-compliance report for the version 2 of the sti hva
> driver:
> 
> 
> root@sti-next:/home/video_test# v4l2-compliance -d /dev/video0
> Driver Info:
>   Driver name   : 8c85000.hva

I think it would be nice to set a driver name that means something.

>   Card type : 8c85000.hva
>   Bus info  : platform:hva
>   Driver version: 4.7.0
>   Capabilities  : 0x84208000
>   Video Memory-to-Memory
>   Streaming
>   Extended Pix Format
>   Device Capabilities
>   Device Caps   : 0x04208000
>   Video Memory-to-Memory
>   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
> 
> Debug ioctls:
>   test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
>   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 (Not Supported)
>   test VIDIOC_G/S_AUDIO: OK (Not Supported)
>   Inputs: 0 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)
> 
>   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
>   test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
>   test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>   Standard Controls: 16 Private Controls: 0
> 
>   Format ioctls:
>   test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
>   test VIDIOC_G/S_PARM: OK
>   test VIDIOC_G_FBUF: OK (Not Supported)
>   test VIDIOC_G_FMT: OK
>   warn: /local/home/frq08988/views/opensdk-
> 2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-
> formats.cpp(716): TRY_FMT cannot handle an invalid pixelformat.
>   warn: /local/home/frq08988/views/opensdk-
> 2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-
> formats.cpp(717): This may or may not be a problem. For more
> information see:
>   warn: /local/home/frq08988/views/opensdk-
> 2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-
> formats.cpp(718): http://www.mail-archive.com/linux-media@vger.kernel
> .org/msg56550.html
>   warn: /local/home/frq08988/views/opensdk-
> 2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-
> formats.cpp(716): TRY_FMT cannot handle an invalid pixelformat.
>   warn: /local/home/frq08988/views/opensdk-
> 2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-
> formats.cpp(717): This may or may not be a problem. For more
> information see:
>   warn: /local/home/frq08988/views/opensdk-
> 

[PATCH v2 0/3] support of v4l2 encoder for STMicroelectronics SOC

2016-07-11 Thread Jean-Christophe Trotin
version 2:
- List of pixel formats supported by the encoder reduced to NV12 and NV21
- x86_64 compilation warnings corrected
- V4L2 compliance successfully passed with this version (see report below)
- All remarks about version 1 of hva-v4l2.c taken into account:
- V4L2 mem2mem framework used 
- V4L2 control framework used
- allocator context initialized in the probe and cleaned up in the 
remove
- start_streaming and stop_streaming ops added
- colorspace, bytesperline and sizeimage fields initialized in TRY_FMT
- better estimation of sizeimage for compressed formats
- checks and debugging logs already covered by vb2 removed
- some dev_err changed in dev_dbg
- typos corrected

version 1:
- Initial submission.

Only one feature supported and tested:
- encode (NV12, NV21) to H.264 video format

The driver is mainly implemented across three files:
- hva-v4l2.c
- hva-h264.c
- hva-hw.c
hva-v4l2.c manages the V4L2 interface with the userland.
It calls the HW services that are implemented in hva-hw.c.
hva-h264.c manages specific part of H.264 codec.

Below is the v4l2-compliance report for the version 2 of the sti hva driver:


root@sti-next:/home/video_test# v4l2-compliance -d /dev/video0
Driver Info:
Driver name   : 8c85000.hva
Card type : 8c85000.hva
Bus info  : platform:hva
Driver version: 4.7.0
Capabilities  : 0x84208000
Video Memory-to-Memory
Streaming
Extended Pix Format
Device Capabilities
Device Caps   : 0x04208000
Video Memory-to-Memory
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

Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
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 (Not Supported)
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 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)

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
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 16 Private Controls: 0

Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
warn: 
/local/home/frq08988/views/opensdk-2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-formats.cpp(716):
 TRY_FMT cannot handle an invalid pixelformat.
warn: 
/local/home/frq08988/views/opensdk-2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-formats.cpp(717):
 This may or may not be a problem. For more information see:
warn: 
/local/home/frq08988/views/opensdk-2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-formats.cpp(718):
 http://www.mail-archive.com/linux-media@vger.kernel.org/msg56550.html
warn: 
/local/home/frq08988/views/opensdk-2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-formats.cpp(716):
 TRY_FMT cannot handle an invalid pixelformat.
warn: 
/local/home/frq08988/views/opensdk-2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-formats.cpp(717):
 This may or may not be a problem. For more information see:
warn: 
/local/home/frq08988/views/opensdk-2.1.4.1/sources/v4l-utils/utils/v4l2-compliance/v4l2-test-formats.cpp(718):
 http://www.mail-archive.com/linux-media@vger.kernel.org/msg56550.html
test VIDIOC_TRY_FMT: OK
warn: