From: Ezequiel Garcia <ezequiel@collabora.com>
To: linux-media@vger.kernel.org
Cc: Hans Verkuil <hans.verkuil@cisco.com>,
kernel@collabora.com,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
Tomasz Figa <tfiga@chromium.org>,
linux-rockchip@lists.infradead.org,
Heiko Stuebner <heiko@sntech.de>, Jonas Karlman <jonas@kwiboo.se>,
Ezequiel Garcia <ezequiel@collabora.com>
Subject: [PATCH v2 00/11] Add MPEG-2 decoding to Rockchip VPU
Date: Mon, 4 Mar 2019 16:25:18 -0300 [thread overview]
Message-ID: <20190304192529.14200-1-ezequiel@collabora.com> (raw)
This series introduces the decoding infrastructure that will be
used to add support for other codecs such as VP8, VP9 and H.264.
As explained in the cover letter for the v1 patchset,
the driver is now exposing two video device nodes.
The VPU encoder is exposed on /dev/video0, and the VPU decoder
is exposed on /dev/video1. Both devices are tied to the same
memory-to-memory queue, and same media device /dev/media0.
Therefore there are two media graphs:
┌────────────────────────────────┐
│ rockchip,rk3399-vpu-enc-source │
│ /dev/video0 │
└────────────────────────────────┘
┃
┃
▼
┌────────────────────────────────┐
│ rockchip,rk3399-vpu-enc-proc │
└────────────────────────────────┘
┃
┃
▼
┌────────────────────────────────┐
│ rockchip,rk3399-vpu-enc-sink │
│ /dev/video0 │
└────────────────────────────────┘
┌────────────────────────────────┐
│ rockchip,rk3399-vpu-dec-source │
│ /dev/video1 │
└────────────────────────────────┘
┃
┃
▼
┌────────────────────────────────┐
│ rockchip,rk3399-vpu-dec-proc │
└────────────────────────────────┘
┃
┃
▼
┌────────────────────────────────┐
│ rockchip,rk3399-vpu-dec-sink │
│ /dev/video1 │
└────────────────────────────────┘
Of course, this work has been possible thanks to Jonas Karlman, who did the initial
MPEG-2 decoding work and also got mpv+ffmpeg working using the Request API.
This driver can be tested using mpv+ffmpeg for the video
decoding side, and the Panfrost mesa driver for rendering.
I should be posting instructions to set all of this up,
and also will be submitting the support for H264, VP8 and VP9,
hopefully very soon.
v2:
* Fixed some minor issues brought up by v4l2-compliance.
* Fixed bytesused wrongly assigned 0 on the MPEG-2 decoder.
* Addressed comments from Hans and Tomasz on the pixel format
helpers.
Ezequiel Garcia (10):
rockchip/vpu: Rename pixel format helpers
media: Introduce helpers to fill pixel format structs
rockchip/vpu: Use pixel format helpers
rockchip/vpu: Use v4l2_m2m_buf_copy_metadata
rockchip/vpu: Cleanup macroblock alignment
rockchip/vpu: Cleanup JPEG bounce buffer management
rockchip/vpu: Open-code media controller register
rockchip/vpu: Support the Request API
rockchip/vpu: Add decoder boilerplate
rockchip/vpu: Add support for non-standard controls
Jonas Karlman (1):
rockchip/vpu: Add support for MPEG-2 decoding
drivers/media/v4l2-core/v4l2-common.c | 186 ++++++
drivers/staging/media/rockchip/vpu/Makefile | 5 +-
.../media/rockchip/vpu/rk3288_vpu_hw.c | 4 +-
.../rockchip/vpu/rk3288_vpu_hw_jpeg_enc.c | 4 +-
.../media/rockchip/vpu/rk3399_vpu_hw.c | 61 +-
.../rockchip/vpu/rk3399_vpu_hw_jpeg_enc.c | 10 +-
.../rockchip/vpu/rk3399_vpu_hw_mpeg2_dec.c | 263 +++++++++
.../staging/media/rockchip/vpu/rockchip_vpu.h | 115 +++-
.../media/rockchip/vpu/rockchip_vpu_common.h | 10 +
.../media/rockchip/vpu/rockchip_vpu_dec.c | 558 ++++++++++++++++++
.../media/rockchip/vpu/rockchip_vpu_drv.c | 440 ++++++++++++--
.../media/rockchip/vpu/rockchip_vpu_enc.c | 152 ++---
.../media/rockchip/vpu/rockchip_vpu_hw.h | 42 ++
.../media/rockchip/vpu/rockchip_vpu_jpeg.c | 25 +
.../media/rockchip/vpu/rockchip_vpu_mpeg2.c | 61 ++
include/media/v4l2-common.h | 32 +
16 files changed, 1795 insertions(+), 173 deletions(-)
create mode 100644 drivers/staging/media/rockchip/vpu/rk3399_vpu_hw_mpeg2_dec.c
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu_dec.c
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu_mpeg2.c
--
2.20.1
next reply other threads:[~2019-03-04 19:26 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-04 19:25 Ezequiel Garcia [this message]
2019-03-04 19:25 ` [PATCH v2 01/11] rockchip/vpu: Rename pixel format helpers Ezequiel Garcia
2019-03-04 19:25 ` [PATCH v2 02/11] media: Introduce helpers to fill pixel format structs Ezequiel Garcia
2019-03-12 8:29 ` Hans Verkuil
2019-03-22 17:29 ` Ezequiel Garcia
2019-03-25 14:32 ` Emil Velikov
2019-03-04 19:25 ` [PATCH v2 03/11] rockchip/vpu: Use pixel format helpers Ezequiel Garcia
2019-03-04 19:25 ` [PATCH v2 04/11] rockchip/vpu: Use v4l2_m2m_buf_copy_metadata Ezequiel Garcia
2019-03-04 19:25 ` [PATCH v2 05/11] rockchip/vpu: Cleanup macroblock alignment Ezequiel Garcia
2019-03-04 19:25 ` [PATCH v2 06/11] rockchip/vpu: Cleanup JPEG bounce buffer management Ezequiel Garcia
2019-03-28 6:15 ` Tomasz Figa
2019-03-28 18:30 ` Ezequiel Garcia
2019-03-29 3:21 ` Tomasz Figa
2019-03-04 19:25 ` [PATCH v2 07/11] rockchip/vpu: Open-code media controller register Ezequiel Garcia
2019-03-28 7:11 ` Tomasz Figa
2019-03-28 20:05 ` Ezequiel Garcia
2019-03-29 7:43 ` Tomasz Figa
2019-03-04 19:25 ` [PATCH v2 08/11] rockchip/vpu: Support the Request API Ezequiel Garcia
2019-03-28 7:20 ` Tomasz Figa
2019-03-28 13:59 ` Hans Verkuil
2019-03-29 3:23 ` Tomasz Figa
2019-03-28 19:07 ` Ezequiel Garcia
2019-03-04 19:25 ` [PATCH v2 09/11] rockchip/vpu: Add decoder boilerplate Ezequiel Garcia
2019-03-28 9:57 ` Tomasz Figa
2019-03-28 19:23 ` Ezequiel Garcia
2019-03-29 7:40 ` Tomasz Figa
2019-03-04 19:25 ` [PATCH v2 10/11] rockchip/vpu: Add support for non-standard controls Ezequiel Garcia
2019-04-01 3:14 ` Tomasz Figa
2019-04-12 19:25 ` Ezequiel Garcia
2019-04-15 4:07 ` Tomasz Figa
2019-03-04 19:25 ` [PATCH v2 11/11] rockchip/vpu: Add support for MPEG-2 decoding Ezequiel Garcia
2019-04-01 3:52 ` Tomasz Figa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190304192529.14200-1-ezequiel@collabora.com \
--to=ezequiel@collabora.com \
--cc=hans.verkuil@cisco.com \
--cc=heiko@sntech.de \
--cc=jonas@kwiboo.se \
--cc=kernel@collabora.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=nicolas.dufresne@collabora.com \
--cc=tfiga@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox