| Linux Symposium (Ottawa, Canada) 참가 요청의 글 (0) | 2010/01/30 |
|---|---|
| Looking forward to attend the Linux plumbers conference! (0) | 2009/08/06 |
| Using your own build script in your VIM (VI iMproved) (0) | 2009/07/31 |
| Where the machine id is defined in Linux kernel? (0) | 2009/07/09 |
| What has been changed in v4l2 subdev per kernel version? (0) | 2009/07/04 |
| Palm pre vs iPhone 3G vs iPhone 3GS (0) | 2009/06/27 |
Tag : Linux Plumbers conference, S5PC1XX, v4l2
You folks reading this article may be v4l2 developers or somebody interested in Linux kernel subsystems.
Here I’m gonna explain some changes made in v4l2 especially about v4l2 subdev, and even more specifically in camera device driver engineer’s point of view.
We have several essential changes and significantly important new operations has been added.
int (*s_config)(struct v4l2_subdev *sd, int irq, void *platform_data);
- What for? : Some subdev devices need platform data to get initialized themselves.
- In case of camera devices, this kind of operation is highly mandatory.
int (*load_fw)(struct v4l2_subdev *sd);
- What for? : To load device firmware and get initialized.
- Some of camera devices need to load their own firmware to be initialized or some firmware upgrade can be using this operation for special purpose.int (*g_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls);
int (*s_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls);
int (*try_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls);
- What for? : To make issued atomically with some control operation at once.
- Not used for camera devices actually (except for omap3 camera interface)
int (*s_crystal_freq)(struct v4l2_subdev *sd, struct v4l2_crystal_freq *freq);
=> int (*s_crystal_freq)(struct v4l2_subdev *sd, u32 freq, u32 flags);
- v4l2_crystal_freq has been deprecated (trivial change)
int (*querystd)(struct v4l2_subdev *sd, v4l2_std_id *std);
- What for? : to query supported video standards
- Not used for camera actually
int (*g_input_status)(struct v4l2_subdev *sd, u32 *status);
- What for? : to get status of subdev used as image input device (enum input is using this)
- Might be useful for camera interface drivers to get external camera module’s statusint (*enum_fmt)(struct v4l2_subdev *sd, struct v4l2_fmtdesc *fmtdesc);
int (*try_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt);
int (*g_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param);
int (*s_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param);
int (*enum_framesizes)(struct v4l2_subdev *sd, struct v4l2_frmsizeenum *fsize);
int (*enum_frameintervals)(struct v4l2_subdev *sd, struct v4l2_frmivalenum *fival);
- For very general purpose. you can figure it out what are those for.
As you know, the leading community of V4L2 is linuxtv.
int (*cropcap)(struct v4l2_subdev *sd, struct v4l2_cropcap *cc);
int (*g_crop)(struct v4l2_subdev *sd, struct v4l2_crop *crop);
int (*s_crop)(struct v4l2_subdev *sd, struct v4l2_crop *crop);
- For crop supporting subdev those might be necessary
- Some of camera devices are supporting crop operation
I tried diff with 2.6.29 and 2.6.30 of Linux kernel and also linuxtv v4l-dvb repository and took a brief look at to the difference been made. If anything wrong with this article, please let me know.
Cheers,
Nate
| Using your own build script in your VIM (VI iMproved) (0) | 2009/07/31 |
|---|---|
| Where the machine id is defined in Linux kernel? (0) | 2009/07/09 |
| What has been changed in v4l2 subdev per kernel version? (0) | 2009/07/04 |
| Palm pre vs iPhone 3G vs iPhone 3GS (0) | 2009/06/27 |
| AMOLED has RGB color filter!? (0) | 2009/06/27 |
| Configuring your own vim (0) | 2009/06/09 |
Tag : v4l2, v4l2 and camera, v4l2 changes, v4l2 subdev
When we are at work where we cannot make network communication with out world,
we need to work around with blocked network port.
Since I was working on video4linux, I need to communicate with other people who is working on the same topic.
Here it is list of contact
: http://linuxtv.org/lists.php#dvb
and if I need to use IRC, then I should prefer to use web IRC than IRC client.
One of web IRC I’ve found is http://www.mibbit.com/ AKA IRC widget.
In case of mine, #v4l channel is the one I need to join.
So, I can simply connet directly with following URL
http://embed.mibbit.com/?server=irc.freenode.org&channel=%23v4l
I can join #v4l channel in one stop.
Cheers
| Color temperature in kelvin for White Balance (0) | 2009/03/18 |
|---|---|
| Not to miss email sent to me on mailing list (0) | 2009/03/08 |
| Using Web based IRC in firewalled site (0) | 2009/03/03 |
| Working with ARM toolchain on OSX(intel) (0) | 2009/03/01 |
| omap3430 camera subsystem FPS check feature design (0) | 2009/02/25 |
| Vim with git plugin (git-vim) (0) | 2009/02/24 |
| Vim with git plugin (git-vim) (0) | 2009/02/24 |
|---|---|
| git pull & patch 간략 정리 (0) | 2009/02/18 |
| Hello San Francisco. (0) | 2009/02/13 |
| vi 와 Linux programmer’s manual 연동 (0) | 2009/02/12 |
| cscope with linux kernel source code (0) | 2009/02/10 |
| Firefox url bar problem on Ubuntu 8.04 (0) | 2009/02/02 |
Tag : Camera, ELC2009, Linux, v4l2
1. V4L2 community : linuxtv
2. V4L2 repository
GIT 이 아닌 mercurial 을 사용
3. Mailing list
- http://vger.kernel.org/vger-lists.html#linux-media : 2009년 1월 2일부로 kernel.org 로 통합
- http://www.redhat.com/mailman/listinfo/video4linux-list : old mailing list
4. New API changes work
The way new API changes work is:
1. You should do a proposal at linux-media ML. People will review it and comment.
2. You should also propose the changes for the V4L2 API documentation.
After all guys being happy with your proposal, the API changes will be merged
at the development tree (and later at upstream kernel) together with your driver.
5. Documents
- Official V4L2 API doc : http://www.linuxtv.org/downloads/video4linux/API/V4L2_API/
- Latest V4L2 API docs : http://linuxtv.org/hg/~hverkuil/v4l-dvb-spec/file/ffe42a65649f/v4l2-spec/ : Make 가필요
- For driver developer : http://www.linuxtv.org/downloads/video4linux/v4l2dwgNew.html
- V4lL2 articles : http://lwn.net/Articles/203924/
| cscope with linux kernel source code (0) | 2009/02/10 |
|---|---|
| Firefox url bar problem on Ubuntu 8.04 (0) | 2009/02/02 |
| V4L2 개발 관련 정리. (0) | 2009/01/21 |
| Diff tools (0) | 2009/01/16 |
| Evolution can't open Inbox over 2GB size (0) | 2009/01/16 |
| Framework for digital camera in Linux (0) | 2009/01/13 |
Proposal for presentation on CELF
Hello.
My name is Dongsoo Kim. and may I propose for a presentation about “Framework for digital camera in Linux” ?
In these days we practically use devices with camera in general which is based on SoC camera subsystem.
And those camera devices have been definitely improved in functional and performance level.
Let me take a specific case of mobile phone. Many of our mobile phones have camera on them and even dual for 3G handsets.
In case of Linux based smartphones, we have to control camera devices with video4linux APIs and thats what I want to talk about.
We’ve got several video4linux APIs in Linux kernel already but thats not enough. Because they are mostly for USB PC cameras as known as “webcam”.
But as I mentioned above, camera devices have been improved these days and they are running like a real digital camera. They have shutter device, iris, and some devices support object detection and wide dynamic range functionality.
But video4linux APIs in kernel mainline cannot cover all of them because those APIs are just considering cameras of “webcam” level.
So we are defining new video4linux APIs for digital cameras and wanna explain how it works.
Our presentation covers several SoC camera drivers in linux and legacy video4linux APIs and new video4linux APIs for digital camera.
And we also want to talk about camera porting issues.
Thank you.
I’m also attaching presentation contents below. You can refer to them.
Camera platform (except for USB camera) called SoC based camera subsystem
Aggressive development in mobile camera module devices
V4L2 and digital camera
Issues of porting in SoC camera subsystem
See you at San Francisco, CA on April 6th - 8th, 2009
| Diff tools (0) | 2009/01/16 |
|---|---|
| Evolution can't open Inbox over 2GB size (0) | 2009/01/16 |
| Framework for digital camera in Linux (0) | 2009/01/13 |
| Palm Pre with Web OS (0) | 2009/01/11 |
| MSM7K 계열의 리눅스 카메라 인터페이스 드라이버... (0) | 2008/12/28 |
| Android & Qualcomm camera interface (0) | 2008/12/27 |
| Palm Pre with Web OS (0) | 2009/01/11 |
|---|---|
| MSM7K 계열의 리눅스 카메라 인터페이스 드라이버... (0) | 2008/12/28 |
| Android & Qualcomm camera interface (0) | 2008/12/27 |
| Some handy unux/linux tips (0) | 2008/10/18 |
| My photo works in wikipedia (3) | 2008/09/03 |
| Using NESPOT WiFi service with 801.1X WEP on OSX Leopard (0) | 2008/08/10 |
Tag : Android, Camera, Qualcomm, v4l2
| Open DNS (0) | 2007/11/18 |
|---|---|
| Get a MAC? or get a SUSE Linux (0) | 2007/11/17 |
| OMAP24xx 기반에서 V4L2 시리얼 인터페이스 듀얼카메라 구현 (0) | 2007/10/29 |
| V4L2 camera device register/unregister flow (0) | 2007/10/26 |
| 리눅스 커널 2.6에서 듀얼카메라 센서가 둘 다 등록 안되는 이유... (0) | 2007/10/24 |
| 잡스씨...왜 only in Leopard인가요 (0) | 2007/09/23 |
Tag : Dual camera, OMAP24xx, v4l2
| Get a MAC? or get a SUSE Linux (0) | 2007/11/17 |
|---|---|
| OMAP24xx 기반에서 V4L2 시리얼 인터페이스 듀얼카메라 구현 (0) | 2007/10/29 |
| V4L2 camera device register/unregister flow (0) | 2007/10/26 |
| 리눅스 커널 2.6에서 듀얼카메라 센서가 둘 다 등록 안되는 이유... (0) | 2007/10/24 |
| 잡스씨...왜 only in Leopard인가요 (0) | 2007/09/23 |
| 일에 대한 권태 (4) | 2007/09/06 |
Tag : Dual camera, OMAP2430, v4l2
Send me an instant message!