summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-05-04 18:07:43 -0700
committerEino-Ville Talvala <etalvala@google.com>2013-05-06 17:24:05 -0700
commitc43946b931de5dafd28f49963f9af78e05390b26 (patch)
tree032140ddaaa02cacfac012f042526c7facd57c88 /include
parentcc8f8ad33d4f8f55ff30e1600cc59c7cf5113c8a (diff)
downloadframeworks_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.h8
-rw-r--r--include/ui/GraphicBuffer.h3
-rw-r--r--include/ui/GraphicBufferMapper.h3
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