All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
To: "Jernej Škrabec" <jernej.skrabec@gmail.com>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Samuel Holland" <samuel@sholland.org>,
	"Chen-Yu Tsai" <wenst@chromium.org>
Cc: linux-media@vger.kernel.org, linux-sunxi@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Nicolas Dufresne <nicolas.dufresne@collabora.com>
Subject: Re: [PATCH] media: cedrus: Convert to MPLANE uAPI
Date: Tue, 6 Dec 2022 09:34:59 +0100	[thread overview]
Message-ID: <5d79ed06-15c0-3564-97b6-5fd4433acabf@xs4all.nl> (raw)
In-Reply-To: <45143854.fMDQidcC6G@kista>

On 05/12/2022 22:01, Jernej Škrabec wrote:
> Hi Chen-Yu!
> 
> Dne torek, 29. november 2022 ob 08:45:30 CET je Chen-Yu Tsai napisal(a):
>> The majority of the V4L2 stateless video decoder drivers use the MPLANE
>> interface.
>>
>> On the userspace side, Gstreamer supports non-MPLANE and MPLANE
>> interfaces. Chromium only supports the MPLANE interface, and is not yet
>> usable with standard desktop Linux. FFmpeg support for either has not
>> landed.
> 
> I don't like fixing userspace issues in kernel, if kernel side works fine. 
> Implementing missing non-MPLANE support in Chromium will also allow it to work 
> with older kernels.
> 
> Hans, what's linux-media politics about such changes?

Not keen on this. Does the cedrus HW even have support for multiple planes?
I suspect not, in which case the driver shouldn't suggest that it can do that.

Now, if the hardware *can* support this, then there is an argument to be made
for the cedrus driver to move to the multiplanar API before moving it out
of staging to allow such future enhancements.

Note that you have to choose whether to support single or multiplanar, you
can't support both at the same time.

So the decision to move to multiplanar should be led by the HW capabilities.

And Chromium really needs to support non-multiplanar formats as well. I'm
really surprised to hear that it doesn't, to be honest.

Regards,

	Hans

> 
> Best regards,
> Jernej
> 
>>
>> A fallback route using libv4l is also available. The library translates
>> MPLANE interface ioctl calls to non-MPLANE ones, provided that the pixel
>> format used is single plane.
>>
>> Convert the Cedrus driver to the MPLANE interface, while keeping the
>> supported formats single plane. Besides backward compatibility through
>> the plugin, the hardware requires that different planes not be located
>> too far apart in memory. Keeping the single plane pixel format makes
>> this easy to enforce.
>>
>> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
>> ---
>>
>> This has been tested with Fluster. The score remained the same with or
>> without the patch. This also helps with getting VP8 decoding working
>> with Chromium's in-tree test program "video_decode_accelerator_tests",
>> though Chromium requires other changes regarding buffer allocation and
>> management.
> 
> 


WARNING: multiple messages have this Message-ID (diff)
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
To: "Jernej Škrabec" <jernej.skrabec@gmail.com>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Samuel Holland" <samuel@sholland.org>,
	"Chen-Yu Tsai" <wenst@chromium.org>
Cc: linux-media@vger.kernel.org, linux-sunxi@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Nicolas Dufresne <nicolas.dufresne@collabora.com>
Subject: Re: [PATCH] media: cedrus: Convert to MPLANE uAPI
Date: Tue, 6 Dec 2022 09:34:59 +0100	[thread overview]
Message-ID: <5d79ed06-15c0-3564-97b6-5fd4433acabf@xs4all.nl> (raw)
In-Reply-To: <45143854.fMDQidcC6G@kista>

On 05/12/2022 22:01, Jernej Škrabec wrote:
> Hi Chen-Yu!
> 
> Dne torek, 29. november 2022 ob 08:45:30 CET je Chen-Yu Tsai napisal(a):
>> The majority of the V4L2 stateless video decoder drivers use the MPLANE
>> interface.
>>
>> On the userspace side, Gstreamer supports non-MPLANE and MPLANE
>> interfaces. Chromium only supports the MPLANE interface, and is not yet
>> usable with standard desktop Linux. FFmpeg support for either has not
>> landed.
> 
> I don't like fixing userspace issues in kernel, if kernel side works fine. 
> Implementing missing non-MPLANE support in Chromium will also allow it to work 
> with older kernels.
> 
> Hans, what's linux-media politics about such changes?

Not keen on this. Does the cedrus HW even have support for multiple planes?
I suspect not, in which case the driver shouldn't suggest that it can do that.

Now, if the hardware *can* support this, then there is an argument to be made
for the cedrus driver to move to the multiplanar API before moving it out
of staging to allow such future enhancements.

Note that you have to choose whether to support single or multiplanar, you
can't support both at the same time.

So the decision to move to multiplanar should be led by the HW capabilities.

And Chromium really needs to support non-multiplanar formats as well. I'm
really surprised to hear that it doesn't, to be honest.

Regards,

	Hans

> 
> Best regards,
> Jernej
> 
>>
>> A fallback route using libv4l is also available. The library translates
>> MPLANE interface ioctl calls to non-MPLANE ones, provided that the pixel
>> format used is single plane.
>>
>> Convert the Cedrus driver to the MPLANE interface, while keeping the
>> supported formats single plane. Besides backward compatibility through
>> the plugin, the hardware requires that different planes not be located
>> too far apart in memory. Keeping the single plane pixel format makes
>> this easy to enforce.
>>
>> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
>> ---
>>
>> This has been tested with Fluster. The score remained the same with or
>> without the patch. This also helps with getting VP8 decoding working
>> with Chromium's in-tree test program "video_decode_accelerator_tests",
>> though Chromium requires other changes regarding buffer allocation and
>> management.
> 
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-12-06  8:35 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-29  7:45 [PATCH] media: cedrus: Convert to MPLANE uAPI Chen-Yu Tsai
2022-11-29  7:45 ` Chen-Yu Tsai
2022-12-05 21:01 ` Jernej Škrabec
2022-12-05 21:01   ` Jernej Škrabec
2022-12-06  8:34   ` Hans Verkuil [this message]
2022-12-06  8:34     ` Hans Verkuil
2022-12-06 12:23     ` Chen-Yu Tsai
2022-12-06 12:23       ` Chen-Yu Tsai
2022-12-06 19:15       ` Nicolas Dufresne
2022-12-06 19:15         ` Nicolas Dufresne
2022-12-07  8:05         ` Hans Verkuil
2022-12-07  8:05           ` Hans Verkuil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5d79ed06-15c0-3564-97b6-5fd4433acabf@xs4all.nl \
    --to=hverkuil-cisco@xs4all.nl \
    --cc=jernej.skrabec@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=mchehab@kernel.org \
    --cc=nicolas.dufresne@collabora.com \
    --cc=samuel@sholland.org \
    --cc=wenst@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.