summaryrefslogtreecommitdiff
path: root/src/v4l2/v4l2_camera.h
AgeCommit message (Expand)Author
2020-10-21v4l2: camera: Prevent shadowing within V4L2Camera::BufferKieran Bingham
2020-10-12libcamera, android, cam, gstreamer, qcam, v4l2: Reuse RequestPaul Elder
2020-08-25v4l2: camera: Merge getStreamConfig() with open()Laurent Pinchart
2020-07-10v4l2: v4l2_camera_proxy: Use stream config in tryFormatPaul Elder
2020-06-25v4l2: v4l2_camera: Don't use libcamera::Semaphore for available buffersPaul Elder
2020-06-25v4l2: v4l2_camera: Add isRunning()Paul Elder
2020-06-25v4l2: v4l2_compat: Support multiple openPaul Elder
2020-06-08v4l2: v4l2_compat: Add eventfd signaling to support pollingPaul Elder
2020-05-28v4l2: Relicense V4L2 compatibility layer under LGPLLaurent Pinchart
2020-05-16libcamera: Move internal headers to include/libcamera/internal/Laurent Pinchart
2020-03-18libcamera: PixelFormat: Mark all function arguments of type PixelFormat as co...Niklas Söderlund
2020-02-13v4l2: Remove internal threadLaurent Pinchart
2020-01-12libcamera: Switch to FrameBuffer interfaceNiklas Söderlund
2020-01-12libcamera: buffer: Move captured metadata to FrameMetadataNiklas Söderlund
2020-01-12v4l2: camera: Handle memory mapping of buffers directlyNiklas Söderlund
2020-01-12v4l2: Rename FrameMetadata to V4L2FrameMetadataNiklas Söderlund
2020-01-07v4l2: Use Object::invokeMethod() return valueLaurent Pinchart
2020-01-03v4l2: v4l2_compat: Add V4L2 compatibility layerPaul Elder
pan>SizeRange &size : sizes) { cout << " mbus code: 0x" << setfill('0') << setw(4) << hex << code << endl; cout << " min width: " << dec << size.minWidth << endl; cout << " min height: " << dec << size.minHeight << endl; cout << " max width: " << dec << size.maxWidth << endl; cout << " max height: " << dec << size.maxHeight << endl; } } int ListFormatsTest::run() { /* List all formats available on existing "Scaler" pads. */ std::map<unsigned int, std::vector<SizeRange>> formats; formats = scaler_->formats(0); if (formats.empty()) { cerr << "Failed to list formats on pad 0 of subdevice " << scaler_->deviceName() << endl; return TestFail; } for (auto it = formats.begin(); it != formats.end(); ++it) printFormats(0, it->first, it->second); formats = scaler_->formats(1); if (formats.empty()) { cerr << "Failed to list formats on pad 1 of subdevice " << scaler_->deviceName() << endl; return TestFail; } for (auto it = formats.begin(); it != formats.end(); ++it) printFormats(1, it->first, it->second); /* List format on a non-existing pad, format vector shall be empty. */ formats = scaler_->formats(2); if (!formats.empty()) { cerr << "Listing formats on non-existing pad 2 of subdevice " << scaler_->deviceName() << " should return an empty format list" << endl; return TestFail; } return TestPass; } TEST_REGISTER(ListFormatsTest);