Commit Graph

1172 Commits

Author SHA1 Message Date
Igor Murashkin
bbbc646d85 EmulatedCamera2: Fix metadata symbols: DO NOT MERGE
Change-Id: I9ccec2636d73684af9236d873a6bba0e15cd598a
2013-01-30 16:32:56 -08:00
Igor Murashkin
28ecf8da88 Revert "Camera2: Selectively re-define master metadata symbols: DO NOT MERGE": DO NOT MERGE
This reverts commit 52f92faa60.
2013-01-30 16:31:51 -08:00
Igor Murashkin
68ade37943 Camera2: Fix segfault when control fields were omitted in metadata: DO NOT MERGE
Change-Id: I36c3dcaaecd9bca495c1476841a0ae338019e7eb
2013-01-10 11:58:14 -08:00
Igor Murashkin
95f1b7e72e Camera2: Test: fix deadlock in isStreamInUse: DO NOT MERGE
Change-Id: I7574913a5e2b5d1bcdfede11d99a212ef01a8697
2013-01-10 11:58:14 -08:00
Igor Murashkin
50a86be055 Camera2: Return -ENODEV for camera indices out of bounds: DO NOT MERGE
This allows CameraModuleTest.LoadModuleBadIndices and
CameraModuleTest.GetCameraInfoBadIndices to pass.

Change-Id: I8db9d918e7773ccb1eece860b461aa0192782a3b
2013-01-10 11:58:14 -08:00
Igor Murashkin
0bddddb04d Camera2: Turn off 3A when android.control.mode == OFF: DO NOT MERGE
Change-Id: I37e2c005607548c47e34e7e09994894a69f9e955
2013-01-10 11:58:14 -08:00
Igor Murashkin
74d45ce6f3 Camera2: Fix a potential race condition in the readout thread: DO NOT MERGE
Change-Id: I12d960debb499795487582655243e951b15947d5
2013-01-10 11:58:14 -08:00
Igor Murashkin
04ff9ec118 Camera2: Fix a deadlock when closing the camera: DO NOT MERGE
Change-Id: I15dcf719aae4ed0dd3a46150ecba54ed6a7f31f5
2013-01-10 11:58:14 -08:00
Igor Murashkin
52f92faa60 Camera2: Selectively re-define master metadata symbols: DO NOT MERGE
Change-Id: I0d8637362f407dc2e2809d5800c9667f3c15260b
2013-01-10 11:58:06 -08:00
Laurent Tu
91d9d51f5d Return accuracy in GPS emulation
Accuracy is now a required field for location. To comply, set an
accuracy in returned fix. The accuracy is constant for now since
computing it from the NMEA sentence seems to be very complicated.

Bug: 6864500

Change-Id: Iff4c36b440b095539c717d35a812ee2ed7c1725f
2012-10-11 20:43:53 -07:00
Eino-Ville Talvala
d6046a445f EmulatedFakeCamera2: Add shim to work around FORMAT_ZSL.
Emulator does not need FORMAT_ZSL, so treat it as
IMPLEMENTATION_DEFINED.

Bug: 6243944
Change-Id: I9eeb48f6197ff9979f7823b8dc912346158fd6f1
2012-09-13 16:33:26 -07:00
Eino-Ville Talvala
46a65b42aa EmulatedFakeCamera2: Split AE/AWB mode and lock
Bug: 6243944

Change-Id: Ib7d311a04c687358317164f7f711dc293ecc0519
2012-09-04 09:23:21 -07:00
Eino-Ville Talvala
4573a7194d EmulatedFakeCamera2: Add precapture trigger and reprocess support
- Manage the precapture protocol with trigger/AE notifications
- Support reprocessing from opaque format to JPEG
- Add a bit of exposure variation to scene

Bug: 6243944

Change-Id: Ic88f8f0ea641ddaf3e921849caf79dd3838665f8
2012-09-04 09:23:21 -07:00
Eino-Ville Talvala
a84522d2f3 Gralloc: Support HW_CAMERA_READ/HW_CAMERA_ZSL usage.
This is needed for passing buffers to the camera HAL for reprocessing.

Bug: 6243944

Change-Id: Ibf8d15aead571ddb3b62674cf7afe0d508ca24e7
2012-09-04 09:23:17 -07:00
Eino-Ville Talvala
33c3f77760 EmulatedFakeCamera2: Use HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED
Stop using CAMERA2_HAL_PIXEL_FORMAT_OPAQUE.

Bug: 6243944
Change-Id: I96ea30228b126b4eed560a760269cb50bbbb62f7
2012-08-28 14:39:59 -07:00
Eino-Ville Talvala
eb502a31bc EmulatedFakeCamera2: Support (0,0) jpeg thumbnail size.
Change-Id: I5aa01501c36076a6260d47d2ae4bdc0365b49a8c
2012-08-28 13:40:46 -07:00
Eino-Ville Talvala
61649d232c Emulator gralloc: Fix RAW_SENSOR conditions.
Allow RAW_SENSOR to be used for any combination of CPU read/write and
Camera read/write, instead of only camera->cpu or cpu->camera.

Change-Id: I032b9531e9069a202c1a3767b77975c808703285
2012-08-20 11:05:01 -07:00
Eino-Ville Talvala
cb5703d5ea EmulatedCamera2: Improve thread sequencing
- When the readout thread is the slow point, frames could be dropped
  in various ways. Add signals to slow down the configure thread and
  the sensor when the readout thread is behind.

- Clean up verbose logs to be clearer

Bug: 6243944

Change-Id: I2efb909f03183273a71dc7edede3aa107117f558
2012-08-20 11:05:01 -07:00
Eino-Ville Talvala
34a4d2d519 Emulator gralloc: Support YV12
Bug: 6243944
Change-Id: I5f416ab0ae15143df422c0f79d91841984b4fabe
2012-08-20 09:13:48 -07:00
Eino-Ville Talvala
ae031a1aea EmulatedFakeCamera2: Add face detection support.
Bug: 6243944c

Change-Id: Ice45571b44af2975cc699e4e8b95fb170a889117
2012-08-13 09:40:14 -07:00
Eino-Ville Talvala
f856a82b87 EmulatedFakeCamera2: Add autofocus management
- Add skeleton ControlThread for 3A processing
- Add fake autofocus management into ControlThread
- Support AUTO, MACRO, CONTINUOUS_PICTURE, CONTINUOUS_VIDEO

Bug: 6243944
Change-Id: Ic47f5be642d4705db86021b94aaba8dcc7f32cf0
2012-08-08 10:43:37 -07:00
Eino-Ville Talvala
05940c4d69 Camera2: Use lower resolutions for front fake camera. DO NOT MERGE
To differentiate front/back fake camera, support a lower set of
resolutions for the front camera processed and jpeg streams.

Bug: 6243944
Change-Id: I4a8746500944f7b445e0e5f0a3f441885733a7a4
2012-07-26 10:04:38 -07:00
Eino-Ville Talvala
1e903b0745 Camera2: Fix deadlock issues with getInProgressCount. DO NOT MERGE
Bug: 6243944
Change-Id: Icb32e4b8c4a916eb7c97ac18767cadfc5122ec88
2012-07-26 10:04:16 -07:00
Eino-Ville Talvala
b0bd05236f EmulatedFakeCamera2: Add recording support for 320x240, NV21. DO NOT MERGE
- Support 320x240 in addition to 640x480
- Support NV21 (monochrome only right now)
- Base simulated time on system time,
  since stagefright cares about timestamp base
- Use emulator magic gralloc format to enable gralloc to pick format based on
  destination.

Bug: 6243944
Change-Id: I3ea56bca726c69b51e03233ce86d4881401a3ffd
2012-07-26 10:03:35 -07:00
Eino-Ville Talvala
4d57cb8d65 gralloc: Add automatic format selection. DO NOT MERGE
Have gralloc_alloc be able to select the appropriate pixel format
given the endpoints, triggered by new
GRALLOC_EMULATOR_PIXEL_FORMAT_AUTO format.

Currently supports camera->screen, and camera->video encoder.

Bug: 6243944
Change-Id: Ib1bf8da8d9184ac99e7f50aad09212c146c32809
2012-07-26 10:03:05 -07:00
Eino-Ville Talvala
3461561ccf gralloc: Support HAL_PIXEL_FORMAT_YCrCb_420_SP (NV21)
This is needed for Camera HAL2 video recording.

Bug: 6243944
Change-Id: I47a3e65117881612fb95068a80f811cc8378fbc6
2012-07-11 17:21:18 -07:00
Jesse Hall
e705cdde0d Update to renamed ANativeWindow methods
A few ANativeWindow methods were updatd to take a Sync HAL file
descriptor, and the existing methods were renamed with a _DEPRECATED
suffix. Since the emulator graphics acceleration doesn't yet support
the sync HAL, this change continues calling the deprecated functions
via their new names.

Change-Id: I5b1760811fafb6723ede887e32e63f94cbaeffe5
2012-06-21 23:16:56 -07:00
Xavier Ducrohet
c5fd927f4a am 8f38da3d: am e8f7f5fe: Fix WXGA800-7in to be portrait by default.
* commit '8f38da3deff60c9d5cac0b355c2d95d967216828':
  Fix WXGA800-7in to be portrait by default.
2012-06-21 19:41:14 -07:00
Xavier Ducrohet
8f38da3def am e8f7f5fe: Fix WXGA800-7in to be portrait by default.
* commit 'e8f7f5fe9f08c2381908d13a63fc34b12d6f95c3':
  Fix WXGA800-7in to be portrait by default.
2012-06-21 19:39:13 -07:00
Xavier Ducrohet
e8f7f5fe9f Fix WXGA800-7in to be portrait by default.
Bug: 6712001

Change-Id: I047e023e726f83ff63f8fe00fb3f43698ad1db37
2012-06-21 19:33:26 -07:00
Eino-Ville Talvala
9f3517e96f EmulatedFakeCamera2: Use correct camera orientation.
Get orientation from the camera factory; otherwise preview is
displayed incorrectly.

Bug: 6243944
Change-Id: Icb27a53ad333109a62dce012216aca67e3e881b8
2012-06-15 13:15:55 -07:00
Eino-Ville Talvala
cc588adda3 EmulatedFakeCamera2: Implement basic dump()
Bug: 6243944
Change-Id: I84696ea79f8c36d34c2cccdac259c9baba048c1f
2012-06-14 10:52:04 -07:00
Eino-Ville Talvala
e26e64f2de EmulatedFakeCamera2: Add support for JPEG output, multiple streams
Required to support Camera.takePicture()

Bug: 6243944
Change-Id: I60d7a161a7037c25428eac5a6f9327aff47da584
2012-06-13 12:08:28 -07:00
Eino-Ville Talvala
2a2ada537a Emulator gralloc: Support HAL_PIXEL_FORMAT_BLOB
Bug: 6243944
Change-Id: I2864bc59be9df8741639a291c71e2f65dde5bc0b
2012-06-13 12:08:18 -07:00
Eino-Ville Talvala
423650c32c EmulatedFakeCamera2: Minor fixes
- Add some error checking
- Change default exposure/gain to avoid overexposure.
- Improve gain calculation for RGBA output

Bug: 6243944
Change-Id: Iaa9f35e0b62883a947cc9e63f86d0ec3ae828576
2012-06-08 09:52:38 -07:00
Xavier Ducrohet
547975cf50 am 98a05b89: am 21f4ca57: am 74ed92d3: Merge "Move emugl system code to development.git"
* commit '98a05b894e6f2981816a87ea0dbd6a3092d5c507':
  Move emugl system code to development.git
2012-06-07 12:21:17 -07:00
Xavier Ducrohet
98a05b894e am 21f4ca57: am 74ed92d3: Merge "Move emugl system code to development.git"
* commit '21f4ca579e58e9a2eaad841f5174eba44c926153':
  Move emugl system code to development.git
2012-06-07 12:19:21 -07:00
Jesse Hall
56513f5ff4 Move emugl system code to development.git
Because of the way the SDK and Android system images are branched,
host code that goes into the SDK tools can't live in the same
repository as code that goes into the system image. This change keeps
the emugl host code in sdk.git/emulator/opengl while moving the emugl
system code to development.git/tools/emulator/opengl.

A few changes were made beyond simply cloning the directories:

(a) Makefiles were modified to only build the relevant components. Not
    doing so would break the build due to having multiple rule
    definitions.

(b) Protocol spec files were moved from the guest encoder directories
    to the host decoder directories. The decoder must support older
    versions of the protocol, but not newer versions, so it makes
    sense to keep the latest version of the protocol spec with the
    decoder.

(c) Along with that, the encoder is now built from checked in
    generated encoder source rather than directly from the protocol
    spec.  The generated code must be updated manually. This makes it
    possible to freeze the system encoder version without freezing the
    host decoder version, and also makes it very obvious when a
    protocol changes is happening that will require special
    backwards-compatibility support in the decoder/renderer.

(d) Host-only and system-only code were removed from the repository
    where they aren't used.

(e) README and DESIGN documents were updated to reflect this split.

No actual source code was changed due to the above.

Change-Id: I2c936101ea0405b372750d36ba0f01e84d719c43
2012-06-06 09:46:29 -07:00
Eino-Ville Talvala
c7bb6cf132 EmulatedFakeCamera2: Add opaque stream output support
- Enables basic preview
- Opaque is RGBA for emulator
- Still only 1 stream max
- Preparations for YUV output support

Bug: 6243944
Change-Id: I11cb494d72c7c2ec5f542c79f1aa15d9a3ce00bf
2012-05-22 10:38:56 -07:00
Eino-Ville Talvala
7b906a7ca9 EmulatedFakeCamera2: Add more static metadata
- Add entries for all metadata
- Use better idiom for static metadata construction
- Revise dynamic and static metadata
  - New resolution reporting
  - Minor revision to some enums
- Quiet excess logging

Bug: 6243944
Change-Id: I0558d7d60ae97d2df9e209f24c1e04330737c220
2012-05-21 14:10:25 -07:00
Eino-Ville Talvala
366eef524c EmulatedCamera2: Be more const, like the HAL.
Bug: 6243944
Change-Id: I01f67c22b6e54dc49f22c6bc2c665b1db4ff6680
2012-05-20 17:04:27 -07:00
Eino-Ville Talvala
ab463b3ece EmulatedFakeCamera2: Support construct_default_request HAL method.
Bug: 6243944

Change-Id: I888fefae0b08532862171323774808cf241cdad1
2012-05-15 14:56:54 -07:00
Eino-Ville Talvala
bb54bb03ec EmulatedFakeCamera2: Update to match camera_metadata changes
Bug: 6243944
Change-Id: I3ff301829827b7e694c371efe7915667d9a66493
2012-05-14 18:08:18 -07:00
Eino-Ville Talvala
7479f77186 Merge "Add minimal operation to new fake camera emulator." 2012-05-14 18:03:37 -07:00
Eino-Ville Talvala
61fbf61670 Add minimal operation to new fake camera emulator.
- Rework to match latest camera 2 HAL.

- Somewhat realistic scene lighting simulation, for allowing a
  realistic range of exposure and gain values.

- Supports raw Bayer sensor data only, at 640x480

- Only one stream configurable

- No support for reprocessing, 3A, flash, YUV, JPEG, etc

Bug: 6243944
Change-Id: I14fbad58ffeff37162c56d9daff7e4f75ab879c3
2012-05-10 16:23:28 -07:00
Jean-Michel Trivi
f6b7dd7e7d Merge "Add FLAC encoder to the list of media codecs." into jb-dev 2012-05-10 09:55:15 -07:00
Jean-Michel Trivi
cb62e8bf28 Add FLAC encoder to the list of media codecs.
Bug 5525503

Change-Id: I2326bfec38dbbb641d8c32f5dee98da9da6c3a83
2012-05-09 15:54:27 -07:00
Xavier Ducrohet
6bd1ae5e75 Fix skin.
Bug: 6447905

Change-Id: I50779c5c343ed9f0bf432336b861153e9b047f07
2012-05-07 18:14:36 -07:00
James Dong
d71b64f6c1 Added software mpeg4 and h263 video encoder to sdk/emulator build
o related-to-bug: 6401068

Change-Id: If0711b68e1f6be88b123fc8117be970c87bc1d8f
2012-04-25 18:12:43 -07:00
James Dong
1632bc614d Added software h264 video encoder for emulator/sdk build
o related-to-bug: 6383440

Change-Id: I0abf595cd1cabd0be6d05bc9250c90300149f16b
2012-04-25 13:51:56 -07:00