diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2013-05-04 18:07:43 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2013-05-06 17:24:05 -0700 |
commit | c43946b931de5dafd28f49963f9af78e05390b26 (patch) | |
tree | 032140ddaaa02cacfac012f042526c7facd57c88 /include | |
parent | cc8f8ad33d4f8f55ff30e1600cc59c7cf5113c8a (diff) | |
download | frameworks_native-c43946b931de5dafd28f49963f9af78e05390b26.zip frameworks_native-c43946b931de5dafd28f49963f9af78e05390b26.tar.gz frameworks_native-c43946b931de5dafd28f49963f9af78e05390b26.tar.bz2 |
Add support for HAL_PIXEL_FORMAT_YCbCr_420_888
- Add fields to CpuConsumer::LockedBuffer for new information
- New lock methods for GraphicBuffer and GraphicBufferMapper for
the format
Bug: 8734880
Change-Id: If31f82c62d64b6942cf4cc6e5715585c03273f12
Diffstat (limited to 'include')
-rw-r--r-- | include/gui/CpuConsumer.h | 8 | ||||
-rw-r--r-- | include/ui/GraphicBuffer.h | 3 | ||||
-rw-r--r-- | include/ui/GraphicBufferMapper.h | 3 |
3 files changed, 14 insertions, 0 deletions
diff --git a/include/gui/CpuConsumer.h b/include/gui/CpuConsumer.h index 4b956c7..bf9918e 100644 --- a/include/gui/CpuConsumer.h +++ b/include/gui/CpuConsumer.h @@ -53,6 +53,14 @@ class CpuConsumer : public ConsumerBase uint32_t scalingMode; int64_t timestamp; uint64_t frameNumber; + // Values below are only valid when using + // HAL_PIXEL_FORMAT_YCbCr_420_888, in which case LockedBuffer::data + // contains the Y channel, and stride is the Y channel stride. For other + // formats, these will all be 0. + uint8_t *dataCb; + uint8_t *dataCr; + uint32_t chromaStride; + uint32_t chromaStep; }; // Create a new CPU consumer. The maxLockedBuffers parameter specifies diff --git a/include/ui/GraphicBuffer.h b/include/ui/GraphicBuffer.h index ea9368d..e5ad1e0 100644 --- a/include/ui/GraphicBuffer.h +++ b/include/ui/GraphicBuffer.h @@ -92,6 +92,9 @@ public: status_t lock(uint32_t usage, void** vaddr); status_t lock(uint32_t usage, const Rect& rect, void** vaddr); + // For HAL_PIXEL_FORMAT_YCbCr_420_888 + status_t lockYCbCr(uint32_t usage, android_ycbcr *ycbcr); + status_t lockYCbCr(uint32_t usage, const Rect& rect, android_ycbcr *ycbcr); status_t unlock(); ANativeWindowBuffer* getNativeBuffer() const; diff --git a/include/ui/GraphicBufferMapper.h b/include/ui/GraphicBufferMapper.h index 697a02a..99d8723 100644 --- a/include/ui/GraphicBufferMapper.h +++ b/include/ui/GraphicBufferMapper.h @@ -45,6 +45,9 @@ public: status_t lock(buffer_handle_t handle, int usage, const Rect& bounds, void** vaddr); + status_t lockYCbCr(buffer_handle_t handle, + int usage, const Rect& bounds, android_ycbcr *ycbcr); + status_t unlock(buffer_handle_t handle); // dumps information about the mapping of this handle |