1st place to understand basic structure of V4L2 interface is here. vivi driver is a sample source which could be used for either testing V4L2 based application or to start developing new driver. More information about vivi could be found here. Driver writer's guide is available here. Once all above links are covered, linux media interface could be looked here to go inside.
Although link is not for current scope, but it is good to have this link as a quick reference for lot of other interfaces.
Other references:
http://www.linuxtv.org/downloads/legacy/video4linux/v4l2dwgNew.html
Good sample to learn: v4l2 loopback-master
Check for
linux/videodev2.h
media/v4l2-ioctl.h
media/v4l2-common.h
http://www.kernel.org/doc/Documentation/video4linux/
Although link is not for current scope, but it is good to have this link as a quick reference for lot of other interfaces.
Other references:
http://www.linuxtv.org/downloads/legacy/video4linux/v4l2dwgNew.html
Good sample to learn: v4l2 loopback-master
Check for
linux/videodev2.h
media/v4l2-ioctl.h
media/v4l2-common.h
http://www.kernel.org/doc/Documentation/video4linux/