All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonas Karlman <jonas@kwiboo.se>
To: Ezequiel Garcia <ezequiel@collabora.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Boris Brezillon <boris.brezillon@collabora.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"linux-rockchip@lists.infradead.org" 
	<linux-rockchip@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Jonas Karlman <jonas@kwiboo.se>
Subject: [PATCH RFC 00/12] media: hantro: H264 fixes and improvements
Date: Sun, 1 Sep 2019 12:42:35 +0000	[thread overview]
Message-ID: <HE1PR06MB40117D0EE96E6FA638A04B78ACBF0@HE1PR06MB4011.eurprd06.prod.outlook.com> (raw)

This series contains fixes and improvements for the hantro H264 decoder.

Patch 1-6 fixes issues and limitations observed when preparing support
for field encoded content.

Patch 7 introduce new DPB entry flags that is used to signal how a reference
frame is referenced. This information is needed to correctly build a
reference list for field encoded content.

Patch 8 adds bits to handle field encoded content, this is a rough patch
and should be reworked with proper code style and formatting.
Please get back with feedback on how to improve this.

The following samples from [1] are now playable with patch 1-8
- H264_1080i-25-interlace_Kaesescheibchen.mkv
- H264_10_1080i_50_AC3-Astra19.2_ProSieben_HD.ts
- big_buck_bunny_1080p_H264_AAC_25fps_7200K.mp4
- h264_tivo_sample.ts

The rest of the patches refactors G1 H264 code to more closely match
the code generated by my rockchip-vpu-regtool at [2] and then adds
support for H264 decoding on RK3399/RK3328 using the VPU2 block.
This code is early work and needs proper code style and formatting,
I just wanted to share the early work and get some initial feedback.

This series has been tested using ffmpeg v4l2 request hwaccel at [3] [4]

[1] http://kwiboo.libreelec.tv/test/samples/
[2] https://github.com/Kwiboo/rockchip-vpu-regtool
[3] https://github.com/Kwiboo/FFmpeg/commits/v4l2-request-hwaccel-4.0.4
[4] https://github.com/Kwiboo/FFmpeg/compare/4.0.4-Leia-18.4...45df99d31062e068073cf899dce559e334c9127f

Regards,
Jonas

Jonas Karlman (12):
  media: hantro: Fix H264 max frmsize supported on RK3288
  media: hantro: Do not reorder H264 scaling list
  media: hantro: Fix H264 motion vector buffer offset
  media: hantro: Reduce H264 extra space for motion vectors
  media: hantro: Remove now unused H264 pic_size
  media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly
  media: uapi: h264: Add DPB entry field reference flags
  media: hantro: Fix H264 decoding of field encoded content
  media: hantro: Refactor G1 H264 code
  media: hantro: Add support for H264 decoding on RK3399
  media: hantro: Enable H264 decoding on RK3399
  media: hantro: Enable H264 decoding on RK3328

 .../media/uapi/v4l/ext-ctrls-codec.rst        |  12 +
 drivers/staging/media/hantro/Makefile         |   1 +
 .../staging/media/hantro/hantro_g1_h264_dec.c | 685 +++++++++++-------
 drivers/staging/media/hantro/hantro_h264.c    | 209 +++---
 drivers/staging/media/hantro/hantro_hw.h      |  10 +-
 drivers/staging/media/hantro/hantro_v4l2.c    |   6 +-
 drivers/staging/media/hantro/rk3288_vpu_hw.c  |   4 +-
 drivers/staging/media/hantro/rk3399_vpu_hw.c  |  24 +-
 .../media/hantro/rk3399_vpu_hw_h264_dec.c     | 486 +++++++++++++
 include/media/h264-ctrls.h                    |   4 +
 10 files changed, 1091 insertions(+), 350 deletions(-)
 create mode 100644 drivers/staging/media/hantro/rk3399_vpu_hw_h264_dec.c

-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: Jonas Karlman <jonas-uIzNG4q0ceqzQB+pC5nmwQ@public.gmane.org>
To: Ezequiel Garcia <ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
Cc: Paul Kocialkowski
	<paul.kocialkowski-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>,
	Jonas Karlman <jonas-uIzNG4q0ceqzQB+pC5nmwQ@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Hans Verkuil <hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>,
	"linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	Boris Brezillon
	<boris.brezillon-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>,
	Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	Mauro Carvalho Chehab
	<mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: [PATCH RFC 00/12] media: hantro: H264 fixes and improvements
Date: Sun, 1 Sep 2019 12:42:35 +0000	[thread overview]
Message-ID: <HE1PR06MB40117D0EE96E6FA638A04B78ACBF0@HE1PR06MB4011.eurprd06.prod.outlook.com> (raw)

This series contains fixes and improvements for the hantro H264 decoder.

Patch 1-6 fixes issues and limitations observed when preparing support
for field encoded content.

Patch 7 introduce new DPB entry flags that is used to signal how a reference
frame is referenced. This information is needed to correctly build a
reference list for field encoded content.

Patch 8 adds bits to handle field encoded content, this is a rough patch
and should be reworked with proper code style and formatting.
Please get back with feedback on how to improve this.

The following samples from [1] are now playable with patch 1-8
- H264_1080i-25-interlace_Kaesescheibchen.mkv
- H264_10_1080i_50_AC3-Astra19.2_ProSieben_HD.ts
- big_buck_bunny_1080p_H264_AAC_25fps_7200K.mp4
- h264_tivo_sample.ts

The rest of the patches refactors G1 H264 code to more closely match
the code generated by my rockchip-vpu-regtool at [2] and then adds
support for H264 decoding on RK3399/RK3328 using the VPU2 block.
This code is early work and needs proper code style and formatting,
I just wanted to share the early work and get some initial feedback.

This series has been tested using ffmpeg v4l2 request hwaccel at [3] [4]

[1] http://kwiboo.libreelec.tv/test/samples/
[2] https://github.com/Kwiboo/rockchip-vpu-regtool
[3] https://github.com/Kwiboo/FFmpeg/commits/v4l2-request-hwaccel-4.0.4
[4] https://github.com/Kwiboo/FFmpeg/compare/4.0.4-Leia-18.4...45df99d31062e068073cf899dce559e334c9127f

Regards,
Jonas

Jonas Karlman (12):
  media: hantro: Fix H264 max frmsize supported on RK3288
  media: hantro: Do not reorder H264 scaling list
  media: hantro: Fix H264 motion vector buffer offset
  media: hantro: Reduce H264 extra space for motion vectors
  media: hantro: Remove now unused H264 pic_size
  media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly
  media: uapi: h264: Add DPB entry field reference flags
  media: hantro: Fix H264 decoding of field encoded content
  media: hantro: Refactor G1 H264 code
  media: hantro: Add support for H264 decoding on RK3399
  media: hantro: Enable H264 decoding on RK3399
  media: hantro: Enable H264 decoding on RK3328

 .../media/uapi/v4l/ext-ctrls-codec.rst        |  12 +
 drivers/staging/media/hantro/Makefile         |   1 +
 .../staging/media/hantro/hantro_g1_h264_dec.c | 685 +++++++++++-------
 drivers/staging/media/hantro/hantro_h264.c    | 209 +++---
 drivers/staging/media/hantro/hantro_hw.h      |  10 +-
 drivers/staging/media/hantro/hantro_v4l2.c    |   6 +-
 drivers/staging/media/hantro/rk3288_vpu_hw.c  |   4 +-
 drivers/staging/media/hantro/rk3399_vpu_hw.c  |  24 +-
 .../media/hantro/rk3399_vpu_hw_h264_dec.c     | 486 +++++++++++++
 include/media/h264-ctrls.h                    |   4 +
 10 files changed, 1091 insertions(+), 350 deletions(-)
 create mode 100644 drivers/staging/media/hantro/rk3399_vpu_hw_h264_dec.c

-- 
2.17.1

             reply	other threads:[~2019-09-01 12:42 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-01 12:42 Jonas Karlman [this message]
2019-09-01 12:42 ` [PATCH RFC 00/12] media: hantro: H264 fixes and improvements Jonas Karlman
2019-09-01 12:45 ` [PATCH 01/12] media: hantro: Fix H264 max frmsize supported on RK3288 Jonas Karlman
2019-09-01 12:45   ` Jonas Karlman
2019-09-04 13:07   ` Ezequiel Garcia
2019-09-04 13:07     ` Ezequiel Garcia
2019-09-09 19:25     ` Jonas Karlman
2019-09-09 19:25       ` Jonas Karlman
     [not found] ` <20190901124531.23645-1-jonas@kwiboo.se>
2019-09-01 12:45   ` [PATCH 02/12] media: hantro: Do not reorder H264 scaling list Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-02 14:00     ` Philipp Zabel
2019-09-02 14:00       ` Philipp Zabel
2019-09-02 16:18       ` Jonas Karlman
2019-09-02 16:18         ` Jonas Karlman
2019-09-03  7:54         ` Jonas Karlman
2019-09-03  7:54           ` Jonas Karlman
2019-09-03 12:53           ` Philipp Zabel
2019-09-03 12:53             ` Philipp Zabel
2019-09-03  9:56         ` Philipp Zabel
2019-09-03  9:56           ` Philipp Zabel
2019-09-10 10:14         ` Ezequiel Garcia
2019-09-10 10:14           ` Ezequiel Garcia
2019-09-01 12:45   ` [PATCH 03/12] media: hantro: Fix H264 motion vector buffer offset Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-03 10:58     ` Philipp Zabel
2019-09-03 10:58       ` Philipp Zabel
2019-09-03 20:13       ` Jonas Karlman
2019-09-03 20:13         ` Jonas Karlman
2019-09-10 10:18     ` Ezequiel Garcia
2019-09-10 10:18       ` Ezequiel Garcia
2019-09-10 11:34     ` Ezequiel Garcia
2019-09-10 11:34       ` Ezequiel Garcia
2019-09-01 12:45   ` [PATCH 05/12] media: hantro: Remove now unused H264 pic_size Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-01 12:45   ` [PATCH 04/12] media: hantro: Reduce H264 extra space for motion vectors Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-01 12:45   ` [PATCH 06/12] media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-01 12:45   ` [RFC 08/12] media: hantro: Fix H264 decoding of field encoded content Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-03 13:21     ` Philipp Zabel
2019-09-03 13:21       ` Philipp Zabel
2019-09-03 14:02       ` Jonas Karlman
2019-09-03 14:02         ` Jonas Karlman
2019-09-03 15:01         ` Philipp Zabel
2019-09-03 15:01           ` Philipp Zabel
2019-09-03 19:47           ` Jonas Karlman
2019-09-03 19:47             ` Jonas Karlman
2019-09-01 12:45   ` [RFC 07/12] media: uapi: h264: Add DPB entry field reference flags Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2020-07-10  4:21     ` Ezequiel Garcia
2020-07-10  4:21       ` Ezequiel Garcia
2020-07-10  8:13       ` Boris Brezillon
2020-07-10  8:13         ` Boris Brezillon
2020-07-10  8:48         ` Jonas Karlman
2020-07-10  8:48           ` Jonas Karlman
2020-07-10 12:18           ` Ezequiel Garcia
2020-07-10 12:18             ` Ezequiel Garcia
2020-07-10 11:50         ` Ezequiel Garcia
2020-07-10 11:50           ` Ezequiel Garcia
2020-07-10 12:05           ` Boris Brezillon
2020-07-10 12:05             ` Boris Brezillon
2020-07-10 12:25             ` Ezequiel Garcia
2020-07-10 12:25               ` Ezequiel Garcia
2020-07-10 21:49               ` Nicolas Dufresne
2020-07-10 21:49                 ` Nicolas Dufresne
2020-07-11 10:21                 ` Jonas Karlman
2020-07-11 10:21                   ` Jonas Karlman
2020-07-11 18:36                   ` Nicolas Dufresne
2020-07-11 18:36                     ` Nicolas Dufresne
2020-07-12 22:59                   ` Ezequiel Garcia
2020-07-12 22:59                     ` Ezequiel Garcia
2020-07-14 16:04                     ` Nicolas Dufresne
2020-07-14 16:04                       ` Nicolas Dufresne
2019-09-01 12:45   ` [RFC 09/12] media: hantro: Refactor G1 H264 code Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-01 12:45   ` [RFC 10/12] media: hantro: Add support for H264 decoding on RK3399 Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-02 11:46     ` Hans Verkuil
2019-09-02 11:46       ` Hans Verkuil
2019-09-02 15:25       ` Jonas Karlman
2019-09-02 15:25         ` Jonas Karlman
2019-09-01 12:45   ` [RFC 11/12] media: hantro: Enable " Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-01 12:45   ` [RFC 12/12] media: hantro: Enable H264 decoding on RK3328 Jonas Karlman
2019-09-01 12:45     ` Jonas Karlman
2019-09-02 13:02 ` [PATCH RFC 00/12] media: hantro: H264 fixes and improvements Ezequiel Garcia
2019-09-02 13:02   ` Ezequiel Garcia
2019-09-02 16:28   ` Jonas Karlman
2019-09-02 16:28     ` Jonas Karlman

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=HE1PR06MB40117D0EE96E6FA638A04B78ACBF0@HE1PR06MB4011.eurprd06.prod.outlook.com \
    --to=jonas@kwiboo.se \
    --cc=boris.brezillon@collabora.com \
    --cc=ezequiel@collabora.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mchehab@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=paul.kocialkowski@bootlin.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.