lkml.org 
[lkml]   [2020]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 0/6] ARM: dts: sun8i: v3s: Enable video decoder


On Mon, 16 Nov 2020, Hans Verkuil wrote:

> On 15/11/2020 19:59, Martin Cerveny wrote:
>> Hello.
>>
>> On Thu, 5 Nov 2020, Hans Verkuil wrote:
>>
>>> Hi Martin,
>>>
>>> On 12/09/2020 16:30, Martin Cerveny wrote:
>>>> First patch extends cedrus capability to all decoders
>>>> because V3s missing MPEG2 decoder.
>>>>
>>>> Next two patches add system control node (SRAM C1) and
>>>> next three patches add support for Cedrus VPU.
>>>>
>>>> Tested on "Lichee Zero" V3s platform with testing LCD patch
>>>> ( https://github.com/mcerveny/linux/tree/v3s_videocodec_v4 )
>>>> and V4L2 raw API testing utility
>>>> ( https://github.com/mcerveny/v4l2-request-test ):
>>>> - enabled LCD (DRM dual VI and sigle UI planes)
>>>> - added RGB panel
>>>> - enabled PWM
>>>>
>>>> There is low memory on V3s (64MB) and maximum must be available to CMA:
>>>> - CONFIG_CMA_SIZE_MBYTES=28
>>>> - add swap to swapout other processes
>>>> - decrease buffers in v4l2-request-test (.buffers_count from 16 to 6)
>>>>
>>>> Only H.264 decoder working - MPEG and H.265 unsupported by V3s,
>>>> JPEG/MJPEG still unimplemented, encoder unimplemented
>>>
>>> When I tried to merged these patches I got merge conflicts.
>>>
>>> Possibly due to other 5.10 changes, but certainly because of conflicts
>>> with patches from Jernej:
>>>
>>> https://patchwork.linuxtv.org/project/linux-media/patch/20200825173523.1289379-4-jernej.skrabec@siol.net/
>>> https://patchwork.linuxtv.org/project/linux-media/patch/20200825173523.1289379-5-jernej.skrabec@siol.net/
>>>
>>> I've merged Jerne's patches and posted a PR for that:
>>> https://patchwork.linuxtv.org/project/linux-media/patch/f3b8e5e2-5f0e-fb6f-e5b2-7f44f7e365e7@xs4all.nl/
>>>
>>> Can you rebase your patches on top of my branch that contains Jernej's patches?
>>>
>>> https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=for-v5.11e
>>>
>>> Once my PR is merged into the media_tree master I can take your rebased
>>> patches.
>>
>> I updated patches:
>> https://github.com/mcerveny/linux/tree/media_tree_for-v5.11e
>>
>> BUT, commit (555 commits) for v5.10-1
>> https://github.com/torvalds/linux/commit/fd5c32d80884268a381ed0e67cccef0b3d37750b
>> disrupts usability of Cedrus H.264 (at least for my Allwinner V3s):
>>
>> 1) colors are disrupted
>>
>> There are missing some initialization now.
>>
>> If I use "5.9" compatible code
>> (last bisect good point https://github.com/torvalds/linux/commit/647412daeb454b6dad12a6c6961ab90aac9e5d29 )
>> then reboot (not power-off!) and use new code
>> ( https://github.com/mcerveny/linux/tree/media_tree_for-v5.11e )
>> and colors are OK.
>
> Could this or the next issue be related to this bug fix?
>
> https://git.linuxtv.org/media_tree.git/commit/?h=fixes&id=9ac924b98728c3733c91c6c59fc410827d0da49f
>
> That fix isn't yet in our master tree.

Confirmed. It recovers colors !

>>
>> 2) decoding of complex streams fails
>>
>> ( https://github.com/mcerveny/v4l2-request-test/tree/v5.10 )
>> - bbb-h264-all-i-32 - OK
>> - bbb-h264-32 - bad from frame 5
>> - bbb-h264-high-32 - bad from frame 6
>
> I think cedrus devs need to take a look at these issues.

Maybe something wrong in my testing code,
problematic commit swapped some variables between structures :-(

I try to investigate more, regards Martin

> Regards,
>
> Hans
>
>>
>> best regards,
>> Martin
>>
>>>> Changes since v1:
>>>> - patch 0005 rename
>>>> - added testing description
>>>>
>>>> Martin Cerveny (6):
>>>> media: cedrus: Register all codecs as capability
>>>> dt-bindings: sram: allwinner,sun4i-a10-system-control: Add V3s
>>>> compatibles
>>>> ARM: dts: sun8i: v3s: Add node for system control
>>>> media: cedrus: Add support for V3s
>>>> dt-bindings: media: cedrus: Add V3s compatible
>>>> ARM: dts: sun8i: v3s: Add video engine node
>>>>
>>>> .../allwinner,sun4i-a10-video-engine.yaml | 1 +
>>>> .../allwinner,sun4i-a10-system-control.yaml | 6 ++++
>>>> arch/arm/boot/dts/sun8i-v3s.dtsi | 33 +++++++++++++++++++
>>>> drivers/staging/media/sunxi/cedrus/cedrus.c | 28 +++++++++++++++-
>>>> drivers/staging/media/sunxi/cedrus/cedrus.h | 2 ++
>>>> .../staging/media/sunxi/cedrus/cedrus_video.c | 2 ++
>>>> 6 files changed, 71 insertions(+), 1 deletion(-)
>>>>
>>>
>

\
 
 \ /
  Last update: 2020-11-16 10:42    [W:2.119 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site