Cleanup type offsets which cannot be calculated for flexible YUV.
Support flexible YUV
bug 10567550
Change-Id: I4f6e5a8d86eeee635605460f1751208f3320969b
(cherry picked from commit a75372759e288be3fb8835735a830b1f7d1a4c42)
diff --git a/rsGrallocConsumer.cpp b/rsGrallocConsumer.cpp
index e3bd9d4..c5d37b2 100644
--- a/rsGrallocConsumer.cpp
+++ b/rsGrallocConsumer.cpp
@@ -41,7 +41,9 @@
if (y < 1) y = 1;
mConsumer->setDefaultBufferSize(a->mHal.drvState.lod[0].dimX, y);
- //mBufferQueue->setDefaultBufferFormat(defaultFormat);
+ if (a->mHal.state.yuv) {
+ bq->setDefaultBufferFormat(a->mHal.state.yuv);
+ }
//mBufferQueue->setConsumerName(name);
}
@@ -146,6 +148,9 @@
mAlloc->mHal.drvState.lod[0].stride = ycbcr.ystride;
mAlloc->mHal.drvState.lod[1].stride = ycbcr.cstride;
mAlloc->mHal.drvState.lod[2].stride = ycbcr.cstride;
+
+ mAlloc->mHal.drvState.yuv.shift = 1;
+ mAlloc->mHal.drvState.yuv.step = ycbcr.chroma_step;
}
return OK;