summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Hu <austin.hu@intel.com>2016-06-02 20:58:47 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-06-02 20:58:47 +0000
commite928a0cc911dc921b209aeae685356a373671a7d (patch)
tree5d5eb4c9ea7862f5bf0b44acbe9acbfcf9a532b1
parent7bfdf1393dd0e40802bfdd9bf1cfeb7bb5eb896a (diff)
parentaeb7b876641a50941ccd4ce270aa20a97f4d8420 (diff)
downloadutils-e928a0cc911dc921b209aeae685356a373671a7d.tar.gz
ISV: Support for both HAL_PIXEL_FORMAT_YV12 and HAL_PIXEL_FORMAT_INTEL_YV12 formats.
am: aeb7b87664 * commit 'aeb7b876641a50941ccd4ce270aa20a97f4d8420': ISV: Support for both HAL_PIXEL_FORMAT_YV12 and HAL_PIXEL_FORMAT_INTEL_YV12 formats. Change-Id: I25b5ec01a9d176fd433f0dbbac90fc9d6519de3c
-rw-r--r--ISV/base/isv_worker.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/ISV/base/isv_worker.cpp b/ISV/base/isv_worker.cpp
index 156b844..9cddd1c 100644
--- a/ISV/base/isv_worker.cpp
+++ b/ISV/base/isv_worker.cpp
@@ -232,7 +232,7 @@ status_t ISVWorker::allocSurface(uint32_t* width, uint32_t* height,
memset(&vaExtBuf, 0, sizeof(VASurfaceAttribExternalBuffers));
switch(format) {
- case HAL_PIXEL_FORMAT_INTEL_YV12:
+ case HAL_PIXEL_FORMAT_YV12:
vaExtBuf.pixel_format = VA_FOURCC_YV12;
vaExtBuf.num_planes = 3;
vaExtBuf.pitches[0] = stride;
@@ -244,6 +244,19 @@ status_t ISVWorker::allocSurface(uint32_t* width, uint32_t* height,
vaExtBuf.offsets[2] = vaExtBuf.offsets[1] + (stride / 2) * (*height / 2);
vaExtBuf.offsets[3] = 0;
break;
+ case HAL_PIXEL_FORMAT_INTEL_YV12:
+ vaExtBuf.pixel_format = VA_FOURCC_YV12;
+ vaExtBuf.num_planes = 3;
+ vaExtBuf.pitches[0] = stride;
+ vaExtBuf.pitches[1] = stride / 2;
+ vaExtBuf.pitches[2] = stride / 2;
+ vaExtBuf.pitches[3] = 0;
+ vaExtBuf.offsets[0] = 0;
+ // The height of HAL_PIXEL_FORMAT_INTEL_YV12 gralloc buffer has been aligned with 32 pixels.
+ vaExtBuf.offsets[1] = stride * ((*height + 31) & ~31);
+ vaExtBuf.offsets[2] = vaExtBuf.offsets[1] + (stride / 2) * (((*height + 31) & ~31) / 2);
+ vaExtBuf.offsets[3] = 0;
+ break;
#ifdef TARGET_VPP_USE_GEN
case HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL:
case HAL_PIXEL_FORMAT_NV12_X_TILED_INTEL: