aboutsummaryrefslogtreecommitdiffstats
path: root/android/camera/camera-service.c
Commit message (Collapse)AuthorAgeFilesLines
* Refactor HW config to use hw.camera_back, and hw.camera_front properties.Vladimir Chtchetkine2012-03-191-85/+54
| | | | | | | | | | This is a continuation of an effort to simplify HW config, and make the UI for it clearer. This CL gets rid of multiple camera emulation properties, combining everything into just two properties: - hw.camera_back that controls emulation of a camera facing back, and - hw.camera_front that controls emulation of a camera facing front. Change-Id: Ia114ae4caf2053685cbff00f39088e5b5be2952c
* 64-bit emulatorAndrew Hsieh2012-03-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch to allow emulator searches for emulator64-${ARCH} first on 64-bit OS. If none is found, the original behavior which searchs for 32-bit emulator-${ARCH} is performed as usual. 64-bit emulator (which still emulates Android built in 32-bit) offers up to 20% speedup compared to its 32-bit counterpart. Details: android/main-emulator.c 1) search emulator64 based on the OS 2) dlopen lib64OpenglRender in 64-bit Makefile.* 1) Rules to build 64-bit executable emulator64-{x86,arm} and libraries emulator64-{libui,libqemu,target-i386,target-arm,libelff,common} 2) remove -Wa,-32 3) Changes prebuit toolchain path android-configure.h android/build/common.h 1) no longer force 32-bit build (because now prebuilts/tools/gcc-sdk/gcc can now handle 64-bit 2) set ANDROID_PREBUILTS to correctly locate ccache android/config/*/config-host.h 1) Detect HOST_X86_64 and HOST_X86_64/HOST_I386 Misc 64-bit porting clean-up 1) use %zx to print variable of type size_t in hex 2) use %zu to print variable of type size_t in dec 3) Initialize query_parm to NULL 4) use PRIu64 to replace PDUd64 5) use PRId64/PRIu64/PRIX64 to print 64-bit 6) drop PRUx64 because PRIx64 does the same 7) cast pointer arith to intptr_t before casting to int 8) fixed 1ULL<<63 Change-Id: Ife62a20063a6ec38d4a9b23977e840af1fce149a
* Refactor camera parameters parsing routinesVladimir Chtchetkine2012-01-231-170/+10
| | | | | | | | | | Move routines that pulls values out of the parameter string from camera-service.c to misc.c Those are general purpose routines that are also used in multitouch emulation, so it's better to keep it an an general utility file. Change-Id: I02978075b64b42ff07f5042cda770bbef8939e24
* Respect 'camera' flag in AVDVladimir Chtchetkine2012-01-061-0/+6
| | | | | | | | Turns of webcam emulation on condition that 'camera' AVD property is set to 'false'. Note that command line options (-webcam) will enable webcam emulation even if 'camera' AVD property is set to 'false' Change-Id: I493446f1d12b732ed49f9a5a9967b87b31b180f6
* Implements white balance and exposure compensation for emulated webcamVladimir Chtchetkine2011-12-051-6/+31
| | | | Change-Id: Id2dbb227280f0c0e1b5708ef78b9f19b087f92d5
* Fix emulator crash caused by bad 'printf'Vladimir Chtchetkine2011-10-201-1/+1
| | | | Change-Id: I7c4830ba7606bedcf462e967adad3358723c44ba
* Fix windows buildVladimir Chtchetkine2011-09-231-1/+1
| | | | Change-Id: I7387eea3639d63b278b702100ee2d4584f87f4e2
* Check that first two cameras are facing in opposite direction.Vladimir Chtchetkine2011-09-231-12/+29
| | | | | | | Currently camera app will crash on an attempt to switch cameras if camera 0 and 1 are facing in the same direction. So, user should be warned about that on emulator start. Change-Id: Ic85da614d30295b04d2a318fb1c2015cc52f1140
* Timeout frame capturing.Vladimir Chtchetkine2011-09-231-12/+29
| | | | | | | | | | | It has been observed on some of the MS camera devices, that device may got stuck on something that would alwais return EAGAIN when queried for the next video frame. This requires us to timeout the loop that repeats attempts to acquire first frame from the device. Also added detection and reporting of I/O errors occurred during frame capturing. Also, this CL contains some cosmetick changes to error and warning reporting. Change-Id: I81edaf5ff8bfe147dbe4510e1446e77a87817f37
* Fix NV12, and NV21 format descriptorsVladimir Chtchetkine2011-09-211-0/+1
| | | | | | Also adds support for YU12 pixel format that is used in video frames Change-Id: I613beef8b3e2296fd1fab7e2b9d2956fba1ac788
* Print warning on invalid webcam nameVladimir Chtchetkine2011-09-211-0/+4
| | | | Change-Id: I94939964890c4304a47ba86c582baf3a9544b5aa
* Add -webcam commandline option to control webcam emulationVladimir Chtchetkine2011-09-201-44/+168
| | | | | | -webcam name=<name>[,dir=<direction>] options controls web cameras to use for emulation. Change-Id: I961fd399c7e041541adda040dd24f194cc383cb9
* Add support for NV21, and NV12 formatsVladimir Chtchetkine2011-09-161-0/+2
| | | | Change-Id: I4bea0f3678b2ac21f3c6cf80581e997145e2a58d
* Implements camera service in emulatorVladimir Chtchetkine2011-09-121-117/+1098
| | | | | | | | | | | | This is fully functional camera service implementation, that works (tested) on both, Linux and Windows. Fixed little/big endian bugs in the coverter code. Moved preview frames to use RGB32 instead of RGB565: RGB32 conversions are simpler and faster in the guest. Made "payload size send" a separate routine Change-Id: I96954f4c2cb4e4ef4dd6a20e41897d79c5037bae
* Camera service skeletonVladimir Chtchetkine2011-09-071-0/+322
Skeleton that implements camera emulation service over QEMU pipe. More meat will be added as the guest camera emulation develops. This is a patch taken from approved AOSP commit that didn't go through because of a merge conflict. Change-Id: I6f0a2e42be4f5f0bd86d3dbf0c2a609e74b200c2