2017-11-28 11:56:26

by Giulio Benetti

[permalink] [raw]
Subject: Re: [linux-sunxi] Cedrus driver

Hi Thomas,

Il 28/11/2017 12:29, Thomas van Kleef ha scritto:
> Hi,
>
> On 28-11-17 12:26, Giulio Benetti wrote:
>> Hi Thomas,
>>
>> Il 28/11/2017 12:20, Thomas van Kleef ha scritto:
>>> On 28-11-17 10:50, Giulio Benetti wrote:
>>>> Hi Maxime,
>>>>
>>>> Il 28/11/2017 09:35, Maxime Ripard ha scritto:
>>>>> On Tue, Nov 28, 2017 at 01:03:59AM +0100, Giulio Benetti wrote:
>>>>>> Hi Maxime,
>>>>>>
>>>>>> Il 16/11/2017 14:42, Giulio Benetti ha scritto:
>>>>>>> Hi,
>>>>>>>
>>>>>>> Il 16/11/2017 14:39, Maxime Ripard ha scritto:
>>>>>>>> On Thu, Nov 16, 2017 at 02:17:08PM +0100, Giulio Benetti wrote:
>>>>>>>>> Hi Hans,
>>>>>>>>>
>>>>>>>>> Il 16/11/2017 14:12, Hans Verkuil ha scritto:
>>>>>>>>>> On 16/11/17 13:57, Giulio Benetti wrote:
>>>>>>>>>>> Il 16/11/2017 13:53, Maxime Ripard ha scritto:
>>>>>>>>>>>> On Thu, Nov 16, 2017 at 01:30:52PM +0100, Giulio Benetti wrote:
>>>>>>>>>>>>>> On Thu, Nov 16, 2017 at 11:37:30AM +0100, Giulio Benetti wrote:
>>>>>>>>>>>>>>> Il 16/11/2017 11:31, Andreas Baierl ha scritto:
>>>>>>>>>>>>>>>> Am 16.11.2017 um 11:13 schrieb Giulio Benetti:
>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>> I'm wondering why cedrus
>>>>>>>>>>>>>>>>> https://github.com/FlorentRevest/linux-sunxi-cedrus
>>>>>>>>>>>>>>>>> has never been
>>>>>>>>>>>>>>>>> merged with linux-sunxi sunxi-next.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Because it is not ready to be
>>>>>>>>>>>>>>>> merged. It depends on the v4l2
>>>>>>>>>>>>>>>> request
>>>>>>>>>>>>>>>> API, which was not merged and which is re-worked atm.
>>>>>>>>>>>>>>>> Also, sunxi-cedrus itself is not in
>>>>>>>>>>>>>>>> a finished state and is not as
>>>>>>>>>>>>>>>> feature-complete to be merged. Anyway it might be something for
>>>>>>>>>>>>>>>> staging... Has there been a [RFC] on the mailing list at all?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Where can I find a list of TODOs to get it ready to be merged?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Assuming that the request API is in, we'd need to:
>>>>>>>>>>>>>> ������� - Finish the MPEG4 support
>>>>>>>>>>>>>> ������� - Work on more useful codecs (H264 comes to my mind)
>>>>>>>>>>>>>> ������� - Implement the DRM planes support for
>>>>>>>>>>>>>> the custom frame format
>>>>>>>>>>>>>> ������� - Implement the DRM planes support for scaling
>>>>>>>>>>>>>> ������� - Test it on more SoCs
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Or something along those lines.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Lot of work to do
>>>>>>>>>>>>
>>>>>>>>>>>> Well... If it was fast and easy it would have been done already :)
>>>>>>>>>>>
>>>>>>>>>>> :))
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I see it seems to be dead, no commit in 1 year.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Yes, because the author did this
>>>>>>>>>>>>>>>> during an internship, which ended
>>>>>>>>>>>>>>>> ...
>>>>>>>>>>>>>>>> Afaik nobody picked up his work yet.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> That's not entirely true. Some work has been
>>>>>>>>>>>>>> done by Thomas (in CC),
>>>>>>>>>>>>>> especially on the display engine side, but last time we talked his
>>>>>>>>>>>>>> work was not really upstreamable.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> We will also resume that effort starting next march.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Is it possible a preview on a separate
>>>>>>>>>>>>> Reporitory to start working on now?
>>>>>>>>>>>>> Expecially to start porting everything done by
>>>>>>>>>>>>> FlorentRevest to mainline,
>>>>>>>>>>>>> admitted you've not already done.
>>>>>>>>>>>>
>>>>>>>>>>>> I'm not sure what you're asking for. Florent's work
>>>>>>>>>>>> *was* on mainline.
>>>>>>>>>>>
>>>>>>>>>>> and then they took it off because it was unmantained?
>>>>>>>>>>> You've spoken about Thomas(in CC) not ready,
>>>>>>>>>>> maybe I could help on that if it's public to accelerate.
>>>>>>>>>>> If I'm able to of course, this is my primary concern.
>>>>>>>>>>>
>>>>>>>>>>> Otherwise, in which way can I help improving it to make
>>>>>>>>>>> it accept to linux-sunxi?
>>>>>>>>>>> Starting from Florent's work and porting it to sunxi-next to begin?
>>>>>>>>>>> And after that adding all features you've listed?
>>>>>>>>>>> Tell me what I can do(I repeat, if I'm able to).
>>>>>>>>>>
>>>>>>>>>> The bottleneck is that the Request API is not mainlined. We
>>>>>>>>>> restarted work
>>>>>>>>>> on it after a meeting a few weeks back where we all agreed
>>>>>>>>>> on the roadmap
>>>>>>>>>> so hopefully it will go into mainline Q1 or Q2 next year.
>>>>>>>>>>
>>>>>>>>>> That said, you can use Florent's patch series for further development.
>>>>>>>>>> It should be relatively easy to convert it to the final version of the
>>>>>>>>>> Request API. Just note that the public API of the final
>>>>>>>>>> Request API will
>>>>>>>>>> be somewhat different from the old version Florent's patch
>>>>>>>>>> series is using.
>>>>>>>>>
>>>>>>>>> So I'm going to try soon to :
>>>>>>>>> 1) adapt that patchset to sunxi-next
>>>>>>>>> 2) add A20 support
>>>>>>>>> 3) add A33 support
>>>>>>>>> 4) after mainlined APIs, merge
>>>>>>>>
>>>>>>>> That sounds good. Thomas already has the support for the A20, and as I
>>>>>>>> was saying, there is someone that is going to work full time on this
>>>>>>>> in a couple monthes on our side.
>>>>>>>>
>>>>>>>> I'll set up a git repo on github so that we can collaborate until the
>>>>>>>> request API is ready.
>>>>>>
>>>>>> Any news about git repo?
>>>>>> When do you plan to do it more or less?
>>>>>
>>>>> I started to do it yesterday.
>>>>>
>>>>> https://github.com/free-electrons/linux-cedrus
>>>>> https://github.com/free-electrons/libva-cedrus
>>>>
>>>> Great, I'm cloning.
>>>> 1st: have it working with A20 with kernel as is and libva as buildroot package
>>>> 2nd: porting to sunxi-next branch of linux-sunxi and check libva if can work as is
>>>>
>>>> Thank you
>>>> So, I have been rebasing to 4.14.0 and have the cedrus driver working.
>>> I have pulled linux-mainline 4.14.0. Then pulled the requests2 branch from Hans
>>> Verkuil's media_tree. I have a patch available of the merge between these 2
>>> branches.
>>> After this I pulled the sunxi-cedrus repository from Florent Revests github. I
>>> believe this one is the same as the ones you are cloning right now.
>>> I have merged this and have a patch available for this as well.
>>>
>>> So to summarize:
>>> � o pulled linux 4.14 from:
>>> ���� https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>> � o pulled requests2 from:
>>> ���� https://git.linuxtv.org/hverkuil/media_tree.git?h=requests2
>>> ���� will be replaced with the work, when it is done, in:
>>> ����� https://git.linuxtv.org/hverkuil/media_tree.git?h=ctrl-req-v2
>>> � o pulled linux-sunxi-cedrus from:
>>> ���� https://github.com/FlorentRevest/linux-sunxi-cedrus
>>>
>>> � o merged and made patch between linux4.14 and requests2
>>> � o merged and made patch with linux-sunxi-cedrus
>>> � o Verified that the video-engine is decofing mpeg-2 on the Allwinner A20.
>>>
>>> So maybe if someone is interested in this, I could place the patches somewhere?
>>> Just let me know.
>>
>> Sure it's interesting!
>> You could setup your github repo with all you patches applied as commits, but I think you should work against linux-sunxi sunxi-next branch.
>>
>>>
>>> It would be nice to be able to play a file, so I would have to prepare our
>>> custom player and make a patch between the current sunxi-cedrus-drv-video and
>>> the one on https://github.com/FlorentRevest/sunxi-cedrus-drv-video.
>>> So I will start with this if there is any interest.
>>
>> I am interested for sure.
>>
>>>
>>> Should I be working in sunxi-next I wonder?
>>
>> Yes, this is the best way, cedrus is very specific to sunxi.
>> So before working on mainline, I think the best is to work un sunxi-next branch.
> Is the requests2 api in sunxi-next?

It should be there,
take a look at latest commit of yesterday:
https://github.com/linux-sunxi/linux-sunxi/commit/df7cacd062cd84c551d7e72f15b1af6d71abc198

>>
>> Is it right Maxime?
>>
>>>>>
>>>>> Maxime
>>>>>
>>>>
>>>>
>>
>>
> Thomas
>


--
Giulio Benetti
R&D Manager &
Advanced Research

MICRONOVA SRL
Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
Tel. 049/8931563 - Fax 049/8931346
Cod.Fiscale - P.IVA 02663420285
Capitale Sociale � 26.000 i.v.
Iscritta al Reg. Imprese di Padova N. 02663420285
Numero R.E.A. 258642

From 1585309283169943716@xxx Tue Nov 28 11:32:26 +0000 2017
X-GM-THRID: 1584225895006680074
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread