OSDN Git Service
Andy Hung [Fri, 23 May 2014 01:17:53 +0000 (18:17 -0700)]
Update sf_readf_float to handle 16 and 32 bit PCM
Change-Id: I0f74ca686f1a86e724057bc483924cea13577ef0
Igor Murashkin [Thu, 15 May 2014 00:30:49 +0000 (17:30 -0700)]
camera2: Move parameters around to android.hardware.camera2.params
* Also add the android.statistics.faces synthetic key;
- this removes the hardcoded key from CaptureResult.java
Bug:
14628001
Change-Id: Ie7a82bf9f4a0d8c18e0dc3a1581123c0d95da3f0
Igor Murashkin [Tue, 13 May 2014 21:51:49 +0000 (14:51 -0700)]
camera2: Add synthetic key support; add scaler.streamConfigurationMap
Also @hide/@deprecate keys that are now accessible only via
StreamConfigurationMap.
Bug:
14628001
Change-Id: I2db490a0849680a133a901403477a147b004fb28
Yin-Chia Yeh [Mon, 5 May 2014 21:26:03 +0000 (14:26 -0700)]
Camera2: update exposureCompensation spec
Change-Id: I19f8d1c5e712acecdefec027e7cebe11eed7673d
Zhijun He [Wed, 7 May 2014 21:31:46 +0000 (21:31 +0000)]
Merge "camera_metadata: Change some DNG tag visibility to system"
Glenn Kasten [Wed, 7 May 2014 18:20:55 +0000 (11:20 -0700)]
Add ability to read multi-channel .wav files
For the moment, only allow up to 8 channels, and channel count must
be even. These limits may be expanded later.
Change-Id: If1bb407ed39fbc3332c64a9078d7b58ec7922a8a
Zhijun He [Tue, 6 May 2014 23:18:04 +0000 (16:18 -0700)]
camera_metadata: Change some DNG tag visibility to system
Change-Id: I576084fbf0d8f628cb64518b4514e77cf52fb21c
Zhijun He [Sat, 3 May 2014 00:38:15 +0000 (17:38 -0700)]
camera_metadata: Add missing capture result tags
All capture request tags should be available in capture result.
Bug:
14059883
Change-Id: I0aa8d7341b14fbbd627b17eb316bb016ff1fc316
Zhijun He [Tue, 6 May 2014 00:03:08 +0000 (00:03 +0000)]
Merge "camera_metadata: make videostabilization type consistent"
Andy Hung [Mon, 5 May 2014 23:17:36 +0000 (23:17 +0000)]
Merge "Change Endian compiler warning to error"
Glenn Kasten [Mon, 5 May 2014 20:47:50 +0000 (13:47 -0700)]
Fix comments: 3-byte packed 24 bits are native endian
Change-Id: Ie65d0ee1df64d6d966bc1a6422032c0bfef1d4c8
Glenn Kasten [Fri, 2 May 2014 19:41:04 +0000 (12:41 -0700)]
Add memcpy_to_p24_from_q8_23 and clamp24_from_q8_23
Change-Id: Ibe712c7b1e0fa4efd9a3e8f9dee11080f6c68941
Zhijun He [Wed, 30 Apr 2014 02:23:08 +0000 (19:23 -0700)]
Camera2: update hyperfocalDistance spec
Change-Id: I1b425ab739f10d5e2ba9403baf918f3ee6150d71
Eric Laurent [Fri, 2 May 2014 16:20:08 +0000 (09:20 -0700)]
audio utils: fix resampler bug
input and output frame counts passed to speex resampler
where not initialized by resampler_resample_from_input().
Bug:
14240418.
Change-Id: Ieaaea5986667abd01400775f36d12d09a2670841
Glenn Kasten [Wed, 30 Apr 2014 23:49:34 +0000 (23:49 +0000)]
am
ab03736c: am
db7e74ec: am
e0b59251: Merge "Added parsing of hexadecimal values"
* commit '
ab03736c770d9d363a975cbacbc21f9864d460ee':
Added parsing of hexadecimal values
Glenn Kasten [Wed, 30 Apr 2014 23:47:44 +0000 (23:47 +0000)]
am
db7e74ec: am
e0b59251: Merge "Added parsing of hexadecimal values"
* commit '
db7e74ecf031e3ae070d754ffbcf1c81273f5238':
Added parsing of hexadecimal values
Glenn Kasten [Wed, 30 Apr 2014 23:44:23 +0000 (23:44 +0000)]
am
e0b59251: Merge "Added parsing of hexadecimal values"
* commit '
e0b59251376ccaaba5f7f44100d33ad9469d41ed':
Added parsing of hexadecimal values
Glenn Kasten [Wed, 30 Apr 2014 23:40:30 +0000 (23:40 +0000)]
Merge "Added parsing of hexadecimal values"
Bill Yi [Wed, 30 Apr 2014 12:50:48 +0000 (12:50 +0000)]
Bill Yi [Wed, 30 Apr 2014 01:00:08 +0000 (01:00 +0000)]
Zhijun He [Tue, 29 Apr 2014 22:24:16 +0000 (15:24 -0700)]
camera_metadata: make videostabilization type consistent
Make it consistent with availableVideoStabilizationModes and its optical
stabilization relatives.
Change-Id: I6e3834af8a62d4f84fca2d305ac9574052b69db0
Zhijun He [Tue, 29 Apr 2014 19:34:48 +0000 (19:34 +0000)]
Merge "camera_metadata: Mark availableFormats as deprecated"
Zhijun He [Thu, 24 Apr 2014 18:17:25 +0000 (11:17 -0700)]
camera_metadata: Mark availableFormats as deprecated
Change-Id: I1cd2a39ee6a4d3ec391fa827accaa8ad1b3dfc6e
Bill Yi [Tue, 29 Apr 2014 18:35:33 +0000 (11:35 -0700)]
Haynes Mathew George [Wed, 5 Feb 2014 04:49:25 +0000 (20:49 -0800)]
audio_route: Add APIs to update mixer based on path
audio_route_apply_and_update_path
audio_route_reset_and_update_path
These routines allows updating the mixer controls for just the specified path.
The controls will be updated in the order listed in the path.
Change-Id: If193bc047ccbb8c6497926d6181c5c4541a9d6aa
Eric Laurent [Mon, 21 Apr 2014 16:53:14 +0000 (16:53 +0000)]
Merge "Non API functions should be static."
Eric Laurent [Mon, 21 Apr 2014 16:41:20 +0000 (09:41 -0700)]
Non API functions should be static.
Change-Id: I89586e413ceb24c17a18e7dcf1241aefb274d573
Zhijun He [Thu, 17 Apr 2014 20:28:12 +0000 (20:28 +0000)]
Merge "camera_metadata: fix int64 enums being mismapped to Integer in API"
Mark Salyzyn [Thu, 17 Apr 2014 19:36:42 +0000 (19:36 +0000)]
am
2c3197e3: am
3853fae2: Merge "media: echo_reference 64 bit compile issues"
* commit '
2c3197e35e2e6fbf281bde19dc978c94f711324e':
media: echo_reference 64 bit compile issues
Zhijun He [Thu, 17 Apr 2014 18:33:33 +0000 (11:33 -0700)]
camera_metadata: fix int64 enums being mismapped to Integer in API
metadata generation logic wrongly maps all tags that are both int64 and enum
to Integer type in managed code. This created mismatch between native and
managed sides and caused exception when application get the metadata key.
Change-Id: I53a213078d3587522970ca8af46ac28d43eef425
Mark Salyzyn [Thu, 17 Apr 2014 17:08:00 +0000 (17:08 +0000)]
am
3853fae2: Merge "media: echo_reference 64 bit compile issues"
* commit '
3853fae2704e3ad79d1441364286d0c0b24b5721':
media: echo_reference 64 bit compile issues
Ruben Brunk [Wed, 16 Apr 2014 23:35:54 +0000 (23:35 +0000)]
Merge "Update DNG HAL tags."
Mark Salyzyn [Wed, 16 Apr 2014 23:16:36 +0000 (23:16 +0000)]
Merge "media: echo_reference 64 bit compile issues"
Mark Salyzyn [Wed, 16 Apr 2014 23:04:02 +0000 (16:04 -0700)]
media: echo_reference 64 bit compile issues
Change-Id: Ib84f3e6ded55a3553f9ea33d1257bfd12eb57d8c
Ruben Brunk [Wed, 16 Apr 2014 00:43:56 +0000 (17:43 -0700)]
Update DNG HAL tags.
Change-Id: I17c8d4f2f211c2993117f29fa9001c9731c7dff6
Ruben Brunk [Tue, 15 Apr 2014 21:37:39 +0000 (21:37 +0000)]
Merge "Update precision in dump."
Ruben Brunk [Tue, 15 Apr 2014 17:55:57 +0000 (10:55 -0700)]
Update precision in dump.
Change-Id: I7508a9abad59e995163bf7fe8b4878a78711278c
Andy Hung [Thu, 10 Apr 2014 19:27:31 +0000 (19:27 +0000)]
Merge "Update tinysndfile to write multichannel WAV"
Andy Hung [Thu, 10 Apr 2014 01:52:06 +0000 (18:52 -0700)]
Update tinysndfile to write multichannel WAV
Change-Id: Ibe73ff5e787bde8f7c5e4c326e849978410ff58f
Signed-off-by: Andy Hung <hunga@google.com>
Zhijun He [Wed, 9 Apr 2014 17:55:50 +0000 (10:55 -0700)]
camera_metadata: Add MANUAL capture intent
Change-Id: I6a3ba818cc7d13e0fcf0d90a16c53884b6cc20ab
Zhijun He [Wed, 9 Apr 2014 00:22:07 +0000 (17:22 -0700)]
camera_metadata: Make colorFilterArrangement public
Also fix a typo in spec.
Change-Id: I8427df6b28149c0f8ced27b110efe96dd38357f4
Andy Hung [Mon, 7 Apr 2014 21:08:22 +0000 (21:08 +0000)]
Merge "Add q4_27 conversion from float with tests"
Andy Hung [Fri, 4 Apr 2014 20:05:43 +0000 (13:05 -0700)]
Add q4_27 conversion from float with tests
Change-Id: If7cb0b1e1fbd34202a4be69e91cb2c8743ab0ad6
Signed-off-by: Andy Hung <hunga@google.com>
Glenn Kasten [Thu, 3 Apr 2014 19:31:41 +0000 (12:31 -0700)]
Add typedefs and macros for simple and packed minifloat
Also fix bug in gain_from_float; it was not properly handling +Inf.
Change-Id: Icaa3700f3d2df5ac744db6f3a1d74142641d2d13
Andy Hung [Wed, 2 Apr 2014 18:23:56 +0000 (11:23 -0700)]
Change references of Q19.12 to Q4.27 for clarity
Change-Id: Ic8585026942ff509971193d780c2378f3df4cb0c
Signed-off-by: Andy Hung <hunga@google.com>
Glenn Kasten [Tue, 1 Apr 2014 23:52:43 +0000 (16:52 -0700)]
Rename attenuation to gain, and update comments
Change-Id: Ic59ba490cfe6e21e050e1489a913cd6ae0826255
Glenn Kasten [Mon, 31 Mar 2014 22:58:40 +0000 (15:58 -0700)]
Represent attenuation using 16-bit minifloat
Change-Id: I3768318f9170b24dc209aaa4c9a78a5e22d98630
Zhijun He [Fri, 28 Mar 2014 06:54:16 +0000 (23:54 -0700)]
camera-metadata: Fix availableTestPatternModes type
Also fixed the typo in android.control.mode related
with scene mode.
Change-Id: I5e311bac4694e1ccfc8d3210fbf8b40e1b31ecef
Andy Hung [Wed, 26 Mar 2014 22:54:22 +0000 (15:54 -0700)]
Change Endian compiler warning to error
Exactly one of HAVE_LITTLE_ENDIAN or HAVE_BIG_ENDIAN
must be defined otherwise native audio buffer ordering
cannot determined.
This changes the compiler warning to an error.
Change-Id: Ib8391f09c29cbd9ccf19c446d14b776d513d104e
Signed-off-by: Andy Hung <hunga@google.com>
Glenn Kasten [Wed, 26 Mar 2014 22:22:39 +0000 (22:22 +0000)]
am
8818dd66: am
77828c90: Merge "Fixes for LP64"
* commit '
8818dd669b2cf03f7a66288e9d743de4722c9d81':
Fixes for LP64
Glenn Kasten [Wed, 26 Mar 2014 21:23:24 +0000 (21:23 +0000)]
am
77828c90: Merge "Fixes for LP64"
* commit '
77828c90b42043e375230afec9876c7b5bfe1f84':
Fixes for LP64
Glenn Kasten [Wed, 26 Mar 2014 21:10:58 +0000 (21:10 +0000)]
Merge "Fixes for LP64"
Kévin PETIT [Wed, 26 Mar 2014 11:56:32 +0000 (11:56 +0000)]
Fixes for LP64
Change-Id: I30a4eee58385f868795c7fae24a0dd189acf8592
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Eino-Ville Talvala [Tue, 25 Mar 2014 22:20:16 +0000 (15:20 -0700)]
Camera: Update HAL version in HTML documentation to 3.2
Change-Id: Iae64e83d7c06121aa0163589562c223335ad8f8c
Zhijun He [Tue, 25 Mar 2014 20:54:31 +0000 (20:54 +0000)]
Merge "camera_metadata: Add partial flash state"
Zhijun He [Tue, 25 Mar 2014 18:33:29 +0000 (11:33 -0700)]
camera_metadata: Add partial flash state
Bug
13637334
Change-Id: Ife5d943851f3f47d33b05d7450765dd273eb1036
Colin Cross [Tue, 25 Mar 2014 00:20:38 +0000 (00:20 +0000)]
am
a275d476: am
fecd69c0: Merge "Revert "Update 64-bit blacklist for libaudioroute""
* commit '
a275d476dd92715898b156daa414d06b4bafca97':
Revert "Update 64-bit blacklist for libaudioroute"
Ruben Brunk [Tue, 25 Mar 2014 00:12:12 +0000 (00:12 +0000)]
Merge "camera3: Update whiteLevel/greenSplit docs."
Colin Cross [Tue, 25 Mar 2014 00:10:35 +0000 (00:10 +0000)]
am
fecd69c0: Merge "Revert "Update 64-bit blacklist for libaudioroute""
* commit '
fecd69c05469aaef9f71bd40c2bcfc0532abbc6c':
Revert "Update 64-bit blacklist for libaudioroute"
Colin Cross [Tue, 25 Mar 2014 00:10:14 +0000 (00:10 +0000)]
am
fecd69c0: Merge "Revert "Update 64-bit blacklist for libaudioroute""
* commit '
fecd69c05469aaef9f71bd40c2bcfc0532abbc6c':
Revert "Update 64-bit blacklist for libaudioroute"
Ruben Brunk [Tue, 18 Mar 2014 21:37:04 +0000 (14:37 -0700)]
camera3: Update whiteLevel/greenSplit docs.
Bug:
13191430
Change-Id: I61cab65da546bdf1a748f46c28b6fce218b27bc4
Colin Cross [Tue, 25 Mar 2014 00:01:22 +0000 (00:01 +0000)]
Merge "Revert "Update 64-bit blacklist for libaudioroute""
Colin Cross [Sat, 22 Mar 2014 05:33:52 +0000 (22:33 -0700)]
Revert "Update 64-bit blacklist for libaudioroute"
This reverts commit
b7bd550f054eb141d1e0b57effe614a0f6defd6a.
libaudioroute builds fine for 64-bit
Andy Hung [Wed, 19 Mar 2014 20:39:30 +0000 (20:39 +0000)]
Merge "Add PCM_32_BIT and PCM_8_24_BIT to format conversion"
Andy Hung [Wed, 19 Mar 2014 18:07:02 +0000 (18:07 +0000)]
Merge "Rename to clamp16_from_float for naming consistency"
Zhijun He [Wed, 19 Mar 2014 02:11:57 +0000 (02:11 +0000)]
Merge "camera_metadata: Update exposureTimeRange related specs"
Andy Hung [Tue, 18 Mar 2014 20:13:45 +0000 (13:13 -0700)]
Add PCM_32_BIT and PCM_8_24_BIT to format conversion
Change-Id: I533f0be84410117d1c31229bb80b8cabda430f99
Signed-off-by: Andy Hung <hunga@google.com>
Zhijun He [Tue, 18 Mar 2014 20:37:23 +0000 (13:37 -0700)]
camera_metadata: Update exposureTimeRange related specs
Bug:
13250951
Change-Id: I8a77feb1b9877c75fd5a41a324fe17605ed338e0
Andy Hung [Tue, 18 Mar 2014 19:00:55 +0000 (12:00 -0700)]
Rename to clamp16_from_float for naming consistency
clamp16FromFloat changes to clamp16_from_float.
Change-Id: I01921b1cdc0ba890d347fb57cbe9585c4996ffeb
Signed-off-by: Andy Hung <hunga@google.com>
Ruben Brunk [Tue, 4 Mar 2014 23:01:25 +0000 (15:01 -0800)]
hal3: Add missing available mode tags.
Change-Id: I588aacade5c5638967970e2e7eb04924c0ea9cc7
Ruben Brunk [Sat, 15 Mar 2014 00:14:46 +0000 (00:14 +0000)]
Merge "hal3: Add availableHotPixelModes, update modes."
Ruben Brunk [Tue, 4 Mar 2014 22:09:44 +0000 (14:09 -0800)]
hal3: Add availableHotPixelModes, update modes.
Bug:
12957573
Change-Id: I2fd6ef60bf98c53288c2bc343d82a06602474916
Andy Hung [Fri, 14 Mar 2014 19:58:01 +0000 (19:58 +0000)]
Merge "Add primitives_tests to audio_utils"
Glenn Kasten [Fri, 14 Mar 2014 18:38:40 +0000 (18:38 +0000)]
am
73457221: am
81e7e452: Merge "Update 64-bit blacklist for libaudioroute"
* commit '
734572219819cb10f957d1c98bc819316fc168aa':
Update 64-bit blacklist for libaudioroute
Glenn Kasten [Fri, 14 Mar 2014 18:33:54 +0000 (18:33 +0000)]
am
81e7e452: Merge "Update 64-bit blacklist for libaudioroute"
* commit '
81e7e45299eb0f0528a4ead333f97b9dd2ef9e35':
Update 64-bit blacklist for libaudioroute
Glenn Kasten [Fri, 14 Mar 2014 18:33:51 +0000 (18:33 +0000)]
am
81e7e452: Merge "Update 64-bit blacklist for libaudioroute"
* commit '
81e7e45299eb0f0528a4ead333f97b9dd2ef9e35':
Update 64-bit blacklist for libaudioroute
Glenn Kasten [Fri, 14 Mar 2014 18:29:21 +0000 (18:29 +0000)]
Merge "Update 64-bit blacklist for libaudioroute"
Narayan Kamath [Fri, 14 Mar 2014 13:12:46 +0000 (13:12 +0000)]
Merge "resolved conflicts for merge of
8b91acde to master"
Narayan Kamath [Fri, 14 Mar 2014 10:56:35 +0000 (10:56 +0000)]
resolved conflicts for merge of
8b91acde to master
Change-Id: I6a0a02c008bcc38b8ff4b9a251c1e8e7b3d1c102
Mark Salyzyn [Fri, 14 Mar 2014 10:46:38 +0000 (10:46 +0000)]
am
ebb95847: am
b7f55262: Merge "libcamera_metadata: 64-bit compile issues"
* commit '
ebb958476492e5c382176a6ac048435f8954e995':
libcamera_metadata: 64-bit compile issues
Mark Salyzyn [Thu, 13 Mar 2014 23:19:02 +0000 (23:19 +0000)]
am
6d41d77a: Merge "libcamera_metadata: assert correct state on exit"
* commit '
6d41d77a36741776c26c6983de83f169a0c8ab9d':
libcamera_metadata: assert correct state on exit
Mark Salyzyn [Thu, 13 Mar 2014 23:18:58 +0000 (23:18 +0000)]
am
b7f55262: Merge "libcamera_metadata: 64-bit compile issues"
* commit '
b7f552621eb37f9f5135c7b9110fdddc1c96ab75':
libcamera_metadata: 64-bit compile issues
Mark Salyzyn [Thu, 13 Mar 2014 23:06:52 +0000 (23:06 +0000)]
am
6d41d77a: Merge "libcamera_metadata: assert correct state on exit"
* commit '
6d41d77a36741776c26c6983de83f169a0c8ab9d':
libcamera_metadata: assert correct state on exit
Mark Salyzyn [Thu, 13 Mar 2014 23:01:12 +0000 (23:01 +0000)]
Merge "libcamera_metadata: assert correct state on exit"
Andy Hung [Thu, 13 Mar 2014 22:09:35 +0000 (15:09 -0700)]
Add primitives_tests to audio_utils
Change-Id: Id6959d0f571aef5cb32004895fd7aabd9a5704b8
Signed-off-by: Andy Hung <hunga@google.com>
Alex Ray [Wed, 13 Nov 2013 02:09:31 +0000 (18:09 -0800)]
libcamera_metadata: assert correct state on exit
(cherry picked from commit
151389f386c45ff23ca5e2df4c3aaeb1fde3c496)
Change-Id: I2d9138f61665baa6695ac086184246334038236d
Mark Salyzyn [Thu, 13 Mar 2014 21:41:56 +0000 (21:41 +0000)]
am
b7f55262: Merge "libcamera_metadata: 64-bit compile issues"
* commit '
b7f552621eb37f9f5135c7b9110fdddc1c96ab75':
libcamera_metadata: 64-bit compile issues
Mark Salyzyn [Thu, 13 Mar 2014 21:36:04 +0000 (21:36 +0000)]
Merge "libcamera_metadata: 64-bit compile issues"
Mark Salyzyn [Thu, 13 Mar 2014 20:24:19 +0000 (13:24 -0700)]
libcamera_metadata: 64-bit compile issues
- logger messages use %zu for size_t
- print format for int32_t and int64_t types.
Change-Id: I3117b074b473f591fd69426a9cd53e8d5d1de52b
Ruben Brunk [Thu, 13 Mar 2014 20:18:20 +0000 (20:18 +0000)]
Merge "camera3: Pass vendor tags through binder."
Ruben Brunk [Sat, 15 Feb 2014 00:40:56 +0000 (16:40 -0800)]
camera3: Pass vendor tags through binder.
Bug:
12134423
Change-Id: Icef3fe9e67160767bdb8244ac49c85b68b497123
Andy Hung [Wed, 12 Mar 2014 18:46:15 +0000 (11:46 -0700)]
Add support for Q8.23 data in audio primitives
Change-Id: I420f1564c0f2c46c81e4596b9d76506e1ebc4a14
Signed-off-by: Andy Hung <hunga@google.com>
Andy Hung [Wed, 12 Mar 2014 21:44:12 +0000 (14:44 -0700)]
Add i32 Q0.31 support to audio primitives
Change-Id: I118b5eacc9e348cbab8fc51bdf1d498fcbe25241
Signed-off-by: Andy Hung <hunga@google.com>
Glenn Kasten [Tue, 11 Mar 2014 16:03:35 +0000 (09:03 -0700)]
Add ability to read floats using libsndfile
Change-Id: Ia38bac52a68819da73e351e70986de9e29663ed0
Glenn Kasten [Sat, 1 Mar 2014 01:24:39 +0000 (17:24 -0800)]
Update 64-bit blacklist for libaudioroute
libaudioroute depends on tinyalsa, which are both 32-bit only since it
is used by mediaserver
Change-Id: If85741bdea73c4272ee751800a0a7f44e6f8efee
Andy Hung [Sat, 8 Mar 2014 00:27:35 +0000 (00:27 +0000)]
Merge "Add memcpy based on audio_format to audio_utils"
Andy Hung [Fri, 7 Mar 2014 21:25:36 +0000 (21:25 +0000)]
Merge "Add additional audio format conversion for packed 24 bit"
Eric Laurent [Fri, 7 Mar 2014 18:30:29 +0000 (18:30 +0000)]
am
30bf0cc1: audio_route: fix crash with unsupported control types
* commit '
30bf0cc133ecab46b7999ac791ebe95d0c51d746':
audio_route: fix crash with unsupported control types
Johan Gustavsson [Fri, 8 Nov 2013 09:54:12 +0000 (10:54 +0100)]
Added parsing of hexadecimal values
Parsing of hexadecimal values enables expressing e.g. IIR filter
values in hexadecimal format.
Change-Id: Iaa2913777f96176cc4ffa62d9f44cf2e4a5b5c5b
Eric Laurent [Fri, 7 Mar 2014 03:02:43 +0000 (03:02 +0000)]
am
018c9453: am
7403742d: am
30bf0cc1: audio_route: fix crash with unsupported control types
* commit '
018c9453eb24a9fcd99f90f6f2aa309849ef4ce2':
audio_route: fix crash with unsupported control types