[libcamera-devel] [PATCH 5/5] test: v4l2_device: Switch most tests to vimc

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat May 11 15:39:18 CEST 2019


Hi Niklas,

On Sat, May 11, 2019 at 01:07:26PM +0200, Niklas Söderlund wrote:
> On 2019-05-11 05:49:27 +0300, Laurent Pinchart wrote:
> > On Wed, May 08, 2019 at 06:58:14PM +0200, Niklas Söderlund wrote:
> >> The vimc driver delivers frames much faster then the vivid driver hence
> >> most v4l2 device tests complete much quicker if vimc is used. The only
> >> v4l2 device test which can't be switched is buffer_sharing as it needs
> >> to import buffers somewhere, something vimc do not support.
> >> 
> >> With this change I manage to shave of almost 7 seconds for each run of
> >> all v4l2 device tests.
> >> 
> >> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> > 
> > Nice improvement!
> > 
> > How does this work after you reset all the links without enabling new
> > ones ?
> 
> All tests based on vimc uses the "Raw Capture 0" node which is enabled 
> with an immutable link so there is no need (yet) to explicit enable 
> links for vimc based tests.
> 
> I'm hoping we can get vimc multistreaming support upstream somehow and a 
> test based on that would need to enable links in it's run() before 
> executing its tests.

OK.

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> >> ---
> >>  test/v4l2_device/capture_async.cpp   | 2 +-
> >>  test/v4l2_device/double_open.cpp     | 2 +-
> >>  test/v4l2_device/formats.cpp         | 2 +-
> >>  test/v4l2_device/request_buffers.cpp | 2 +-
> >>  test/v4l2_device/stream_on_off.cpp   | 2 +-
> >>  5 files changed, 5 insertions(+), 5 deletions(-)
> >> 
> >> diff --git a/test/v4l2_device/capture_async.cpp b/test/v4l2_device/capture_async.cpp
> >> index fd428ff909f32999..69b1d5a13ed8675a 100644
> >> --- a/test/v4l2_device/capture_async.cpp
> >> +++ b/test/v4l2_device/capture_async.cpp
> >> @@ -18,7 +18,7 @@ class CaptureAsyncTest : public V4L2DeviceTest
> >>  {
> >>  public:
> >>  	CaptureAsyncTest()
> >> -		: V4L2DeviceTest("vivid", "vivid-000-vid-cap"), frames(0) {}
> >> +		: V4L2DeviceTest("vimc", "Raw Capture 0"), frames(0) {}
> >>  
> >>  	void receiveBuffer(Buffer *buffer)
> >>  	{
> >> diff --git a/test/v4l2_device/double_open.cpp b/test/v4l2_device/double_open.cpp
> >> index b402de04fca5ddbb..53850620889b0972 100644
> >> --- a/test/v4l2_device/double_open.cpp
> >> +++ b/test/v4l2_device/double_open.cpp
> >> @@ -15,7 +15,7 @@ class DoubleOpen : public V4L2DeviceTest
> >>  {
> >>  public:
> >>  	DoubleOpen()
> >> -		: V4L2DeviceTest("vivid", "vivid-000-vid-cap") {}
> >> +		: V4L2DeviceTest("vimc", "Raw Capture 0") {}
> >>  protected:
> >>  	int run()
> >>  	{
> >> diff --git a/test/v4l2_device/formats.cpp b/test/v4l2_device/formats.cpp
> >> index 3ac47f5cc665b62b..6be045ff754c4258 100644
> >> --- a/test/v4l2_device/formats.cpp
> >> +++ b/test/v4l2_device/formats.cpp
> >> @@ -19,7 +19,7 @@ class Format : public V4L2DeviceTest
> >>  {
> >>  public:
> >>  	Format()
> >> -		: V4L2DeviceTest("vivid", "vivid-000-vid-cap") {}
> >> +		: V4L2DeviceTest("vimc", "Raw Capture 0") {}
> >>  protected:
> >>  	int run()
> >>  	{
> >> diff --git a/test/v4l2_device/request_buffers.cpp b/test/v4l2_device/request_buffers.cpp
> >> index 794b083eb84d8d2e..7b7b06b2b409bd23 100644
> >> --- a/test/v4l2_device/request_buffers.cpp
> >> +++ b/test/v4l2_device/request_buffers.cpp
> >> @@ -11,7 +11,7 @@ class RequestBuffersTest : public V4L2DeviceTest
> >>  {
> >>  public:
> >>  	RequestBuffersTest()
> >> -		: V4L2DeviceTest("vivid", "vivid-000-vid-cap") {}
> >> +		: V4L2DeviceTest("vimc", "Raw Capture 0") {}
> >>  
> >>  protected:
> >>  	int run()
> >> diff --git a/test/v4l2_device/stream_on_off.cpp b/test/v4l2_device/stream_on_off.cpp
> >> index 4902d5fd6d58a73d..b158b8e402c83156 100644
> >> --- a/test/v4l2_device/stream_on_off.cpp
> >> +++ b/test/v4l2_device/stream_on_off.cpp
> >> @@ -11,7 +11,7 @@ class StreamOnStreamOffTest : public V4L2DeviceTest
> >>  {
> >>  public:
> >>  	StreamOnStreamOffTest()
> >> -		: V4L2DeviceTest("vivid", "vivid-000-vid-cap") {}
> >> +		: V4L2DeviceTest("vimc", "Raw Capture 0") {}
> >>  protected:
> >>  	int run()
> >>  	{

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list