Re: vivi kernel driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Check some patches from Kirill Smelkov like:

https://patchwork.kernel.org/patch/1688591/

On Tue, Apr 9, 2013 at 9:58 AM, Michal Lazo <michal.lazo@xxxxxxxxxxx> wrote:
> I want to make API that will provide hw video decoder on Amlogic SOC
> it is ARM cortex 9
>
> with some proprietary video decoder
>
> amlogic provide me with working example that generate output frames in
> amlvideo driver.
> It is v4l2 driver
> and it did memcpy to mmap userspace memory
>
>     buffer_y_start=ioremap(cs0.addr,cs0.width*cs0.height);
>     for(i=0;i<buf->vb.height;i++) {
>                 memcpy(vbuf + pos_dst, buffer_y_start+pos_src, buf->vb.width*3);
>                 pos_dst+=buf->vb.width*3;
>                 pos_src+= cs0.width;
>         }
>
> I did it with one memcpy with same cpu load
>
> https://github.com/Pivosgroup/buildroot-linux-kernel/blob/master/drivers/media/video/amlvideo/amlvideo.c#L218
>
> top get me 50% cpu load on this driver for 25fps PAL
>
> it is really too much
>
> and funny is that vivi driver(amlvideo is completely base on vivi) get
> me same cpu load
>
> it looks like memcpy isn't cached or something but I don't know how to
> identify problem
> Any idea how to identify this problem.
>
> On Mon, Apr 8, 2013 at 2:46 PM, Hans Verkuil <hverkuil@xxxxxxxxx> wrote:
>> On Mon April 8 2013 14:42:32 Michal Lazo wrote:
>>> Hi
>>> 720x576 RGB 25, 30 fps and it take
>>>
>>> 25% cpu load on raspberry pi(ARM 700Mhz linux 3.6.11) or 8% on x86(AMD
>>> 2GHz linux 3.2.0-39)
>>>
>>> it is simply too much
>>
>> No, that's what I would expect. Note that vivi was substantially improved recently
>> when it comes to the image generation. That will be in the upcoming 3.9 kernel.
>>
>> This should reduce CPU load by quite a bit if memory serves.
>>
>> Regards,
>>
>>         Hans
>>
>>>
>>>
>>>
>>>
>>> On Mon, Apr 8, 2013 at 9:42 AM, Peter Senna Tschudin
>>> <peter.senna@xxxxxxxxx> wrote:
>>> > Dear Michal,
>>> >
>>> > The CPU intensive part of the vivi driver is the image generation.
>>> > This is not an issue for real drivers.
>>> >
>>> > Regards,
>>> >
>>> > Peter
>>> >
>>> > On Sun, Apr 7, 2013 at 9:32 PM, Michal Lazo <michal.lazo@xxxxxxxxxxx> wrote:
>>> >> Hi
>>> >> V4L2 driver vivi
>>> >> generate 25% cpu load on raspberry pi(linux 3.6.11) or 8% on x86(linux 3.2.0-39)
>>> >>
>>> >> player
>>> >> GST_DEBUG="*:3,v4l2src:3,v4l2:3" gst-launch-0.10 v4l2src
>>> >> device="/dev/video0" norm=255 ! video/x-raw-rgb, width=720,
>>> >> height=576, framerate=30000/1001 ! fakesink sync=false
>>> >>
>>> >> Anybody can answer me why?
>>> >> And how can I do it better ?
>>> >>
>>> >> I use vivi as base example for my driver
>>> >> --
>>> >> To unsubscribe from this list: send the line "unsubscribe linux-media" in
>>> >> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> >
>>> >
>>> >
>>> > --
>>> > Peter
>>>
>>>
>>>
>>>
>
>
>
> --
> Best Regards
>
> Michal Lazo
> Senior developer manager
> mdragon.org
> Slovakia



-- 
Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux