OSDN Git Service

media: hantro: Enable H264 decoding on rk3288
authorHertz Wong <hertz.wong@rock-chips.com>
Fri, 16 Aug 2019 16:01:32 +0000 (13:01 -0300)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 19 Aug 2019 17:40:58 +0000 (14:40 -0300)
Now that the generic bits have been added, we can activate H264 decoding
on rk3288.

Signed-off-by: Hertz Wong <hertz.wong@rock-chips.com>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/staging/media/hantro/rk3288_vpu_hw.c

index f1b573a..6bfcc47 100644 (file)
@@ -62,6 +62,19 @@ static const struct hantro_fmt rk3288_vpu_dec_fmts[] = {
                .codec_mode = HANTRO_MODE_NONE,
        },
        {
+               .fourcc = V4L2_PIX_FMT_H264_SLICE,
+               .codec_mode = HANTRO_MODE_H264_DEC,
+               .max_depth = 2,
+               .frmsize = {
+                       .min_width = 48,
+                       .max_width = 3840,
+                       .step_width = H264_MB_DIM,
+                       .min_height = 48,
+                       .max_height = 2160,
+                       .step_height = H264_MB_DIM,
+               },
+       },
+       {
                .fourcc = V4L2_PIX_FMT_MPEG2_SLICE,
                .codec_mode = HANTRO_MODE_MPEG2_DEC,
                .max_depth = 2,
@@ -162,6 +175,12 @@ static const struct hantro_codec_ops rk3288_vpu_codec_ops[] = {
                .init = hantro_jpeg_enc_init,
                .exit = hantro_jpeg_enc_exit,
        },
+       [HANTRO_MODE_H264_DEC] = {
+               .run = hantro_g1_h264_dec_run,
+               .reset = rk3288_vpu_dec_reset,
+               .init = hantro_h264_dec_init,
+               .exit = hantro_h264_dec_exit,
+       },
        [HANTRO_MODE_MPEG2_DEC] = {
                .run = hantro_g1_mpeg2_dec_run,
                .reset = rk3288_vpu_dec_reset,
@@ -197,7 +216,7 @@ const struct hantro_variant rk3288_vpu_variant = {
        .dec_fmts = rk3288_vpu_dec_fmts,
        .num_dec_fmts = ARRAY_SIZE(rk3288_vpu_dec_fmts),
        .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
-                HANTRO_VP8_DECODER,
+                HANTRO_VP8_DECODER | HANTRO_H264_DECODER,
        .codec_ops = rk3288_vpu_codec_ops,
        .irqs = rk3288_irqs,
        .num_irqs = ARRAY_SIZE(rk3288_irqs),