diff options
Diffstat (limited to 'tests/camera2')
-rw-r--r-- | tests/camera2/CameraBurstTests.cpp | 25 | ||||
-rw-r--r-- | tests/camera2/CameraFrameTests.cpp | 4 | ||||
-rw-r--r-- | tests/camera2/CameraMultiStreamTests.cpp | 25 | ||||
-rw-r--r-- | tests/camera2/CameraStreamFixture.h | 8 | ||||
-rw-r--r-- | tests/camera2/camera2.cpp | 31 |
5 files changed, 50 insertions, 43 deletions
diff --git a/tests/camera2/CameraBurstTests.cpp b/tests/camera2/CameraBurstTests.cpp index 7301fce..65ff460 100644 --- a/tests/camera2/CameraBurstTests.cpp +++ b/tests/camera2/CameraBurstTests.cpp @@ -15,6 +15,7 @@ */ #include <gtest/gtest.h> +#include <inttypes.h> #define LOG_TAG "CameraBurstTest" //#define LOG_NDEBUG 0 @@ -218,7 +219,7 @@ TEST_F(CameraBurstTest, ManualExposureControl) { CameraMetadata tmpRequest = previewRequest; ASSERT_EQ(OK, tmpRequest.update(ANDROID_SENSOR_EXPOSURE_TIME, &exposures[i], 1)); - ALOGV("Submitting capture request %d with exposure %lld", i, + ALOGV("Submitting capture request %d with exposure %"PRId64, i, exposures[i]); dout << "Capture request " << i << " exposure is " << (exposures[i]/1e6f) << std::endl; @@ -230,11 +231,11 @@ TEST_F(CameraBurstTest, ManualExposureControl) { float brightnesses[CAMERA_FRAME_BURST_COUNT]; // Get each frame (metadata) and then the buffer. Calculate brightness. for (int i = 0; i < CAMERA_FRAME_BURST_COUNT; ++i) { - ALOGV("Reading capture request %d with exposure %lld", i, exposures[i]); + ALOGV("Reading capture request %d with exposure %"PRId64, i, exposures[i]); ASSERT_EQ(OK, mDevice->waitForNextFrame(CAMERA_FRAME_TIMEOUT)); ALOGV("Reading capture request-1 %d", i); - CameraMetadata frameMetadata; - ASSERT_EQ(OK, mDevice->getNextFrame(&frameMetadata)); + CaptureResult result; + ASSERT_EQ(OK, mDevice->getNextResult(&result)); ALOGV("Reading capture request-2 %d", i); ASSERT_EQ(OK, mFrameListener->waitForFrame(CAMERA_FRAME_TIMEOUT)); @@ -613,7 +614,7 @@ TEST_F(CameraBurstTest, VariableBurst) { &durationList[i], 1)); ASSERT_EQ(OK, tmpRequest.update(ANDROID_SENSOR_SENSITIVITY, &sensitivityList[i], 1)); - ALOGV("Submitting capture %d with exposure %lld, frame duration %lld, sensitivity %d", + ALOGV("Submitting capture %zu with exposure %"PRId64", frame duration %"PRId64", sensitivity %d", i, expList[i], durationList[i], sensitivityList[i]); dout << "Capture request " << i << ": exposure is " << (expList[i]/1e6f) << " ms" << @@ -631,7 +632,7 @@ TEST_F(CameraBurstTest, VariableBurst) { // Get each frame (metadata) and then the buffer. Calculate brightness. for (size_t i = 0; i < expList.size(); ++i) { - ALOGV("Reading request %d", i); + ALOGV("Reading request %zu", i); dout << "Waiting for capture " << i << ": " << " exposure " << (expList[i]/1e6f) << " ms," << " frame duration " << (durationList[i]/1e6f) << " ms," << @@ -644,10 +645,10 @@ TEST_F(CameraBurstTest, VariableBurst) { if (durationList[i] * 2 > waitLimit) waitLimit = durationList[i] * 2; ASSERT_EQ(OK, mDevice->waitForNextFrame(waitLimit)); - ALOGV("Reading capture request-1 %d", i); - CameraMetadata frameMetadata; - ASSERT_EQ(OK, mDevice->getNextFrame(&frameMetadata)); - ALOGV("Reading capture request-2 %d", i); + ALOGV("Reading capture request-1 %zu", i); + CaptureResult result; + ASSERT_EQ(OK, mDevice->getNextResult(&result)); + ALOGV("Reading capture request-2 %zu", i); ASSERT_EQ(OK, mFrameListener->waitForFrame(CAMERA_FRAME_TIMEOUT)); ALOGV("We got the frame now"); @@ -668,7 +669,7 @@ TEST_F(CameraBurstTest, VariableBurst) { avgBrightness = 255; } - ALOGV("Total brightness for frame %d was %lld (underexposed %d, " + ALOGV("Total brightness for frame %zu was %lld (underexposed %d, " "overexposed %d), avg %f", i, brightness, underexposed, overexposed, avgBrightness); dout << "Average brightness (frame " << i << ") was " << avgBrightness @@ -711,7 +712,7 @@ TEST_F(CameraBurstTest, VariableBurst) { if (dumpFrames) { String8 dumpName = - String8::format("/data/local/tmp/camera2_test_variable_burst_frame_%03d.yuv", i); + String8::format("/data/local/tmp/camera2_test_variable_burst_frame_%03zu.yuv", i); dout << " Writing YUV dump to " << dumpName << std::endl; DumpYuvToFile(dumpName, imgBuffer); } diff --git a/tests/camera2/CameraFrameTests.cpp b/tests/camera2/CameraFrameTests.cpp index e78a862..3c5abf7 100644 --- a/tests/camera2/CameraFrameTests.cpp +++ b/tests/camera2/CameraFrameTests.cpp @@ -115,8 +115,8 @@ TEST_P(CameraFrameTest, GetFrame) { ALOGV("Reading capture request %d", i); ASSERT_EQ(OK, mDevice->waitForNextFrame(CAMERA_FRAME_TIMEOUT)); - CameraMetadata frameMetadata; - ASSERT_EQ(OK, mDevice->getNextFrame(&frameMetadata)); + CaptureResult result; + ASSERT_EQ(OK, mDevice->getNextResult(&result)); // wait for buffer to be available ASSERT_EQ(OK, mFrameListener->waitForFrame(CAMERA_FRAME_TIMEOUT)); diff --git a/tests/camera2/CameraMultiStreamTests.cpp b/tests/camera2/CameraMultiStreamTests.cpp index a78950c..536b656 100644 --- a/tests/camera2/CameraMultiStreamTests.cpp +++ b/tests/camera2/CameraMultiStreamTests.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#include <inttypes.h> #define LOG_TAG "CameraMultiStreamTest" //#define LOG_NDEBUG 0 #include "CameraStreamFixture.h" @@ -181,11 +182,13 @@ public: mHeight(height) { mFormat = param.mFormat; if (useCpuConsumer) { - sp<BufferQueue> bq = new BufferQueue(); - mCpuConsumer = new CpuConsumer(bq, param.mHeapCount); + sp<IGraphicBufferProducer> producer; + sp<IGraphicBufferConsumer> consumer; + BufferQueue::createBufferQueue(&producer, &consumer); + mCpuConsumer = new CpuConsumer(consumer, param.mHeapCount); mCpuConsumer->setName(String8( "CameraMultiStreamTest::mCpuConsumer")); - mNativeWindow = new Surface(bq); + mNativeWindow = new Surface(producer); } else { // Render the stream to screen. mCpuConsumer = NULL; @@ -353,7 +356,7 @@ public: ASSERT_EQ(OK, request.update(ANDROID_SENSOR_EXPOSURE_TIME, &exposures[i], 1)); ASSERT_EQ(OK, request.update(ANDROID_SENSOR_SENSITIVITY, &sensitivities[i], 1)); ASSERT_EQ(OK, mDevice->capture(request)); - ALOGV("Submitting request with: id %d with exposure %lld, sensitivity %d", + ALOGV("Submitting request with: id %d with exposure %"PRId64", sensitivity %d", *requestIdStart, exposures[i], sensitivities[i]); if (CAMERA_MULTI_STREAM_DEBUGGING) { request.dump(STDOUT_FILENO); @@ -368,7 +371,7 @@ public: // Set wait limit based on expected frame duration. int64_t waitLimit = CAMERA_FRAME_TIMEOUT; for (size_t i = 0; i < requestCount; i++) { - ALOGV("Reading request result %d", i); + ALOGV("Reading request result %zu", i); /** * Raise the timeout to be at least twice as long as the exposure @@ -378,11 +381,13 @@ public: waitLimit = exposures[i] * EXP_WAIT_MULTIPLIER; } + CaptureResult result; CameraMetadata frameMetadata; int32_t resultRequestId; do { ASSERT_EQ(OK, mDevice->waitForNextFrame(waitLimit)); - ASSERT_EQ(OK, mDevice->getNextFrame(&frameMetadata)); + ASSERT_EQ(OK, mDevice->getNextResult(&result)); + frameMetadata = result.mMetadata; camera_metadata_entry_t resultEntry = frameMetadata.find(ANDROID_REQUEST_ID); ASSERT_EQ(1u, resultEntry.count); @@ -392,7 +397,7 @@ public: } } while (resultRequestId != targetRequestId); targetRequestId++; - ALOGV("Got capture burst result for request %d", i); + ALOGV("Got capture burst result for request %zu", i); // Validate capture result if (CAMERA_MULTI_STREAM_DEBUGGING) { @@ -411,7 +416,7 @@ public: captureBurstTimes.push_back(systemTime()); CpuConsumer::LockedBuffer imgBuffer; ASSERT_EQ(OK, consumer->lockNextBuffer(&imgBuffer)); - ALOGV("Got capture buffer for request %d", i); + ALOGV("Got capture buffer for request %zu", i); /** * TODO: Validate capture buffer. Current brightness calculation @@ -523,7 +528,7 @@ TEST_F(CameraMultiStreamTest, MultiBurst) { minFrameDuration = DEFAULT_FRAME_DURATION; } - ALOGV("targeted minimal frame duration is: %lldns", minFrameDuration); + ALOGV("targeted minimal frame duration is: %"PRId64"ns", minFrameDuration); data = &(availableJpegSizes.data.i32[0]); count = availableJpegSizes.count; @@ -643,7 +648,7 @@ TEST_F(CameraMultiStreamTest, MultiBurst) { ASSERT_EQ(OK, previewRequest.update( ANDROID_SENSOR_EXPOSURE_TIME, &exposures[i], 1)); - ALOGV("Submitting preview request %d with exposure %lld", + ALOGV("Submitting preview request %zu with exposure %"PRId64, i, exposures[i]); ASSERT_EQ(OK, mDevice->setStreamingRequest(previewRequest)); diff --git a/tests/camera2/CameraStreamFixture.h b/tests/camera2/CameraStreamFixture.h index a1f3aae..12b1971 100644 --- a/tests/camera2/CameraStreamFixture.h +++ b/tests/camera2/CameraStreamFixture.h @@ -161,11 +161,13 @@ protected: sp<CameraDeviceBase> device = mDevice; CameraStreamParams p = mParam; - sp<BufferQueue> bq = new BufferQueue(); - mCpuConsumer = new CpuConsumer(bq, p.mHeapCount); + sp<IGraphicBufferProducer> producer; + sp<IGraphicBufferConsumer> consumer; + BufferQueue::createBufferQueue(&producer, &consumer); + mCpuConsumer = new CpuConsumer(consumer, p.mHeapCount); mCpuConsumer->setName(String8("CameraStreamTest::mCpuConsumer")); - mNativeWindow = new Surface(bq); + mNativeWindow = new Surface(producer); int format = MapAutoFormat(p.mFormat); diff --git a/tests/camera2/camera2.cpp b/tests/camera2/camera2.cpp index 600d440..e3e7d9a 100644 --- a/tests/camera2/camera2.cpp +++ b/tests/camera2/camera2.cpp @@ -172,13 +172,6 @@ class Camera2Test: public testing::Test { err = listener.getNotificationsFrom(dev); if (err != OK) return err; - vendor_tag_query_ops_t *vendor_metadata_tag_ops; - err = dev->ops->get_metadata_vendor_tag_ops(dev, &vendor_metadata_tag_ops); - if (err != OK) return err; - - err = set_camera_metadata_vendor_tag_ops(vendor_metadata_tag_ops); - if (err != OK) return err; - return OK; } @@ -388,8 +381,10 @@ TEST_F(Camera2Test, Capture1Raw) { ASSERT_NO_FATAL_FAILURE(setUpCamera(id)); - sp<BufferQueue> bq = new BufferQueue(); - sp<CpuConsumer> rawConsumer = new CpuConsumer(bq, 1); + sp<IGraphicBufferProducer> bqProducer; + sp<IGraphicBufferConsumer> bqConsumer; + BufferQueue::createBufferQueue(&bqProducer, &bqConsumer); + sp<CpuConsumer> rawConsumer = new CpuConsumer(bqConsumer, 1); sp<FrameWaiter> rawWaiter = new FrameWaiter(); rawConsumer->setFrameAvailableListener(rawWaiter); @@ -420,7 +415,7 @@ TEST_F(Camera2Test, Capture1Raw) { int streamId; ASSERT_NO_FATAL_FAILURE( - setUpStream(bq, width, height, format, &streamId) ); + setUpStream(bqProducer, width, height, format, &streamId) ); camera_metadata_t *request; request = allocate_camera_metadata(20, 2000); @@ -522,8 +517,10 @@ TEST_F(Camera2Test, CaptureBurstRaw) { ASSERT_NO_FATAL_FAILURE(setUpCamera(id)); - sp<BufferQueue> bq = new BufferQueue(); - sp<CpuConsumer> rawConsumer = new CpuConsumer(bq, 1); + sp<IGraphicBufferProducer> bqProducer; + sp<IGraphicBufferConsumer> bqConsumer; + BufferQueue::createBufferQueue(&bqProducer, &bqConsumer); + sp<CpuConsumer> rawConsumer = new CpuConsumer(bqConsumer, 1); sp<FrameWaiter> rawWaiter = new FrameWaiter(); rawConsumer->setFrameAvailableListener(rawWaiter); @@ -554,7 +551,7 @@ TEST_F(Camera2Test, CaptureBurstRaw) { int streamId; ASSERT_NO_FATAL_FAILURE( - setUpStream(bq, width, height, format, &streamId) ); + setUpStream(bqProducer, width, height, format, &streamId) ); camera_metadata_t *request; request = allocate_camera_metadata(20, 2000); @@ -703,8 +700,10 @@ TEST_F(Camera2Test, Capture1Jpeg) { ASSERT_NO_FATAL_FAILURE(setUpCamera(id)); - sp<BufferQueue> bq = new BufferQueue(); - sp<CpuConsumer> jpegConsumer = new CpuConsumer(bq, 1); + sp<IGraphicBufferProducer> bqProducer; + sp<IGraphicBufferConsumer> bqConsumer; + BufferQueue::createBufferQueue(&bqProducer, &bqConsumer); + sp<CpuConsumer> jpegConsumer = new CpuConsumer(bqConsumer, 1); sp<FrameWaiter> jpegWaiter = new FrameWaiter(); jpegConsumer->setFrameAvailableListener(jpegWaiter); @@ -723,7 +722,7 @@ TEST_F(Camera2Test, Capture1Jpeg) { int streamId; ASSERT_NO_FATAL_FAILURE( - setUpStream(bq, width, height, format, &streamId) ); + setUpStream(bqProducer, width, height, format, &streamId) ); camera_metadata_t *request; request = allocate_camera_metadata(20, 2000); |