summaryrefslogtreecommitdiff
path: root/test/CameraHal/camera_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/CameraHal/camera_test.h')
-rw-r--r--test/CameraHal/camera_test.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/test/CameraHal/camera_test.h b/test/CameraHal/camera_test.h
index 89e89ce..f2dd219 100644
--- a/test/CameraHal/camera_test.h
+++ b/test/CameraHal/camera_test.h
@@ -218,6 +218,7 @@ typedef struct buffer_info {
int width;
int height;
int format;
+ Rect crop;
sp<GraphicBuffer> buf;
} buffer_info_t;
@@ -321,6 +322,7 @@ public:
uint8_t *mappedBuffer;
unsigned int count;
unsigned int slot;
+ Rect crop;
};
public:
Defer(BufferSourceThread* bst) :
@@ -352,7 +354,8 @@ public:
if (!mExiting) {
DeferContainer defer = mDeferQueue.itemAt(0);
printf ("=== handling buffer %d\n", defer.count);
- mBST->handleBuffer(defer.graphicBuffer, defer.mappedBuffer, defer.count);
+ mBST->handleBuffer(defer.graphicBuffer, defer.mappedBuffer,
+ defer.count, defer.crop);
defer.graphicBuffer->unlock();
mDeferQueue.removeAt(0);
mBST->onHandled(defer.graphicBuffer, defer.slot);
@@ -360,12 +363,14 @@ public:
}
return false;
}
- void add(sp<GraphicBuffer> &gbuf, unsigned int count, unsigned int slot = 0) {
+ void add(sp<GraphicBuffer> &gbuf, const Rect &crop,
+ unsigned int count, unsigned int slot = 0) {
Mutex::Autolock lock(mFrameQueueMutex);
DeferContainer defer;
defer.graphicBuffer = gbuf;
defer.count = count;
defer.slot = slot;
+ defer.crop = crop;
gbuf->lock(GRALLOC_USAGE_SW_READ_RARELY, (void**) &defer.mappedBuffer);
mDeferQueue.add(defer);
mFrameQueueCondition.signal();
@@ -426,7 +431,8 @@ public:
return !mReturnedBuffers.isEmpty();
}
- void handleBuffer(sp<GraphicBuffer> &, uint8_t *, unsigned int);
+ void handleBuffer(sp<GraphicBuffer> &, uint8_t *, unsigned int, const Rect &);
+ Rect getCrop(sp<GraphicBuffer> &buffer, const float *mtx);
void showMetadata(sp<IMemory> data);
protected:
void restartCapture() {