aboutsummaryrefslogtreecommitdiffstats
path: root/android/camera/camera-capture-mac.m
diff options
context:
space:
mode:
authorVladimir Chtchetkine <vchtchetkine@google.com>2011-11-23 13:03:37 -0800
committerVladimir Chtchetkine <vchtchetkine@google.com>2011-12-05 09:17:35 -0800
commit37fb84f8b26e3061c1ccb404bf4c962eed5e6057 (patch)
treeb60e5b1f69a291c9396c665ee6556a059f481fc4 /android/camera/camera-capture-mac.m
parent4e61742d4f26cefb1baf8d2dc5e7dc8b85a78549 (diff)
downloadexternal_qemu-37fb84f8b26e3061c1ccb404bf4c962eed5e6057.zip
external_qemu-37fb84f8b26e3061c1ccb404bf4c962eed5e6057.tar.gz
external_qemu-37fb84f8b26e3061c1ccb404bf4c962eed5e6057.tar.bz2
Implements white balance and exposure compensation for emulated webcam
Change-Id: Id2dbb227280f0c0e1b5708ef78b9f19b087f92d5
Diffstat (limited to 'android/camera/camera-capture-mac.m')
-rw-r--r--android/camera/camera-capture-mac.m15
1 files changed, 10 insertions, 5 deletions
diff --git a/android/camera/camera-capture-mac.m b/android/camera/camera-capture-mac.m
index 4d684e0..ca1b3a8 100644
--- a/android/camera/camera-capture-mac.m
+++ b/android/camera/camera-capture-mac.m
@@ -120,7 +120,7 @@ _QTtoFOURCC(uint32_t qt_pix_format)
* in the device. The client should respond to this value by repeating the
* read, rather than reporting an error.
*/
-- (int)read_frame:(ClientFrameBuffer*)framebuffers:(int)fbs_num;
+- (int)read_frame:(ClientFrameBuffer*)framebuffers:(int)fbs_num:(float)r_scale:(float)g_scale:(float)b_scale:(float)exp_comp;
@end
@@ -260,7 +260,7 @@ _QTtoFOURCC(uint32_t qt_pix_format)
}
}
-- (int)read_frame:(ClientFrameBuffer*)framebuffers:(int)fbs_num
+- (int)read_frame:(ClientFrameBuffer*)framebuffers:(int)fbs_num:(float)r_scale:(float)g_scale:(float)b_scale:(float)exp_comp
{
int res = -1;
@@ -284,7 +284,8 @@ _QTtoFOURCC(uint32_t qt_pix_format)
/* Convert framebuffer. */
res = convert_frame(pixels, pixel_format, frame_size,
frame_width, frame_height,
- framebuffers, fbs_num);
+ framebuffers, fbs_num,
+ r_scale, g_scale, b_scale, exp_comp);
} else {
E("%s: Unable to obtain framebuffer", __FUNCTION__);
res = -1;
@@ -452,7 +453,11 @@ camera_device_stop_capturing(CameraDevice* cd)
int
camera_device_read_frame(CameraDevice* cd,
ClientFrameBuffer* framebuffers,
- int fbs_num)
+ int fbs_num,
+ float r_scale,
+ float g_scale,
+ float b_scale,
+ float exp_comp)
{
MacCameraDevice* mcd;
@@ -467,7 +472,7 @@ camera_device_read_frame(CameraDevice* cd,
return -1;
}
- return [mcd->device read_frame:framebuffers:fbs_num];
+ return [mcd->device read_frame:framebuffers:fbs_num:r_scale:g_scale:b_scale:exp_comp];
}
void