summaryrefslogtreecommitdiff
path: root/src/android
AgeCommit message (Expand)Author
2021-10-19android: camera_metadata: Rename get() to getMetadata()Umang Jain
2021-10-19android: camera_stream: Define explicit move constructor and destructorsLaurent Pinchart
2021-10-19android: camera_stream: Don't close fence if wait failsLaurent Pinchart
2021-10-19android: camera_request: Don't embed full camera3_stream_buffer_tLaurent Pinchart
2021-10-19android: camera_device: Use abortRequest() instead of open-coding itLaurent Pinchart
2021-10-19android: camera_stream: Return non-const pointer from camera3Stream()Laurent Pinchart
2021-10-19android: camera_stream: Pass StreamBuffer to process()Laurent Pinchart
2021-10-19android: camera_device: Create struct to track per stream bufferUmang Jain
2021-10-19android: camera_stream: Plumb process() with Camera3RequestDescriptorUmang Jain
2021-10-19android: camera_device: Build capture_result dynamicallyLaurent Pinchart
2021-10-19android: camera_request: Turn struct into a classLaurent Pinchart
2021-10-19camera_device: Remove private scope of Camera3RequestDescriptorUmang Jain
2021-10-19android: Re-order out-of-order completion pathJacopo Mondi
2021-10-19Revert "android: camera_device: Configure one stream for identical stream req...Jacopo Mondi
2021-10-15android: capabilities: Cap frame rate to 30 FPSJacopo Mondi
2021-10-15android: capabilties: Fix ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGESJacopo Mondi
2021-10-15android: Populate streams and duration in the same loopJacopo Mondi
2021-10-15android: capabilities: Print output stream listJacopo Mondi
2021-10-15android: Filter preview streams on FPSJacopo Mondi
2021-10-15android: capabilities: Collect absolute max frame durationsJacopo Mondi
2021-10-15android: capabilties: Correctly populate STALL durationsJacopo Mondi
2021-10-15android: capabilities: Use per-configuration durationsJacopo Mondi
2021-10-15android: capabilties: Assume controls::FrameDurationLimits is supportedJacopo Mondi
2021-10-15android: capabilities: Initialize camera state when building propertiesJacopo Mondi
2021-10-15android: capabilities: Collect per-stream frame durationsJacopo Mondi
2021-10-13android: Check if Stream configurations were generated correctlyJavier Martinez Canillas
2021-10-12android: camera_device: Fix crash in calling CameraDevice::close()Hirokazu Honda
2021-10-10android: camera_stream: Fix error message for buffer creationLaurent Pinchart
2021-10-06android: camera_stream: Set right format for processor output bufferHirokazu Honda
2021-09-30android: camera_device: Send capture results by inspecting the queueUmang Jain
2021-09-30android: camera_device: Mark abortRequest() and notifyError() as constUmang Jain
2021-09-30android: camera_device: Transform descriptors_ map to queueUmang Jain
2021-09-30android: camera_worker: Use Camera3RequestDescriptor as cookieUmang Jain
2021-09-29android: Wait on fences in CameraStream::process()Jacopo Mondi
2021-09-28android: camera_device: Fix race on queuing capture requestUmang Jain
2021-09-27android: Fix generation of thumbnail for EXIF dataUmang Jain
2021-09-27android: camera_capabilities: Clarify CameraMetadata allocationUmang Jain
2021-09-24android: camera_device: Return unique_ptr from createFrameBufferLaurent Pinchart
2021-09-22android: camera_device: Configure one stream for identical stream requestsHirokazu Honda
2021-09-22android: camera_stream: Support PostProcessorYuv in CameraStreamHirokazu Honda
2021-09-22android: camera_stream: Create post processor in configure()Hirokazu Honda
2021-09-21android: jpeg: Rectify variable naming style.Umang Jain
2021-09-21android: yuv: Remove CameraDevice forward-declareUmang Jain
2021-09-09android: jpeg: Split and pass the thumbnail planes to encoderUmang Jain
2021-09-09android: mm: cros_camera_buffer: Log failure error on cleanupUmang Jain
2021-09-07android: jpeg: Support multi-planar buffersLaurent Pinchart
2021-09-07android: jpeg: Use stride instead of image width for line addressLaurent Pinchart
2021-09-07android: camera_device: Don't assume all planes use the same fdLaurent Pinchart
2021-09-07libcamera: formats: Add planeSize() helpers to PixelFormatInfoLaurent Pinchart
2021-09-06android: Cleanup libcamera namespace usageUmang Jain
pan> cerr << "Control string mismatch after setting to uint8_t" << endl; return TestFail; } std::array<uint8_t, 4> bytes{ 3, 14, 15, 9 }; value.set(Span<uint8_t>(bytes)); if (value.isNone() || !value.isArray() || value.type() != ControlTypeByte) { cerr << "Control type mismatch after setting to uint8_t array" << endl; return TestFail; } Span<const uint8_t> int8sResult = value.get<Span<const uint8_t>>(); if (bytes.size() != int8sResult.size() || !std::equal(bytes.begin(), bytes.end(), int8sResult.begin())) { cerr << "Control value mismatch after setting to uint8_t array" << endl; return TestFail; } if (value.toString() != "[ 3, 14, 15, 9 ]") { cerr << "Control string mismatch after setting to uint8_t array" << endl; return TestFail; } /* * Integer32 type. */ value.set(0x42000000); if (value.isNone() || value.isArray() || value.type() != ControlTypeInteger32) { cerr << "Control type mismatch after setting to int32_t" << endl; return TestFail; } if (value.get<int32_t>() != 0x42000000) { cerr << "Control value mismatch after setting to int32_t" << endl; return TestFail; } if (value.toString() != "1107296256") { cerr << "Control string mismatch after setting to int32_t" << endl; return TestFail; } std::array<int32_t, 4> int32s{ 3, 14, 15, 9 }; value.set(Span<int32_t>(int32s)); if (value.isNone() || !value.isArray() || value.type() != ControlTypeInteger32) { cerr << "Control type mismatch after setting to int32_t array" << endl; return TestFail; } Span<const int32_t> int32sResult = value.get<Span<const int32_t>>(); if (int32s.size() != int32sResult.size() || !std::equal(int32s.begin(), int32s.end(), int32sResult.begin())) { cerr << "Control value mismatch after setting to int32_t array" << endl; return TestFail; } if (value.toString() != "[ 3, 14, 15, 9 ]") { cerr << "Control string mismatch after setting to int32_t array" << endl; return TestFail; } /* * Integer64 type. */ value.set(static_cast<int64_t>(-42)); if (value.isNone() || value.isArray() || value.type() != ControlTypeInteger64) { cerr << "Control type mismatch after setting to int64_t" << endl; return TestFail; } if (value.get<int64_t>() != -42) { cerr << "Control value mismatch after setting to int64_t" << endl; return TestFail; } if (value.toString() != "-42") { cerr << "Control string mismatch after setting to int64_t" << endl; return TestFail; } std::array<int64_t, 4> int64s{ 3, 14, 15, 9 }; value.set(Span<int64_t>(int64s)); if (value.isNone() || !value.isArray() || value.type() != ControlTypeInteger64) { cerr << "Control type mismatch after setting to int64_t array" << endl; return TestFail; } Span<const int64_t> int64sResult = value.get<Span<const int64_t>>(); if (int64s.size() != int64sResult.size() || !std::equal(int64s.begin(), int64s.end(), int64sResult.begin())) { cerr << "Control value mismatch after setting to int64_t array" << endl; return TestFail; } if (value.toString() != "[ 3, 14, 15, 9 ]") { cerr << "Control string mismatch after setting to int64_t array" << endl; return TestFail; } /* * Float type. */ value.set(-0.42f); if (value.isNone() || value.isArray() || value.type() != ControlTypeFloat) { cerr << "Control type mismatch after setting to float" << endl; return TestFail; } if (value.get<float>() != -0.42f) { cerr << "Control value mismatch after setting to float" << endl; return TestFail; } if (value.toString() != "-0.420000") { cerr << "Control string mismatch after setting to float" << endl; return TestFail; } std::array<float, 3> floats{ 3.141593, 2.718282, 299792458.0 }; value.set(Span<float>(floats)); if (value.isNone() || !value.isArray() || value.type() != ControlTypeFloat) { cerr << "Control type mismatch after setting to float array" << endl; return TestFail; } Span<const float> floatsResult = value.get<Span<const float>>(); if (floats.size() != floatsResult.size() || !std::equal(floats.begin(), floats.end(), floatsResult.begin())) { cerr << "Control value mismatch after setting to float array" << endl; return TestFail; } /* * The string representation for the third value doesn't match * the value in the floats array above, due to limited precision * of the float type that can't properly represent the speed of * light. */ if (value.toString() != "[ 3.141593, 2.718282, 299792448.000000 ]") { cerr << "Control string mismatch after setting to float array" << endl; return TestFail; } /* * String type. */ std::string string{ "libcamera" }; value.set(string); if (value.isNone() || !value.isArray() || value.type() != ControlTypeString || value.numElements() != string.size()) { cerr << "Control type mismatch after setting to string" << endl; return TestFail; } if (value.get<std::string>() != string) { cerr << "Control value mismatch after setting to string" << endl; return TestFail; } if (value.toString() != string) { cerr << "Control string mismatch after setting to string" << endl; return TestFail; } return TestPass; } }; TEST_REGISTER(ControlValueTest)