V4L framework progress: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(make table sortable and add templates for some colour/easy viewing)
Line 11: Line 11:
;driver
;driver
The driver name
The driver name
;V4L API
;V4L2
Whether the driver implements the V4L2 API or still uses the old V4L1 API
Whether the driver implements the V4L2 API or still uses the old V4L1 API
;v4l2_device
;v4l2_device
Line 26: Line 26:
LP = Laurent Pinchart
LP = Laurent Pinchart



{| class="wikitable" style="text-align:center"

! driver
{| class="wikitable sortable"
! V4L2
|+'''A Sortable Table of Bridge Drivers'''
! v4l2_device
! video_ioctl2
! have hardware
! comments
|-
|-
! driver !! V4L API !! v4l2_device !! video_ioctl2 !! have hardware !! class="unsortable"| Comments
| arv
| 1
| n
| n
| n
|
|-
|-
| arv || 1 || {{No}} || {{No}} || {{No}} ||
| au0828
| 2
| y
| y
| y
|
|-
|-
| au0828 || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| av7110
| 2
| y
| y
| y
|
|-
|-
| av7110 || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| bttv
| 2
| y
| y
| y
|
|-
|-
| bttv || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| budget-av
| 2
| y
| y
| y
|
|-
|-
| budget-av || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| bw-qcam
| 1
| n
| n
| n
|
|-
|-
| bw-qcam || 1 || {{No}} || {{No}} || {{No}} ||
| c-qcam
| 1
| n
| n
| y
|
|-
|-
| c-qcam || 1 || {{No}} || {{No}} || {{Yes}} ||
| cafe_ccic
| 2
| y
| y
| HV
|
|-
|-
| cafe_ccic || 2 || {{Yes}} || {{Yes}} || HV ||
| cpia_pp
| 1
| n
| n
| n
|
|-
|-
| cpia_pp || 1 || {{No}} || {{No}} || {{No}} ||
| cpia_usb
| 1
| n
| n
| n
| deprecated, replaced by gspca
|-
|-
| cpia_usb || 1 || {{No}} || {{No}} || {{No}} || deprecated, replaced by gspca
| cpia2
| 2
| n
| n
| n
|
|-
|-
| cpia2 || 2 || {{No}} || {{No}} || {{No}} ||
| cx18
| 2
| y
| y
| AW, HV
|
|-
|-
| cx18 || 2 || {{Yes}} || {{Yes}} || AW, HV ||
| cx25821
| 2
| y
| y
| y
| staging driver
|-
|-
| cx25821 || 2 || {{Yes}} || {{Yes}} || {{Yes}} || staging driver
| cx231xx
| 2
| y
| y
| y
|
|-
|-
| cx231xx || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| cx23885
| 2
| y
| y
| y
|
|-
|-
| cx23885 || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| cx88
| 2
| y
| y
| y
|
|-
|-
| cx88 || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| davinci
| 2
| y
| y
| y
|
|-
|-
| davinci || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| dsbr100
| 2
| y
| y
| y
| radio only
|-
|-
| dsbr100 || 2 || {{Yes}} || {{Yes}} || {{Yes}} || radio only
| em28xx
| 2
| y
| y
| y
|
|-
|-
| em28xx || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| et61x251
| 2
| n
| n
| y
|
|-
|-
| et61x251 || 2 || {{No}} || {{No}} || {{Yes}} ||
| go7007
| 2
| y
| y
| y
| staging driver
|-
|-
| go7007 || 2 || {{Yes}} || {{Yes}} ||v {{Yes}} || staging driver
| gspca
| 2
| n
| y
| y
|
|-
|-
| gspca || 2 || {{No}} || {{Yes}} || {{Yes}} ||
| hdpvr
| 2
| y
| y
| y
|
|-
|-
| hdpvr || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| hexium_gemini
| 2
| y
| y
| n
|
|-
|-
| hexium_gemini || 2 || {{Yes}} || {{Yes}} || {{No}} ||
| hexium_orion
| 2
| y
| y
| n
|
|-
|-
| hexium_orion || 2 || {{Yes}} || {{Yes}} || {{No}} ||
| ibmcam
| 1
| n
| n
| y
|
|-
|-
| ibmcam || 1 || {{No}} || {{No}} || {{Yes}} ||
| ivtv
| 2
| y
| y
| HV, AW
|
|-
|-
| ivtv || 2 || {{Yes}} || {{Yes}} || HV, AW ||
| konicawc
| 1
|-
| konicawc || 1 || {{No}} || {{No}} || {{No}} ||
| n
| n
| n
|
|-
|-
| meye || 2 || {{No}} || {{Yes}} || {{No}} ||
| meye
| 2
| n
| y
| n
|
|-
|-
| mxb || 2 || {{Yes}} || {{Yes}} || HV ||
| mxb
| 2
| y
| y
| HV
|
|-
|-
| omap24xcam || 2 || {{No}} || {{Yes}} || {{Yes}} || still uses v4l2-int-device
| omap24xcam
| 2
| n
| y
| y
| still uses v4l2-int-device
|-
|-
| ov511 || 1 || {{No}} || {{No}} || {{Yes}} || deprecated, replaced by gspca
| ov511
| 1
| n
| n
| y
| deprecated, replaced by gspca
|-
|-
| pms || 2 || {{Yes}} || {{Yes}} || HV || ISA
| pms
| 2
| y
| y
| HV
| ISA
|-
|-
| pvrusb2 || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| pvrusb2
| 2
| y
| y
| y
|
|-
|-
| pwc || 2 || {{No}} || {{No}} || {{Yes}} ||
| pwc
| 2
| n
| n
| y
|
|-
|-
| quickcam_messenger
| quickcam_messenger || 1 || {{No}} || {{No}} || HV || deprecated, replaced by gspca
| 1
| n
| n
| HV
| deprecated, replaced by gspca
|-
|-
| radio-aimslab
| radio-aimslab || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-aztech || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| radio-aztech
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-cadet || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| radio-cadet
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-gemtek || 2 || {{Yes}} || {{Yes}} || {{Yes}} || ISA, radio only
| radio-gemtek
| 2
| y
| y
| y
| ISA, radio only
|-
|-
| radio-gemtek-pci
| radio-gemtek-pci || 2 || {{Yes}} || {{Yes}} || {{No}} || radio only
| 2
| y
| y
| n
| radio only
|-
|-
| radio-maestro
| radio-maestro || 2 || {{Yes}} || {{Yes}} || {{No}} || radio only
| 2
| y
| y
| n
| radio only
|-
|-
| radio-maxiradio
| radio-maxiradio || 2 || {{Yes}} || {{Yes}} || {{No}} || radio only
| 2
| y
| y
| n
| radio only
|-
|-
| radio-miropcm20
| radio-miropcm20 || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-mr800
| radio-mr800 || 2 || {{Yes}} || {{Yes}} || {{Yes}} || radio only
| 2
| y
| y
| y
| radio only
|-
|-
| radio-rtrack2
| radio-rtrack2 || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-sf16fmi
| radio-sf16fmi || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-sf16fmr2
| radio-sf16fmr2 || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-si470x
| radio-si470x || 2 || {{No}} || {{Yes}} || {{Yes}} || radio only
| 2
| n
| y
| y
| radio only
|-
|-
| radio-si4713 || 2 || {{Yes}} || {{Yes}} || {{No}} || radio transmitter only
| radio-si4713
| 2
| y
| y
| n
| radio transmitter only
|-
|-
| radio-tea5764
| radio-tea5764 || 2 || {{No}} || {{Yes}} || {{Yes}} || radio only
| 2
| n
| y
| y
| radio only
|-
|-
| radio-terratec
| radio-terratec || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-timb || 2 || {{Yes}} || {{Yes}} || {{No}} || radio only
| radio-timb
| 2
| y
| y
| n
| radio only
|-
|-
| radio-trust || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| radio-trust
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-typhoon
| radio-typhoon || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| radio-zoltrix
| radio-zoltrix || 2 || {{Yes}} || {{Yes}} || {{No}} || ISA, radio only
| 2
| y
| y
| n
| ISA, radio only
|-
|-
| s2255drv || 2 || {{No}} || {{Yes}} || {{Unknown}} ||
| s2255drv
| 2
| n
| y
| ?
|
|-
|-
| saa7134 || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| saa7134
| 2
| y
| y
| y
|
|-
|-
| saa7164 || || || || || dvb only, no v4l2 support (yet?)
| saa7164
|
|
|
|
| dvb only, no v4l2 support (yet?)
|-
|-
| se401 || 1 || {{No}} || {{No}} || {{Yes}} ||
| se401
| 1
| n
| n
| y
|
|-
|-
| sn9c102 || 2 || {{No}} || {{No}} || {{Unknown}} ||
| sn9c102
| 2
| n
| n
| ?
|
|-
|-
| soc_camera
| soc_camera || 2 || {{No}} || {{Yes}} || {{Yes}} ||
| 2
| n
| y
| y
|
|-
|-
| stk-webcam
| stk-webcam || 2 || {{Yes}} || {{No}} || {{Unknown}} ||
| 2
| y
| n
| ?
|
|-
|-
| stradis || 1 || {{No}} || {{No}} || {{No}} ||
| stradis
| 1
| n
| n
| n
|
|-
|-
| stv680 || 1 || {{No}} || {{No}} || {{Yes}} || deprecated, replaced by gspca
| stv680
| 1
| n
| n
| y
| deprecated, replaced by gspca
|-
|-
| tea575x-tuner
| tea575x-tuner || 2 || {{No}} || {{Yes}} || {{No}} ||
| 2
| n
| y
| n
|
|-
|-
| tlg2300 || 2 || {{Yes}} || {{Yes}} || {{Unknown}} ||
| tlg2300
| 2
| y
| y
| ?
|
|-
|-
| tm6000 || 2 || {{Yes}} || {{Yes}} || {{Yes}} || staging driver
| tm6000
| 2
| y
| y
| y
| staging driver
|-
|-
| usbvision
| usbvision || 2 || {{Yes}} || {{Yes}} || HV ||
| 2
| y
| y
| HV
|
|-
|-
| uvc || 2 || {{No}} || {{No}} || LP, HV ||
| uvc
| 2
| n
| n
| LP, HV
|
|-
|-
| vicam || 1 || {{No}} || {{No}} || {{Yes}} ||
| vicam
| 1
| n
| n
| y
|
|-
|-
| vino || 2 || {{Yes}} || {{Yes}} || {{Unknown}} ||
| vino
| 2
| y
| y
| ?
|
|-
|-
| vivi || 2 || {{Yes}} || {{Yes}} || {{Yes}} ||
| vivi
| 2
| y
| y
| y
|
|-
|-
| w9966 || 1 || {{No}} || {{No}} || {{No}} ||
| w9966
| 1
| n
| n
| n
|
|-
|-
| w9968cf || 1 || {{No}} || {{No}} || {{Yes}} || deprecated, replaced by gspca
| w9968cf
| 1
| n
| n
| y
| deprecated, replaced by gspca
|-
|-
| zc0301 || 2 || {{No}} || {{No}} || {{No}} ||
| zc0301
| 2
| n
| n
| n
|
|-
|-
| zoran || 2 || {{Yes}} || {{Yes}} || HV ||
| zoran
| 2
| y
| y
| HV
|
|-
|-
| zr364xx || 2 || {{No}} || {{Yes}} || {{Yes}} ||
| zr364xx
| 2
| n
| y
| y
|
|}
|}


Line 594: Line 203:
Can someone test this i2c driver?
Can someone test this i2c driver?


{| class="wikitable" style="text-align:center"
{| class="wikitable sortable"
|+'''A Sortable Table of Sub-Device Drivers'''
! i2c driver
|-
! uses mediabus
! i2c driver !! uses mediabus !! uses init !! uses reset !! have hardware !! class="unsortable"| Comments
! uses init
! uses reset
! have hardware
! comments
|-
|-
| adv7170
| adv7170 || n/a || {{No}} || {{No}} || ||
| n/a
| n
| n
|
|
|}
|}

Revision as of 22:24, 24 March 2010

This page contains the status of all drivers with respect to their adoption of all the new structures that the V4L framework offers.

This should help in identifying those drivers that need more work.

It is expected that this page will be continuously updated whenever new conversion tasks appear.

Note: the driver lists are not yet complete. This is work in progress.

Bridge Drivers

driver

The driver name

V4L API

Whether the driver implements the V4L2 API or still uses the old V4L1 API

v4l2_device

Whether the driver uses struct v4l2_device

video_ioctls

Whether the driver uses the video_ioctl2 fops .ioctl op

have hardware

Who can test this driver?

AW = Andy Walls

HV = Hans Verkuil

LP = Laurent Pinchart


A Sortable Table of Bridge Drivers
driver V4L API v4l2_device video_ioctl2 have hardware Comments
arv 1 No No No
au0828 2 Yes Yes Yes
av7110 2 Yes Yes Yes
bttv 2 Yes Yes Yes
budget-av 2 Yes Yes Yes
bw-qcam 1 No No No
c-qcam 1 No No Yes
cafe_ccic 2 Yes Yes HV
cpia_pp 1 No No No
cpia_usb 1 No No No deprecated, replaced by gspca
cpia2 2 No No No
cx18 2 Yes Yes AW, HV
cx25821 2 Yes Yes Yes staging driver
cx231xx 2 Yes Yes Yes
cx23885 2 Yes Yes Yes
cx88 2 Yes Yes Yes
davinci 2 Yes Yes Yes
dsbr100 2 Yes Yes Yes radio only
em28xx 2 Yes Yes Yes
et61x251 2 No No Yes
go7007 2 Yes Yes v Yes staging driver
gspca 2 No Yes Yes
hdpvr 2 Yes Yes Yes
hexium_gemini 2 Yes Yes No
hexium_orion 2 Yes Yes No
ibmcam 1 No No Yes
ivtv 2 Yes Yes HV, AW
konicawc 1 No No No
meye 2 No Yes No
mxb 2 Yes Yes HV
omap24xcam 2 No Yes Yes still uses v4l2-int-device
ov511 1 No No Yes deprecated, replaced by gspca
pms 2 Yes Yes HV ISA
pvrusb2 2 Yes Yes Yes
pwc 2 No No Yes
quickcam_messenger 1 No No HV deprecated, replaced by gspca
radio-aimslab 2 Yes Yes No ISA, radio only
radio-aztech 2 Yes Yes No ISA, radio only
radio-cadet 2 Yes Yes No ISA, radio only
radio-gemtek 2 Yes Yes Yes ISA, radio only
radio-gemtek-pci 2 Yes Yes No radio only
radio-maestro 2 Yes Yes No radio only
radio-maxiradio 2 Yes Yes No radio only
radio-miropcm20 2 Yes Yes No ISA, radio only
radio-mr800 2 Yes Yes Yes radio only
radio-rtrack2 2 Yes Yes No ISA, radio only
radio-sf16fmi 2 Yes Yes No ISA, radio only
radio-sf16fmr2 2 Yes Yes No ISA, radio only
radio-si470x 2 No Yes Yes radio only
radio-si4713 2 Yes Yes No radio transmitter only
radio-tea5764 2 No Yes Yes radio only
radio-terratec 2 Yes Yes No ISA, radio only
radio-timb 2 Yes Yes No radio only
radio-trust 2 Yes Yes No ISA, radio only
radio-typhoon 2 Yes Yes No ISA, radio only
radio-zoltrix 2 Yes Yes No ISA, radio only
s2255drv 2 No Yes ? Unknown
saa7134 2 Yes Yes Yes
saa7164 dvb only, no v4l2 support (yet?)
se401 1 No No Yes
sn9c102 2 No No ? Unknown
soc_camera 2 No Yes Yes
stk-webcam 2 Yes No ? Unknown
stradis 1 No No No
stv680 1 No No Yes deprecated, replaced by gspca
tea575x-tuner 2 No Yes No
tlg2300 2 Yes Yes ? Unknown
tm6000 2 Yes Yes Yes staging driver
usbvision 2 Yes Yes HV
uvc 2 No No LP, HV
vicam 1 No No Yes
vino 2 Yes Yes ? Unknown
vivi 2 Yes Yes Yes
w9966 1 No No No
w9968cf 1 No No Yes deprecated, replaced by gspca
zc0301 2 No No No
zoran 2 Yes Yes HV
zr364xx 2 No Yes Yes

Sub-Device Drivers

subdev driver

The sub-device driver name

uses mediabus

Whether the driver implements the new *_mbus_fmt subdev ops

uses init

Whether the driver uses the deprecated .core init op

uses reset

Whether the driver uses the deprecated .core reset op

have hardware

Can someone test this i2c driver?

A Sortable Table of Sub-Device Drivers
i2c driver uses mediabus uses init uses reset have hardware Comments
adv7170 n/a No No