Loading media/codec2/hidl/1.0/vts/functional/component/VtsHalMediaC2V1_0TargetComponentTest.cpp +9 −23 Original line number Diff line number Diff line Loading @@ -144,8 +144,7 @@ TEST_F(Codec2ComponentHidlTest, QueueEmptyWork) { // Queueing an empty WorkBundle std::list<std::unique_ptr<C2Work>> workList; err = mComponent->queue(&workList); ASSERT_EQ(err, C2_OK); mComponent->queue(&workList); err = mComponent->reset(); ASSERT_EQ(err, C2_OK); Loading Loading @@ -183,33 +182,23 @@ TEST_F(Codec2ComponentHidlTest, Config) { // Test Multiple Start Stop Reset Test TEST_F(Codec2ComponentHidlTest, MultipleStartStopReset) { ALOGV("Multiple Start Stop and Reset Test"); c2_status_t err = C2_OK; for (size_t i = 0; i < MAX_RETRY; i++) { err = mComponent->start(); ASSERT_EQ(err, C2_OK); err = mComponent->stop(); ASSERT_EQ(err, C2_OK); mComponent->start(); mComponent->stop(); } err = mComponent->start(); ASSERT_EQ(err, C2_OK); ASSERT_EQ(mComponent->start(), C2_OK); for (size_t i = 0; i < MAX_RETRY; i++) { err = mComponent->reset(); ASSERT_EQ(err, C2_OK); mComponent->reset(); } err = mComponent->start(); ASSERT_EQ(err, C2_OK); err = mComponent->stop(); ASSERT_EQ(err, C2_OK); ASSERT_EQ(mComponent->start(), C2_OK); ASSERT_EQ(mComponent->stop(), C2_OK); // Second stop should return error err = mComponent->stop(); ASSERT_NE(err, C2_OK); ASSERT_NE(mComponent->stop(), C2_OK); } // Test Component Release API Loading @@ -233,8 +222,7 @@ TEST_F(Codec2ComponentHidlTest, MultipleRelease) { ASSERT_EQ(failures.size(), 0u); for (size_t i = 0; i < MAX_RETRY; i++) { err = mComponent->release(); ASSERT_EQ(err, C2_OK); mComponent->release(); } } Loading Loading @@ -332,14 +320,12 @@ TEST_F(Codec2ComponentHidlTest, Timeout) { timeConsumed = getNowUs() - startTime; ALOGV("mComponent->queue() timeConsumed=%" PRId64 " us", timeConsumed); CHECK_TIMEOUT(timeConsumed, QUEUE_TIME_OUT, "queue()"); ASSERT_EQ(err, C2_OK); startTime = getNowUs(); err = mComponent->flush(C2Component::FLUSH_COMPONENT, &workList); timeConsumed = getNowUs() - startTime; ALOGV("mComponent->flush() timeConsumed=%" PRId64 " us", timeConsumed); CHECK_TIMEOUT(timeConsumed, FLUSH_TIME_OUT, "flush()"); ASSERT_EQ(err, C2_OK); startTime = getNowUs(); err = mComponent->stop(); Loading media/codec2/hidl/1.0/vts/functional/video/VtsHalMediaC2V1_0TargetVideoEncTest.cpp +61 −21 Original line number Diff line number Diff line Loading @@ -284,15 +284,16 @@ void encodeNFrames(const std::shared_ptr<android::Codec2Client::Component>& comp std::list<std::unique_ptr<C2Work>>& workQueue, std::list<uint64_t>& flushedIndices, std::shared_ptr<C2BlockPool>& graphicPool, std::ifstream& eleStream, uint32_t frameID, uint32_t nFrames, uint32_t nWidth, int32_t nHeight, bool flushed = false,bool signalEOS = true) { std::ifstream& eleStream, bool& disableTest, uint32_t frameID, uint32_t nFrames, uint32_t nWidth, int32_t nHeight, bool flushed = false, bool signalEOS = true) { typedef std::unique_lock<std::mutex> ULock; uint32_t maxRetry = 0; int bytesCount = nWidth * nHeight * 3 >> 1; int32_t timestampIncr = ENCODER_TIMESTAMP_INCREMENT; uint64_t timestamp = 0; c2_status_t err = C2_OK; while (1) { if (nFrames == 0) break; uint32_t flags = 0; Loading Loading @@ -333,16 +334,21 @@ void encodeNFrames(const std::shared_ptr<android::Codec2Client::Component>& comp ASSERT_EQ(eleStream.gcount(), bytesCount); } std::shared_ptr<C2GraphicBlock> block; ASSERT_EQ( C2_OK, graphicPool->fetchGraphicBlock( err = graphicPool->fetchGraphicBlock( nWidth, nHeight, HAL_PIXEL_FORMAT_YV12, {C2MemoryUsage::CPU_READ, C2MemoryUsage::CPU_WRITE}, &block)); {C2MemoryUsage::CPU_READ, C2MemoryUsage::CPU_WRITE}, &block); if (err != C2_OK) { fprintf(stderr, "fetchGraphicBlock failed : %d\n", err); disableTest = true; break; } ASSERT_TRUE(block); // Graphic View C2GraphicView view = block->map().get(); if (view.error() != C2_OK) { fprintf(stderr, "C2GraphicBlock::map() failed : %d", view.error()); disableTest = true; break; } Loading Loading @@ -420,8 +426,16 @@ TEST_P(Codec2VideoEncEncodeTest, EncodeTest) { ASSERT_EQ(mComponent->start(), C2_OK); ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 0, ENC_NUM_FRAMES, nWidth, nHeight, false, signalEOS)); // mDisableTest will be set if buffer was not fetched properly. // This may happen when resolution is not proper but config suceeded // In this cases, we skip encoding the input stream if (mDisableTest) { std::cout << "[ WARN ] Test Disabled \n"; ASSERT_EQ(mComponent->stop(), C2_OK); return; } // If EOS is not sent, sending empty input with EOS flag inputFrames = ENC_NUM_FRAMES; Loading Loading @@ -531,8 +545,17 @@ TEST_F(Codec2VideoEncHidlTest, FlushTest) { ALOGV("mURL : %s", mURL); ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 0, numFramesFlushed, nWidth, nHeight)); // mDisableTest will be set if buffer was not fetched properly. // This may happen when resolution is not proper but config suceeded // In this cases, we skip encoding the input stream if (mDisableTest) { std::cout << "[ WARN ] Test Disabled \n"; ASSERT_EQ(mComponent->stop(), C2_OK); return; } std::list<std::unique_ptr<C2Work>> flushedWork; c2_status_t err = mComponent->flush(C2Component::FLUSH_COMPONENT, &flushedWork); Loading Loading @@ -561,10 +584,19 @@ TEST_F(Codec2VideoEncHidlTest, FlushTest) { mFlushedIndices.clear(); ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, numFramesFlushed, numFrames - numFramesFlushed, nWidth, nHeight, true)); eleStream.close(); // mDisableTest will be set if buffer was not fetched properly. // This may happen when resolution is not proper but config suceeded // In this cases, we skip encoding the input stream if (mDisableTest) { std::cout << "[ WARN ] Test Disabled \n"; ASSERT_EQ(mComponent->stop(), C2_OK); return; } err = mComponent->flush(C2Component::FLUSH_COMPONENT, &flushedWork); ASSERT_EQ(err, C2_OK); ASSERT_NO_FATAL_FAILURE( Loading Loading @@ -607,19 +639,19 @@ TEST_F(Codec2VideoEncHidlTest, InvalidBufferTest) { ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 0, 1, nWidth, nHeight, false, false)); // Feed larger input buffer. ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 1, 1, nWidth*2, nHeight*2, false, false)); // Feed smaller input buffer. ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 2, 1, nWidth/2, nHeight/2, false, true)); // blocking call to ensures application to Wait till all the inputs are Loading @@ -629,15 +661,13 @@ TEST_F(Codec2VideoEncHidlTest, InvalidBufferTest) { waitOnInputConsumption(mQueueLock, mQueueCondition, mWorkQueue)); if (mFramesReceived != 3) { ALOGE("Input buffer count and Output buffer count mismatch"); ALOGE("framesReceived : %d inputFrames : 3", mFramesReceived); ASSERT_TRUE(false); std::cout << "[ WARN ] Component didn't receive all buffers back \n"; ALOGW("framesReceived : %d inputFrames : 3", mFramesReceived); } if (mFailedWorkReceived == 0) { ALOGE("Expected failed frame count mismatch"); ALOGE("failedFramesReceived : %d", mFailedWorkReceived); ASSERT_TRUE(false); std::cout << "[ WARN ] Expected failed frame count mismatch \n"; ALOGW("failedFramesReceived : %d", mFailedWorkReceived); } ASSERT_EQ(mComponent->stop(), C2_OK); Loading Loading @@ -665,8 +695,17 @@ TEST_P(Codec2VideoEncResolutionTest, ResolutionTest) { ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, 0, MAX_INPUT_BUFFERS, nWidth, nHeight)); mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 0, MAX_INPUT_BUFFERS, nWidth, nHeight, false, true)); // mDisableTest will be set if buffer was not fetched properly. // This may happen when resolution is not proper but config suceeded // In this cases, we skip encoding the input stream if (mDisableTest) { std::cout << "[ WARN ] Test Disabled \n"; ASSERT_EQ(mComponent->stop(), C2_OK); return; } ALOGD("Waiting for input consumption"); ASSERT_NO_FATAL_FAILURE( Loading @@ -676,6 +715,7 @@ TEST_P(Codec2VideoEncResolutionTest, ResolutionTest) { ASSERT_EQ(mComponent->stop(), C2_OK); ASSERT_EQ(mComponent->reset(), C2_OK); } INSTANTIATE_TEST_CASE_P(NonStdSizes, Codec2VideoEncResolutionTest, ::testing::Values( std::make_pair(52, 18), std::make_pair(365, 365), Loading services/camera/libcameraservice/device3/Camera3Device.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -4364,7 +4364,7 @@ status_t Camera3Device::HalInterface::configureStreams(const camera_metadata_t * int overrideFormat = mapToFrameworkFormat(src.v3_2.overrideFormat); android_dataspace overrideDataSpace = mapToFrameworkDataspace(src.overrideDataSpace); if (dst->format != HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) { if (dstStream->getOriginalFormat() != HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) { dstStream->setFormatOverride(false); dstStream->setDataSpaceOverride(false); if (dst->format != overrideFormat) { Loading services/camera/libcameraservice/device3/Camera3Stream.cpp +1 −4 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ Camera3Stream::Camera3Stream(int id, mLastMaxCount(Camera3StreamInterface::ALLOCATE_PIPELINE_MAX), mBufferLimitLatency(kBufferLimitLatencyBinSize), mFormatOverridden(false), mOriginalFormat(-1), mOriginalFormat(format), mDataSpaceOverridden(false), mOriginalDataSpace(HAL_DATASPACE_UNKNOWN), mPhysicalCameraId(physicalCameraId), Loading Loading @@ -125,9 +125,6 @@ void Camera3Stream::setUsage(uint64_t usage) { void Camera3Stream::setFormatOverride(bool formatOverridden) { mFormatOverridden = formatOverridden; if (formatOverridden && mOriginalFormat == -1) { mOriginalFormat = camera3_stream::format; } } bool Camera3Stream::isFormatOverridden() const { Loading services/camera/libcameraservice/device3/Camera3Stream.h +2 −2 Original line number Diff line number Diff line Loading @@ -582,9 +582,9 @@ class Camera3Stream : static const int32_t kBufferLimitLatencyBinSize = 33; //in ms CameraLatencyHistogram mBufferLimitLatency; //Keep track of original format in case it gets overridden //Keep track of original format when the stream is created in case it gets overridden bool mFormatOverridden; int mOriginalFormat; const int mOriginalFormat; //Keep track of original dataSpace in case it gets overridden bool mDataSpaceOverridden; Loading Loading
media/codec2/hidl/1.0/vts/functional/component/VtsHalMediaC2V1_0TargetComponentTest.cpp +9 −23 Original line number Diff line number Diff line Loading @@ -144,8 +144,7 @@ TEST_F(Codec2ComponentHidlTest, QueueEmptyWork) { // Queueing an empty WorkBundle std::list<std::unique_ptr<C2Work>> workList; err = mComponent->queue(&workList); ASSERT_EQ(err, C2_OK); mComponent->queue(&workList); err = mComponent->reset(); ASSERT_EQ(err, C2_OK); Loading Loading @@ -183,33 +182,23 @@ TEST_F(Codec2ComponentHidlTest, Config) { // Test Multiple Start Stop Reset Test TEST_F(Codec2ComponentHidlTest, MultipleStartStopReset) { ALOGV("Multiple Start Stop and Reset Test"); c2_status_t err = C2_OK; for (size_t i = 0; i < MAX_RETRY; i++) { err = mComponent->start(); ASSERT_EQ(err, C2_OK); err = mComponent->stop(); ASSERT_EQ(err, C2_OK); mComponent->start(); mComponent->stop(); } err = mComponent->start(); ASSERT_EQ(err, C2_OK); ASSERT_EQ(mComponent->start(), C2_OK); for (size_t i = 0; i < MAX_RETRY; i++) { err = mComponent->reset(); ASSERT_EQ(err, C2_OK); mComponent->reset(); } err = mComponent->start(); ASSERT_EQ(err, C2_OK); err = mComponent->stop(); ASSERT_EQ(err, C2_OK); ASSERT_EQ(mComponent->start(), C2_OK); ASSERT_EQ(mComponent->stop(), C2_OK); // Second stop should return error err = mComponent->stop(); ASSERT_NE(err, C2_OK); ASSERT_NE(mComponent->stop(), C2_OK); } // Test Component Release API Loading @@ -233,8 +222,7 @@ TEST_F(Codec2ComponentHidlTest, MultipleRelease) { ASSERT_EQ(failures.size(), 0u); for (size_t i = 0; i < MAX_RETRY; i++) { err = mComponent->release(); ASSERT_EQ(err, C2_OK); mComponent->release(); } } Loading Loading @@ -332,14 +320,12 @@ TEST_F(Codec2ComponentHidlTest, Timeout) { timeConsumed = getNowUs() - startTime; ALOGV("mComponent->queue() timeConsumed=%" PRId64 " us", timeConsumed); CHECK_TIMEOUT(timeConsumed, QUEUE_TIME_OUT, "queue()"); ASSERT_EQ(err, C2_OK); startTime = getNowUs(); err = mComponent->flush(C2Component::FLUSH_COMPONENT, &workList); timeConsumed = getNowUs() - startTime; ALOGV("mComponent->flush() timeConsumed=%" PRId64 " us", timeConsumed); CHECK_TIMEOUT(timeConsumed, FLUSH_TIME_OUT, "flush()"); ASSERT_EQ(err, C2_OK); startTime = getNowUs(); err = mComponent->stop(); Loading
media/codec2/hidl/1.0/vts/functional/video/VtsHalMediaC2V1_0TargetVideoEncTest.cpp +61 −21 Original line number Diff line number Diff line Loading @@ -284,15 +284,16 @@ void encodeNFrames(const std::shared_ptr<android::Codec2Client::Component>& comp std::list<std::unique_ptr<C2Work>>& workQueue, std::list<uint64_t>& flushedIndices, std::shared_ptr<C2BlockPool>& graphicPool, std::ifstream& eleStream, uint32_t frameID, uint32_t nFrames, uint32_t nWidth, int32_t nHeight, bool flushed = false,bool signalEOS = true) { std::ifstream& eleStream, bool& disableTest, uint32_t frameID, uint32_t nFrames, uint32_t nWidth, int32_t nHeight, bool flushed = false, bool signalEOS = true) { typedef std::unique_lock<std::mutex> ULock; uint32_t maxRetry = 0; int bytesCount = nWidth * nHeight * 3 >> 1; int32_t timestampIncr = ENCODER_TIMESTAMP_INCREMENT; uint64_t timestamp = 0; c2_status_t err = C2_OK; while (1) { if (nFrames == 0) break; uint32_t flags = 0; Loading Loading @@ -333,16 +334,21 @@ void encodeNFrames(const std::shared_ptr<android::Codec2Client::Component>& comp ASSERT_EQ(eleStream.gcount(), bytesCount); } std::shared_ptr<C2GraphicBlock> block; ASSERT_EQ( C2_OK, graphicPool->fetchGraphicBlock( err = graphicPool->fetchGraphicBlock( nWidth, nHeight, HAL_PIXEL_FORMAT_YV12, {C2MemoryUsage::CPU_READ, C2MemoryUsage::CPU_WRITE}, &block)); {C2MemoryUsage::CPU_READ, C2MemoryUsage::CPU_WRITE}, &block); if (err != C2_OK) { fprintf(stderr, "fetchGraphicBlock failed : %d\n", err); disableTest = true; break; } ASSERT_TRUE(block); // Graphic View C2GraphicView view = block->map().get(); if (view.error() != C2_OK) { fprintf(stderr, "C2GraphicBlock::map() failed : %d", view.error()); disableTest = true; break; } Loading Loading @@ -420,8 +426,16 @@ TEST_P(Codec2VideoEncEncodeTest, EncodeTest) { ASSERT_EQ(mComponent->start(), C2_OK); ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 0, ENC_NUM_FRAMES, nWidth, nHeight, false, signalEOS)); // mDisableTest will be set if buffer was not fetched properly. // This may happen when resolution is not proper but config suceeded // In this cases, we skip encoding the input stream if (mDisableTest) { std::cout << "[ WARN ] Test Disabled \n"; ASSERT_EQ(mComponent->stop(), C2_OK); return; } // If EOS is not sent, sending empty input with EOS flag inputFrames = ENC_NUM_FRAMES; Loading Loading @@ -531,8 +545,17 @@ TEST_F(Codec2VideoEncHidlTest, FlushTest) { ALOGV("mURL : %s", mURL); ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 0, numFramesFlushed, nWidth, nHeight)); // mDisableTest will be set if buffer was not fetched properly. // This may happen when resolution is not proper but config suceeded // In this cases, we skip encoding the input stream if (mDisableTest) { std::cout << "[ WARN ] Test Disabled \n"; ASSERT_EQ(mComponent->stop(), C2_OK); return; } std::list<std::unique_ptr<C2Work>> flushedWork; c2_status_t err = mComponent->flush(C2Component::FLUSH_COMPONENT, &flushedWork); Loading Loading @@ -561,10 +584,19 @@ TEST_F(Codec2VideoEncHidlTest, FlushTest) { mFlushedIndices.clear(); ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, numFramesFlushed, numFrames - numFramesFlushed, nWidth, nHeight, true)); eleStream.close(); // mDisableTest will be set if buffer was not fetched properly. // This may happen when resolution is not proper but config suceeded // In this cases, we skip encoding the input stream if (mDisableTest) { std::cout << "[ WARN ] Test Disabled \n"; ASSERT_EQ(mComponent->stop(), C2_OK); return; } err = mComponent->flush(C2Component::FLUSH_COMPONENT, &flushedWork); ASSERT_EQ(err, C2_OK); ASSERT_NO_FATAL_FAILURE( Loading Loading @@ -607,19 +639,19 @@ TEST_F(Codec2VideoEncHidlTest, InvalidBufferTest) { ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 0, 1, nWidth, nHeight, false, false)); // Feed larger input buffer. ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 1, 1, nWidth*2, nHeight*2, false, false)); // Feed smaller input buffer. ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 2, 1, nWidth/2, nHeight/2, false, true)); // blocking call to ensures application to Wait till all the inputs are Loading @@ -629,15 +661,13 @@ TEST_F(Codec2VideoEncHidlTest, InvalidBufferTest) { waitOnInputConsumption(mQueueLock, mQueueCondition, mWorkQueue)); if (mFramesReceived != 3) { ALOGE("Input buffer count and Output buffer count mismatch"); ALOGE("framesReceived : %d inputFrames : 3", mFramesReceived); ASSERT_TRUE(false); std::cout << "[ WARN ] Component didn't receive all buffers back \n"; ALOGW("framesReceived : %d inputFrames : 3", mFramesReceived); } if (mFailedWorkReceived == 0) { ALOGE("Expected failed frame count mismatch"); ALOGE("failedFramesReceived : %d", mFailedWorkReceived); ASSERT_TRUE(false); std::cout << "[ WARN ] Expected failed frame count mismatch \n"; ALOGW("failedFramesReceived : %d", mFailedWorkReceived); } ASSERT_EQ(mComponent->stop(), C2_OK); Loading Loading @@ -665,8 +695,17 @@ TEST_P(Codec2VideoEncResolutionTest, ResolutionTest) { ASSERT_NO_FATAL_FAILURE( encodeNFrames(mComponent, mQueueLock, mQueueCondition, mWorkQueue, mFlushedIndices, mGraphicPool, eleStream, 0, MAX_INPUT_BUFFERS, nWidth, nHeight)); mFlushedIndices, mGraphicPool, eleStream, mDisableTest, 0, MAX_INPUT_BUFFERS, nWidth, nHeight, false, true)); // mDisableTest will be set if buffer was not fetched properly. // This may happen when resolution is not proper but config suceeded // In this cases, we skip encoding the input stream if (mDisableTest) { std::cout << "[ WARN ] Test Disabled \n"; ASSERT_EQ(mComponent->stop(), C2_OK); return; } ALOGD("Waiting for input consumption"); ASSERT_NO_FATAL_FAILURE( Loading @@ -676,6 +715,7 @@ TEST_P(Codec2VideoEncResolutionTest, ResolutionTest) { ASSERT_EQ(mComponent->stop(), C2_OK); ASSERT_EQ(mComponent->reset(), C2_OK); } INSTANTIATE_TEST_CASE_P(NonStdSizes, Codec2VideoEncResolutionTest, ::testing::Values( std::make_pair(52, 18), std::make_pair(365, 365), Loading
services/camera/libcameraservice/device3/Camera3Device.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -4364,7 +4364,7 @@ status_t Camera3Device::HalInterface::configureStreams(const camera_metadata_t * int overrideFormat = mapToFrameworkFormat(src.v3_2.overrideFormat); android_dataspace overrideDataSpace = mapToFrameworkDataspace(src.overrideDataSpace); if (dst->format != HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) { if (dstStream->getOriginalFormat() != HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) { dstStream->setFormatOverride(false); dstStream->setDataSpaceOverride(false); if (dst->format != overrideFormat) { Loading
services/camera/libcameraservice/device3/Camera3Stream.cpp +1 −4 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ Camera3Stream::Camera3Stream(int id, mLastMaxCount(Camera3StreamInterface::ALLOCATE_PIPELINE_MAX), mBufferLimitLatency(kBufferLimitLatencyBinSize), mFormatOverridden(false), mOriginalFormat(-1), mOriginalFormat(format), mDataSpaceOverridden(false), mOriginalDataSpace(HAL_DATASPACE_UNKNOWN), mPhysicalCameraId(physicalCameraId), Loading Loading @@ -125,9 +125,6 @@ void Camera3Stream::setUsage(uint64_t usage) { void Camera3Stream::setFormatOverride(bool formatOverridden) { mFormatOverridden = formatOverridden; if (formatOverridden && mOriginalFormat == -1) { mOriginalFormat = camera3_stream::format; } } bool Camera3Stream::isFormatOverridden() const { Loading
services/camera/libcameraservice/device3/Camera3Stream.h +2 −2 Original line number Diff line number Diff line Loading @@ -582,9 +582,9 @@ class Camera3Stream : static const int32_t kBufferLimitLatencyBinSize = 33; //in ms CameraLatencyHistogram mBufferLimitLatency; //Keep track of original format in case it gets overridden //Keep track of original format when the stream is created in case it gets overridden bool mFormatOverridden; int mOriginalFormat; const int mOriginalFormat; //Keep track of original dataSpace in case it gets overridden bool mDataSpaceOverridden; Loading