Re: [PATCH 00/10] Venus stateful Codec API

From: Alexandre Courbot
Date: Thu Jan 24 2019 - 03:43:30 EST


Hi Stanimir,

On Fri, Jan 18, 2019 at 1:20 AM Stanimir Varbanov
<stanimir.varbanov@xxxxxxxxxx> wrote:
>
> Hello,
>
> This aims to make Venus decoder compliant with stateful Codec API [1].
> The patches 1-9 are preparation for the cherry on the cake patch 10
> which implements the decoder state machine similar to the one in the
> stateful codec API documentation.

Thanks *a lot* for this series! I am still stress-testing it against
the Chromium decoder tests, but so far it has been rock-solid. I have
a few inline comments on some patches ; I will also want to review the
state machine more thoroughly after refreshing my mind on Tomasz doc,
but this looks pretty promising already.

Cheers,
Alex.

>
> There few things which are still TODO:
> - V4L2_DEC_CMD_START implementation as per decoder documentation.
> - Dynamic resolution change V4L2_BUF_FLAG_LAST for the last buffer
> before the resolution change.
>
> The patches are tested with chromium VDA unittests at [2].
>
> Note that the patchset depends on Venus various fixes at [3].
>
> Comments are welcome!
>
> regards,
> Stan
>
> [1] https://patchwork.kernel.org/patch/10652199/
> [2] https://chromium.googlesource.com/chromium/src/+/lkgr/docs/media/gpu/vdatest_usage.md
> [3] https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg1894510.html
>
> Stanimir Varbanov (10):
> venus: hfi_cmds: add more not-implemented properties
> venus: helpers: fix dynamic buffer mode for v4
> venus: helpers: export few helper functions
> venus: hfi: add type argument to hfi flush function
> venus: hfi: export few HFI functions
> venus: hfi: return an error if session_init is already called
> venus: helpers: add three more helper functions
> venus: vdec_ctrls: get real minimum buffers for capture
> venus: vdec: allow bigger sizeimage set by clients
> venus: dec: make decoder compliant with stateful codec API
>
> drivers/media/platform/qcom/venus/core.h | 20 +-
> drivers/media/platform/qcom/venus/helpers.c | 141 +++++-
> drivers/media/platform/qcom/venus/helpers.h | 14 +
> drivers/media/platform/qcom/venus/hfi.c | 11 +-
> drivers/media/platform/qcom/venus/hfi.h | 2 +-
> drivers/media/platform/qcom/venus/hfi_cmds.c | 2 +
> drivers/media/platform/qcom/venus/vdec.c | 467 ++++++++++++++----
> .../media/platform/qcom/venus/vdec_ctrls.c | 7 +-
> 8 files changed, 535 insertions(+), 129 deletions(-)
>
> --
> 2.17.1
>