lkml.org 
[lkml]   [2020]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 1/6] media: cedrus: Register all codecs as capability
    Date
    All codecs should have capabilities.
    For example "Allwinner V3s" does not support "MPEG2".

    Signed-off-by: Martin Cerveny <m.cerveny@computer.org>
    ---
    drivers/staging/media/sunxi/cedrus/cedrus.c | 18 +++++++++++++++++-
    drivers/staging/media/sunxi/cedrus/cedrus.h | 2 ++
    .../staging/media/sunxi/cedrus/cedrus_video.c | 2 ++
    3 files changed, 21 insertions(+), 1 deletion(-)

    diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c
    index 7c6b91f0e780..ae7e154eca9f 100644
    --- a/drivers/staging/media/sunxi/cedrus/cedrus.c
    +++ b/drivers/staging/media/sunxi/cedrus/cedrus.c
    @@ -479,42 +479,58 @@ static int cedrus_remove(struct platform_device *pdev)
    }

    static const struct cedrus_variant sun4i_a10_cedrus_variant = {
    + .capabilities = CEDRUS_CAPABILITY_MPEG2_DEC |
    + CEDRUS_CAPABILITY_H264_DEC,
    .mod_rate = 320000000,
    };

    static const struct cedrus_variant sun5i_a13_cedrus_variant = {
    + .capabilities = CEDRUS_CAPABILITY_MPEG2_DEC |
    + CEDRUS_CAPABILITY_H264_DEC,
    .mod_rate = 320000000,
    };

    static const struct cedrus_variant sun7i_a20_cedrus_variant = {
    + .capabilities = CEDRUS_CAPABILITY_MPEG2_DEC |
    + CEDRUS_CAPABILITY_H264_DEC,
    .mod_rate = 320000000,
    };

    static const struct cedrus_variant sun8i_a33_cedrus_variant = {
    - .capabilities = CEDRUS_CAPABILITY_UNTILED,
    + .capabilities = CEDRUS_CAPABILITY_UNTILED |
    + CEDRUS_CAPABILITY_MPEG2_DEC |
    + CEDRUS_CAPABILITY_H264_DEC,
    .mod_rate = 320000000,
    };

    static const struct cedrus_variant sun8i_h3_cedrus_variant = {
    .capabilities = CEDRUS_CAPABILITY_UNTILED |
    + CEDRUS_CAPABILITY_MPEG2_DEC |
    + CEDRUS_CAPABILITY_H264_DEC |
    CEDRUS_CAPABILITY_H265_DEC,
    .mod_rate = 402000000,
    };

    static const struct cedrus_variant sun50i_a64_cedrus_variant = {
    .capabilities = CEDRUS_CAPABILITY_UNTILED |
    + CEDRUS_CAPABILITY_MPEG2_DEC |
    + CEDRUS_CAPABILITY_H264_DEC |
    CEDRUS_CAPABILITY_H265_DEC,
    .mod_rate = 402000000,
    };

    static const struct cedrus_variant sun50i_h5_cedrus_variant = {
    .capabilities = CEDRUS_CAPABILITY_UNTILED |
    + CEDRUS_CAPABILITY_MPEG2_DEC |
    + CEDRUS_CAPABILITY_H264_DEC |
    CEDRUS_CAPABILITY_H265_DEC,
    .mod_rate = 402000000,
    };

    static const struct cedrus_variant sun50i_h6_cedrus_variant = {
    .capabilities = CEDRUS_CAPABILITY_UNTILED |
    + CEDRUS_CAPABILITY_MPEG2_DEC |
    + CEDRUS_CAPABILITY_H264_DEC |
    CEDRUS_CAPABILITY_H265_DEC,
    .quirks = CEDRUS_QUIRK_NO_DMA_OFFSET,
    .mod_rate = 600000000,
    diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.h b/drivers/staging/media/sunxi/cedrus/cedrus.h
    index 96765555ab8a..b6032f40cde8 100644
    --- a/drivers/staging/media/sunxi/cedrus/cedrus.h
    +++ b/drivers/staging/media/sunxi/cedrus/cedrus.h
    @@ -28,6 +28,8 @@

    #define CEDRUS_CAPABILITY_UNTILED BIT(0)
    #define CEDRUS_CAPABILITY_H265_DEC BIT(1)
    +#define CEDRUS_CAPABILITY_H264_DEC BIT(2)
    +#define CEDRUS_CAPABILITY_MPEG2_DEC BIT(3)

    #define CEDRUS_QUIRK_NO_DMA_OFFSET BIT(0)

    diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_video.c b/drivers/staging/media/sunxi/cedrus/cedrus_video.c
    index 16d82309e7b6..cb4aca5be415 100644
    --- a/drivers/staging/media/sunxi/cedrus/cedrus_video.c
    +++ b/drivers/staging/media/sunxi/cedrus/cedrus_video.c
    @@ -38,10 +38,12 @@ static struct cedrus_format cedrus_formats[] = {
    {
    .pixelformat = V4L2_PIX_FMT_MPEG2_SLICE,
    .directions = CEDRUS_DECODE_SRC,
    + .capabilities = CEDRUS_CAPABILITY_MPEG2_DEC,
    },
    {
    .pixelformat = V4L2_PIX_FMT_H264_SLICE,
    .directions = CEDRUS_DECODE_SRC,
    + .capabilities = CEDRUS_CAPABILITY_H264_DEC,
    },
    {
    .pixelformat = V4L2_PIX_FMT_HEVC_SLICE,
    --
    2.17.1
    \
     
     \ /
      Last update: 2020-09-12 16:33    [W:2.990 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site