[Gta04-owner] Camera scaling down to VGA
Dr. H. Nikolaus Schaller
hns at goldelico.com
Sat Jun 8 18:25:48 CEST 2013
Am 07.06.2013 um 20:57 schrieb Andreas Kemnade:
> here are some magic lines to get vga resolution (video downscaled to vga via OMAP3 ISP)
> media-ctl -r -l '"ov9655 2-0030":0->"OMAP3 ISP CCDC":0, "OMAP3 ISP CCDC":1->"OMAP3 ISP resizer":0, "OMAP3 ISP resizer":1->"OMAP3 ISP resizer output":0'
> export DEVICE=$(media-ctl -e "OMAP3 ISP CCDC output")
> media-ctl -V '"ov9655 2-0030":0 [UYVY2X8 1280x1024]'
> media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY2X8 1280x1024]'
> media-ctl -V '"OMAP3 ISP resizer":1 [UYVY 640x480]'
> mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=$(media-ctl -e "OMAP3 ISP resizer output"):outfmt=uyvy:width=640:height=480:fps=30 -vo x11
> maybe that is helpful for someone...
I have also added that to the ./camera-demo script  of the unstable Wheezy system .
It works - almost. Only the vertical sync does not sync...
But as far as I can see the image quality is good and VGA is much faster than SXGA.
Usually (smart)phone camera apps do a preview in VGA or even QVGA and switch the camera modes to take the single final picture in best resolution.
So a camera app must implement to temporarily switch from preview mode to capture in different resolution. And as fast as possible.
If this needs to close and repoen the camera pipeline (incl. power), I think we also need some driver support since the camera needs some frames to stabilise AGC transients after power-up. So the driver should try to store and reinitialize the last AGC settings between camera power cycles.
But if we are lucky we may be able to simply tap the pipeline at two points. One after the resizer for a preview (as above) and even while it is running simply do a single frame capture from the $(media-ctl -e "OMAP3 ISP CCDC output") device.
I.e. more ideas than time to implement and test them :( But this is why a good community is an enrichment for everybody.
More information about the Gta04-owner