Re: [PATCH v3 0/2] media: cedrus: Add H264 decoding support

From: Tomasz Figa
Date: Tue Feb 12 2019 - 07:50:35 EST


Hi Maxime,

On Mon, Feb 11, 2019 at 11:39 PM Maxime Ripard
<maxime.ripard@xxxxxxxxxxx> wrote:
>
> Hi,
>
> Here is a new version of the H264 decoding support in the cedrus
> driver.

Thanks for working on this. Please see my comments below.

>
> As you might already know, the cedrus driver relies on the Request
> API, and is a reverse engineered driver for the video decoding engine
> found on the Allwinner SoCs.
>
> This work has been possible thanks to the work done by the people
> behind libvdpau-sunxi found here:
> https://github.com/linux-sunxi/libvdpau-sunxi/
>
> I've tested the various ABI using this gdb script:
> http://code.bulix.org/jl4se4-505620?raw
>
> And this test script:
> http://code.bulix.org/8zle4s-505623?raw
>
> The application compiled is quite trivial:
> http://code.bulix.org/e34zp8-505624?raw
>
> The output is:
> arm: builds/arm-test-v4l2-h264-structures
> SHA1: 88cbf7485ba81831fc3b93772b215599b3b38318
> x86: builds/x86-test-v4l2-h264-structures
> SHA1: 88cbf7485ba81831fc3b93772b215599b3b38318
> x64: builds/x64-test-v4l2-h264-structures
> SHA1: 88cbf7485ba81831fc3b93772b215599b3b38318
> arm64: builds/arm64-test-v4l2-h264-structures
> SHA1: 88cbf7485ba81831fc3b93772b215599b3b38318
>
> Let me know if there's any flaw using that test setup, or if you have
> any comments on the patches.
>
> Maxime
>
> Changes from v2:
> - Simplified _cedrus_write_ref_list as suggested by Jernej
> - Set whether the frame is used as reference using nal_ref_idc
> - Respect chroma_format_idc
> - Fixes for the scaling list and prediction tables
> - Wrote the documentation for the flags
> - Added a bunch of defines to the driver bit fields
> - Reworded the controls and data format descriptions as suggested
> by Hans
> - Reworked the controls' structure field size to avoid padding
> - Removed the long term reference flag

This and...

> - Reintroduced the neighbor info buffer
> - Removed the ref_pic_list_p0/b0/b1 arrays that are redundant with the
> one in the DPB

these are used in our Rockchip VDEC driver.

Could you elaborate on the reasons why they got removed?

Best regards,
Tomasz