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
- 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
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
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
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
- Enables basic preview
- Opaque is RGBA for emulator
- Still only 1 stream max
- Preparations for YUV output support
Bug: 6243944
Change-Id: I11cb494d72c7c2ec5f542c79f1aa15d9a3ce00bf
- 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
- 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
The emulator GLES support has two interfaces: a host shared library
interface used by QEMU, and a protocol between the platform and the
host. The host library interface is not versioned; QEMU and the GLES
renderer must match. The protocol on the other hand must be backwards
compatible: a new GLES renderer must support an older platform image.
Thus for branching purposes it makes more sense to put the GLES
renderer in sdk.git, which is branched along with qemu.git for SDK
releases. Platform images will be built against the protocol version
in the platform branch of sdk.git.
Change-Id: Ie73fce12815c9740e27d0f56caa53c6ceb3d30cc
The emulator GLES support has two interfaces: a host shared library
interface used by QEMU, and a protocol between the platform and the
host. The host library interface is not versioned; QEMU and the GLES
renderer must match. The protocol on the other hand must be backwards
compatible: a new GLES renderer must support an older platform image.
Thus for branching purposes it makes more sense to put the GLES
renderer in sdk.git, which is branched along with qemu.git for SDK
releases. Platform images will be built against the protocol version
in the platform branch of sdk.git.
Change-Id: Ibe2cf8de13520aa3fcbaf72328a15ece261d7b86
- Update camera HAL module to version 2
- Break out common camera HAL device functionality into
EmulatedBaseCamera
- EmulatedCamera is now the base class for all version 1 camera
devices.
- No camera device version 2 implementation included.
No change to supported functionality.
Change-Id: Iabb0b9a4e41f3c01dfd921256fa8fb1d40d71834