[PATCH v2 0/6] media: mediatek: vcodec: Fix 4K decoding support

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Wed Jul 6 02:53:51 PDT 2022


Il 06/07/22 10:21, Chen-Yu Tsai ha scritto:
> This is v2 of the mtk-vcodec 4K decoder fixes.
> 
> While testing a backport of recent mtk-vcodec developments on ChromeOS
> v5.10 kernel [1], it was found that 4K decoding support had regressed.
> The decoder was not correctly reporting 4K frame sizes when queried,
> and ChromeOS then determined that the hardware did not support it.
> 
> This turned out to be a mix of different bugs:
> 
> 1. Frame size enumeration on the output side should not depend on the
>     currently set format, or any other derived state. This is fixed in
>     patch 2.
> 
> 2. TRY_FMT on the output side was incorrectly clamping the resolution
>     based on the current maximum values. It should not. Fixed in patch
>     4.
> 
> 3. The default resolution limit was not set according to the default
>     output format determined at runtime, but hard-coded to 1080p. An
>     S_FMT call is needed to override this. The instance resolution limit
>     is rendered useless after patches 3 and 4, and dropped in patch 5.
> 
> Other patches:
> - Patch 1 makes stepwise_fhd constant.
> - Patch 3 drops redundant aligning of default resolution
> - Patch 6 moves framesize inside mtk_video_fmt, making it easier to
>    access and removes a list search that was added in patch 4.
> 
> Changes since v1:
>    - Added patch to const-ify stepwise_fhd, as Nicolas requested.
>    - Dropped old patch 2 (media: mediatek: vcodec: dec: Set default
>      max resolution based on format)
>    - Dropped old patch 4 (media: mediatek: vcodec: dec: Set maximum
>      resolution when S_FMT on output only)
>    - Made max resolution lookup for TRY_FMT return stepwise structure in
>      patch 4, which helps with the last patch that moves framesize
>      stepwise into mtk_video_fmt.
>    - Did some style cleanups in patch 4
> 
> This series is based on next-20220705.
> 
> This was only tested on the backport kernel [1] on MT8195, which is the
> only currently supported SoC that does 4K decoding. Hopefully the folks
> at Collabora can give this a test on their mainline MT8195 integration
> branch.

Cannot spot any regression after fluster tests.

For the whole series:

Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>

> 
> 
> Regards
> ChenYu
> 
> [1] https://crrev.com/c/3713491
> 
> Chen-Yu Tsai (6):
>    media: mediatek: vcodec: decoder: Const-ify stepwise_fhd
>    media: mediatek: vcodec: decoder: Fix 4K frame size enumeration
>    media: mediatek: vcodec: decoder: Skip alignment for default
>      resolution
>    media: mediatek: vcodec: decoder: Fix resolution clamping in TRY_FMT
>    media: mediatek: vcodec: decoder: Drop max_{width,height} from
>      mtk_vcodec_ctx
>    media: mediatek: vcodec: decoder: Embed framesize inside mtk_video_fmt
> 
>   .../platform/mediatek/vcodec/mtk_vcodec_dec.c | 54 ++++++++-----------
>   .../mediatek/vcodec/mtk_vcodec_dec_stateful.c | 29 +++-------
>   .../vcodec/mtk_vcodec_dec_stateless.c         | 30 +++++------
>   .../platform/mediatek/vcodec/mtk_vcodec_drv.h | 20 +------
>   4 files changed, 41 insertions(+), 92 deletions(-)
> 


-- 
AngeloGioacchino Del Regno
Software Engineer

Collabora Ltd.
Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK
Registered in England & Wales, no. 5513718



More information about the Linux-mediatek mailing list