mbox series

[v3,0/9,WIP] : rockchip mpp for v4l2 video deocder

Message ID 20190410124226.8612-1-ayaka@soulik.info (mailing list archive)
Headers show
Series : rockchip mpp for v4l2 video deocder | expand

Message

ayaka April 10, 2019, 12:42 p.m. UTC
From: Randy 'ayaka' Li <ayaka@soulik.info>

Although I really hate the bitstream construction in kernel and I think
many people realise its problems, I still take the advise from ndufresne to
release this version. This should be released in a early week but
I was sick that time.

After reviewed the documents from Rockchip and I have confirmed that with
some rockchip staff, those documents are not update to date. So you may
find some part is different comparing to official document.

The v4l2-request-test from bootlin won't work. Its slice data doesn't
have a start code which making it not a complete nal unit. And I found
its slice header information may not be correct. Even comparing to the
Big buck bunny's origin files, neither the slice data nor sequence
information matches.

I extracted a slice data from Rockchip mpp to verify my driver, it work
fine, you can find it on my github. I only verified the I slice now,
I have not verified P or B slice. Hopefully it would work.

I have the same problem with v4l2-request-test on HEVC as well so even
this version shipped with HEVC bitstream construction, I didn't know
whether it would work.

I need some time to prepare the userspace tool or it is really hard for
HEVC to write slice info manually.

Changlog
v3: add AVC support for rkvdec
v2: add MPEG-2 support for vdpu2
v1: inital version

Randy Li (7):
  staging: video: rockchip: add v4l2 decoder
  rockchip: mpp: rkvdec: rbsp
  [WIP]: rockchip: mpp: HEVC decoder ctrl data
  [TEST]: rockchip: mpp: support qtable
  [TEST]: rockchip: mpp: vdpu2: move qtable to input buffer
  arm64: dts: rockchip: boost clocks for rk3328
  arm64: dts: rockchip: add video codec for rk3328

ayaka (2):
  [WIP]: rockchip: mpp: H.264 decoder ctrl data
  [TEST]: rkvdec: spspps address alignment

 arch/arm64/boot/dts/rockchip/rk3328-evb.dts   |   32 +
 .../arm64/boot/dts/rockchip/rk3328-rock64.dts |   32 +
 arch/arm64/boot/dts/rockchip/rk3328.dtsi      |  112 +-
 drivers/staging/Kconfig                       |    2 +
 drivers/staging/Makefile                      |    1 +
 drivers/staging/rockchip-mpp/Kconfig          |   33 +
 drivers/staging/rockchip-mpp/Makefile         |   12 +
 drivers/staging/rockchip-mpp/mpp_debug.h      |   87 +
 drivers/staging/rockchip-mpp/mpp_dev_common.c | 1390 +++++++
 drivers/staging/rockchip-mpp/mpp_dev_common.h |  215 +
 drivers/staging/rockchip-mpp/mpp_dev_rkvdec.c |  924 +++++
 drivers/staging/rockchip-mpp/mpp_dev_vdpu2.c  |  607 +++
 drivers/staging/rockchip-mpp/mpp_service.c    |  197 +
 drivers/staging/rockchip-mpp/mpp_service.h    |   38 +
 .../staging/rockchip-mpp/rkvdec/avc-data.c    |  239 ++
 .../staging/rockchip-mpp/rkvdec/avc-data.h    |   40 +
 drivers/staging/rockchip-mpp/rkvdec/avc.c     |  259 ++
 drivers/staging/rockchip-mpp/rkvdec/cabac.h   | 3614 +++++++++++++++++
 drivers/staging/rockchip-mpp/rkvdec/hal.h     |   70 +
 .../staging/rockchip-mpp/rkvdec/hevc-data.c   |  208 +
 .../staging/rockchip-mpp/rkvdec/hevc-data.h   |   27 +
 drivers/staging/rockchip-mpp/rkvdec/hevc.c    |  169 +
 drivers/staging/rockchip-mpp/rkvdec/rbsp.c    |   96 +
 drivers/staging/rockchip-mpp/rkvdec/rbsp.h    |   30 +
 drivers/staging/rockchip-mpp/rkvdec/regs.h    |  377 ++
 drivers/staging/rockchip-mpp/vdpu2/avc.c      |  165 +
 drivers/staging/rockchip-mpp/vdpu2/hal.h      |   52 +
 drivers/staging/rockchip-mpp/vdpu2/mpeg2.c    |  277 ++
 drivers/staging/rockchip-mpp/vdpu2/regs.h     |  670 +++
 include/uapi/video/rk_vpu_service.h           |  101 +
 30 files changed, 10072 insertions(+), 4 deletions(-)
 create mode 100644 drivers/staging/rockchip-mpp/Kconfig
 create mode 100644 drivers/staging/rockchip-mpp/Makefile
 create mode 100644 drivers/staging/rockchip-mpp/mpp_debug.h
 create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_common.c
 create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_common.h
 create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_rkvdec.c
 create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_vdpu2.c
 create mode 100644 drivers/staging/rockchip-mpp/mpp_service.c
 create mode 100644 drivers/staging/rockchip-mpp/mpp_service.h
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc-data.c
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc-data.h
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc.c
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/cabac.h
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hal.h
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc-data.c
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc-data.h
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc.c
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/rbsp.c
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/rbsp.h
 create mode 100644 drivers/staging/rockchip-mpp/rkvdec/regs.h
 create mode 100644 drivers/staging/rockchip-mpp/vdpu2/avc.c
 create mode 100644 drivers/staging/rockchip-mpp/vdpu2/hal.h
 create mode 100644 drivers/staging/rockchip-mpp/vdpu2/mpeg2.c
 create mode 100644 drivers/staging/rockchip-mpp/vdpu2/regs.h
 create mode 100644 include/uapi/video/rk_vpu_service.h

Comments

Nicolas Dufresne April 10, 2019, 4:01 p.m. UTC | #1
Le mercredi 10 avril 2019 à 20:42 +0800, ayaka a écrit :
> From: Randy 'ayaka' Li <ayaka@soulik.info>
> 
> Although I really hate the bitstream construction in kernel and I think
> many people realise its problems, I still take the advise from ndufresne to
> release this version. This should be released in a early week but
> I was sick that time.
> 
> After reviewed the documents from Rockchip and I have confirmed that with
> some rockchip staff, those documents are not update to date. So you may
> find some part is different comparing to official document.
> 
> The v4l2-request-test from bootlin won't work. Its slice data doesn't
> have a start code which making it not a complete nal unit. And I found
> its slice header information may not be correct. Even comparing to the
> Big buck bunny's origin files, neither the slice data nor sequence
> information matches.

The un-ordered reflist table generated by these tests or the v4l2 VAAPI
driver are known to be broken. They have never been tested. Ezequiel
and I are going to validate against MVPP userspace if this un-ordered
list effectively what we think it is, and will try and get some fixes
in at least one selected userspace. Otherwise it's not possible to test
easily.

> 
> I extracted a slice data from Rockchip mpp to verify my driver, it work
> fine, you can find it on my github. I only verified the I slice now,
> I have not verified P or B slice. Hopefully it would work.

If you have some information to share it would be nice. I'm sure we can
cooperate on this if you are willing to.

> 
> I have the same problem with v4l2-request-test on HEVC as well so even
> this version shipped with HEVC bitstream construction, I didn't know
> whether it would work.
> 
> I need some time to prepare the userspace tool or it is really hard for
> HEVC to write slice info manually.
> 
> Changlog
> v3: add AVC support for rkvdec
> v2: add MPEG-2 support for vdpu2
> v1: inital version
> 
> Randy Li (7):
>   staging: video: rockchip: add v4l2 decoder
>   rockchip: mpp: rkvdec: rbsp
>   [WIP]: rockchip: mpp: HEVC decoder ctrl data
>   [TEST]: rockchip: mpp: support qtable
>   [TEST]: rockchip: mpp: vdpu2: move qtable to input buffer
>   arm64: dts: rockchip: boost clocks for rk3328
>   arm64: dts: rockchip: add video codec for rk3328
> 
> ayaka (2):
>   [WIP]: rockchip: mpp: H.264 decoder ctrl data
>   [TEST]: rkvdec: spspps address alignment
> 
>  arch/arm64/boot/dts/rockchip/rk3328-evb.dts   |   32 +
>  .../arm64/boot/dts/rockchip/rk3328-rock64.dts |   32 +
>  arch/arm64/boot/dts/rockchip/rk3328.dtsi      |  112 +-
>  drivers/staging/Kconfig                       |    2 +
>  drivers/staging/Makefile                      |    1 +
>  drivers/staging/rockchip-mpp/Kconfig          |   33 +
>  drivers/staging/rockchip-mpp/Makefile         |   12 +
>  drivers/staging/rockchip-mpp/mpp_debug.h      |   87 +
>  drivers/staging/rockchip-mpp/mpp_dev_common.c | 1390 +++++++
>  drivers/staging/rockchip-mpp/mpp_dev_common.h |  215 +
>  drivers/staging/rockchip-mpp/mpp_dev_rkvdec.c |  924 +++++
>  drivers/staging/rockchip-mpp/mpp_dev_vdpu2.c  |  607 +++
>  drivers/staging/rockchip-mpp/mpp_service.c    |  197 +
>  drivers/staging/rockchip-mpp/mpp_service.h    |   38 +
>  .../staging/rockchip-mpp/rkvdec/avc-data.c    |  239 ++
>  .../staging/rockchip-mpp/rkvdec/avc-data.h    |   40 +
>  drivers/staging/rockchip-mpp/rkvdec/avc.c     |  259 ++
>  drivers/staging/rockchip-mpp/rkvdec/cabac.h   | 3614 +++++++++++++++++
>  drivers/staging/rockchip-mpp/rkvdec/hal.h     |   70 +
>  .../staging/rockchip-mpp/rkvdec/hevc-data.c   |  208 +
>  .../staging/rockchip-mpp/rkvdec/hevc-data.h   |   27 +
>  drivers/staging/rockchip-mpp/rkvdec/hevc.c    |  169 +
>  drivers/staging/rockchip-mpp/rkvdec/rbsp.c    |   96 +
>  drivers/staging/rockchip-mpp/rkvdec/rbsp.h    |   30 +
>  drivers/staging/rockchip-mpp/rkvdec/regs.h    |  377 ++
>  drivers/staging/rockchip-mpp/vdpu2/avc.c      |  165 +
>  drivers/staging/rockchip-mpp/vdpu2/hal.h      |   52 +
>  drivers/staging/rockchip-mpp/vdpu2/mpeg2.c    |  277 ++
>  drivers/staging/rockchip-mpp/vdpu2/regs.h     |  670 +++
>  include/uapi/video/rk_vpu_service.h           |  101 +
>  30 files changed, 10072 insertions(+), 4 deletions(-)
>  create mode 100644 drivers/staging/rockchip-mpp/Kconfig
>  create mode 100644 drivers/staging/rockchip-mpp/Makefile
>  create mode 100644 drivers/staging/rockchip-mpp/mpp_debug.h
>  create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_common.c
>  create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_common.h
>  create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_rkvdec.c
>  create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_vdpu2.c
>  create mode 100644 drivers/staging/rockchip-mpp/mpp_service.c
>  create mode 100644 drivers/staging/rockchip-mpp/mpp_service.h
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc-data.c
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc-data.h
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc.c
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/cabac.h
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hal.h
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc-data.c
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc-data.h
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc.c
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/rbsp.c
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/rbsp.h
>  create mode 100644 drivers/staging/rockchip-mpp/rkvdec/regs.h
>  create mode 100644 drivers/staging/rockchip-mpp/vdpu2/avc.c
>  create mode 100644 drivers/staging/rockchip-mpp/vdpu2/hal.h
>  create mode 100644 drivers/staging/rockchip-mpp/vdpu2/mpeg2.c
>  create mode 100644 drivers/staging/rockchip-mpp/vdpu2/regs.h
>  create mode 100644 include/uapi/video/rk_vpu_service.h
>
ayaka April 11, 2019, 1:30 a.m. UTC | #2
Sent from my iPad

> On Apr 11, 2019, at 12:01 AM, Nicolas Dufresne <nicolas@ndufresne.ca> wrote:
> 
>> Le mercredi 10 avril 2019 à 20:42 +0800, ayaka a écrit :
>> From: Randy 'ayaka' Li <ayaka@soulik.info>
>> 
>> Although I really hate the bitstream construction in kernel and I think
>> many people realise its problems, I still take the advise from ndufresne to
>> release this version. This should be released in a early week but
>> I was sick that time.
>> 
>> After reviewed the documents from Rockchip and I have confirmed that with
>> some rockchip staff, those documents are not update to date. So you may
>> find some part is different comparing to official document.
>> 
>> The v4l2-request-test from bootlin won't work. Its slice data doesn't
>> have a start code which making it not a complete nal unit. And I found
>> its slice header information may not be correct. Even comparing to the
>> Big buck bunny's origin files, neither the slice data nor sequence
>> information matches.
> 
> The un-ordered reflist table generated by these tests or the v4l2 VAAPI
> driver are known to be broken. They have never been tested. Ezequiel
> and I are going to validate against MVPP userspace if this un-ordered
> list effectively what we think it is, and will try and get some fixes
> in at least one selected userspace. Otherwise it's not possible to test
> easily.
> 
>> 
>> I extracted a slice data from Rockchip mpp to verify my driver, it work
>> fine, you can find it on my github. I only verified the I slice now,
>> I have not verified P or B slice. Hopefully it would work.
> 
> If you have some information to share it would be nice. I'm sure we can
> cooperate on this if you are willing to.
> 
>> 
>> I have the same problem with v4l2-request-test on HEVC as well so even
>> this version shipped with HEVC bitstream construction, I didn't know
>> whether it would work.
>> 
>> I need some time to prepare the userspace tool or it is really hard for
>> HEVC to write slice info manually.
>> 
>> Changlog
>> v3: add AVC support for rkvdec
>> v2: add MPEG-2 support for vdpu2
>> v1: inital version
>> 
>> Randy Li (7):
>>  staging: video: rockchip: add v4l2 decoder
>>  rockchip: mpp: rkvdec: rbsp
>>  [WIP]: rockchip: mpp: HEVC decoder ctrl data
>>  [TEST]: rockchip: mpp: support qtable
>>  [TEST]: rockchip: mpp: vdpu2: move qtable to input buffer
>>  arm64: dts: rockchip: boost clocks for rk3328
>>  arm64: dts: rockchip: add video codec for rk3328
>> 
>> ayaka (2):
>>  [WIP]: rockchip: mpp: H.264 decoder ctrl data
>>  [TEST]: rkvdec: spspps address alignment
>> 
>> arch/arm64/boot/dts/rockchip/rk3328-evb.dts   |   32 +
>> .../arm64/boot/dts/rockchip/rk3328-rock64.dts |   32 +
>> arch/arm64/boot/dts/rockchip/rk3328.dtsi      |  112 +-
>> drivers/staging/Kconfig                       |    2 +
>> drivers/staging/Makefile                      |    1 +
>> drivers/staging/rockchip-mpp/Kconfig          |   33 +
>> drivers/staging/rockchip-mpp/Makefile         |   12 +
>> drivers/staging/rockchip-mpp/mpp_debug.h      |   87 +
>> drivers/staging/rockchip-mpp/mpp_dev_common.c | 1390 +++++++
>> drivers/staging/rockchip-mpp/mpp_dev_common.h |  215 +
>> drivers/staging/rockchip-mpp/mpp_dev_rkvdec.c |  924 +++++
>> drivers/staging/rockchip-mpp/mpp_dev_vdpu2.c  |  607 +++
>> drivers/staging/rockchip-mpp/mpp_service.c    |  197 +
>> drivers/staging/rockchip-mpp/mpp_service.h    |   38 +
>> .../staging/rockchip-mpp/rkvdec/avc-data.c    |  239 ++
>> .../staging/rockchip-mpp/rkvdec/avc-data.h    |   40 +
>> drivers/staging/rockchip-mpp/rkvdec/avc.c     |  259 ++
>> drivers/staging/rockchip-mpp/rkvdec/cabac.h   | 3614 +++++++++++++++++
>> drivers/staging/rockchip-mpp/rkvdec/hal.h     |   70 +
>> .../staging/rockchip-mpp/rkvdec/hevc-data.c   |  208 +
>> .../staging/rockchip-mpp/rkvdec/hevc-data.h   |   27 +
>> drivers/staging/rockchip-mpp/rkvdec/hevc.c    |  169 +
>> drivers/staging/rockchip-mpp/rkvdec/rbsp.c    |   96 +
>> drivers/staging/rockchip-mpp/rkvdec/rbsp.h    |   30 +
>> drivers/staging/rockchip-mpp/rkvdec/regs.h    |  377 ++
>> drivers/staging/rockchip-mpp/vdpu2/avc.c      |  165 +
>> drivers/staging/rockchip-mpp/vdpu2/hal.h      |   52 +
>> drivers/staging/rockchip-mpp/vdpu2/mpeg2.c    |  277 ++
>> drivers/staging/rockchip-mpp/vdpu2/regs.h     |  670 +++
>> include/uapi/video/rk_vpu_service.h           |  101 +
>> 30 files changed, 10072 insertions(+), 4 deletions(-)
>> create mode 100644 drivers/staging/rockchip-mpp/Kconfig
>> create mode 100644 drivers/staging/rockchip-mpp/Makefile
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_debug.h
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_common.c
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_common.h
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_rkvdec.c
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_vdpu2.c
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_service.c
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_service.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc-data.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc-data.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/cabac.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hal.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc-data.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc-data.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/rbsp.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/rbsp.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/regs.h
>> create mode 100644 drivers/staging/rockchip-mpp/vdpu2/avc.c
>> create mode 100644 drivers/staging/rockchip-mpp/vdpu2/hal.h
>> create mode 100644 drivers/staging/rockchip-mpp/vdpu2/mpeg2.c
>> create mode 100644 drivers/staging/rockchip-mpp/vdpu2/regs.h
>> create mode 100644 include/uapi/video/rk_vpu_service.h
>>
ayaka April 11, 2019, 1:33 a.m. UTC | #3
Sent from my iPad

> On Apr 11, 2019, at 12:01 AM, Nicolas Dufresne <nicolas@ndufresne.ca> wrote:
> 
>> Le mercredi 10 avril 2019 à 20:42 +0800, ayaka a écrit :
>> From: Randy 'ayaka' Li <ayaka@soulik.info>
>> 
>> Although I really hate the bitstream construction in kernel and I think
>> many people realise its problems, I still take the advise from ndufresne to
>> release this version. This should be released in a early week but
>> I was sick that time.
>> 
>> After reviewed the documents from Rockchip and I have confirmed that with
>> some rockchip staff, those documents are not update to date. So you may
>> find some part is different comparing to official document.
>> 
>> The v4l2-request-test from bootlin won't work. Its slice data doesn't
>> have a start code which making it not a complete nal unit. And I found
>> its slice header information may not be correct. Even comparing to the
>> Big buck bunny's origin files, neither the slice data nor sequence
>> information matches.
> 
> The un-ordered reflist table generated by these tests or the v4l2 VAAPI
> driver are known to be broken. They have never been tested. Ezequiel
> and I are going to validate against MVPP userspace if this un-ordered
> list effectively what we think it is, and will try and get some fixes
> in at least one selected userspace. Otherwise it's not possible to test
> easily.
I have no idea on what the un-ordered means, hardware would only care about the POC of a reference frame which would match its list0(P or B) and list1(B slice).
I would suggest to remove decode_param of AVC later, as its slice_param has contains enough information to decode a slice and its reference.
> 
>> 
>> I extracted a slice data from Rockchip mpp to verify my driver, it work
>> fine, you can find it on my github. I only verified the I slice now,
>> I have not verified P or B slice. Hopefully it would work.
> 
> If you have some information to share it would be nice. I'm sure we can
> cooperate on this if you are willing to.
> 
>> 
>> I have the same problem with v4l2-request-test on HEVC as well so even
>> this version shipped with HEVC bitstream construction, I didn't know
>> whether it would work.
>> 
>> I need some time to prepare the userspace tool or it is really hard for
>> HEVC to write slice info manually.
>> 
>> Changlog
>> v3: add AVC support for rkvdec
>> v2: add MPEG-2 support for vdpu2
>> v1: inital version
>> 
>> Randy Li (7):
>>  staging: video: rockchip: add v4l2 decoder
>>  rockchip: mpp: rkvdec: rbsp
>>  [WIP]: rockchip: mpp: HEVC decoder ctrl data
>>  [TEST]: rockchip: mpp: support qtable
>>  [TEST]: rockchip: mpp: vdpu2: move qtable to input buffer
>>  arm64: dts: rockchip: boost clocks for rk3328
>>  arm64: dts: rockchip: add video codec for rk3328
>> 
>> ayaka (2):
>>  [WIP]: rockchip: mpp: H.264 decoder ctrl data
>>  [TEST]: rkvdec: spspps address alignment
>> 
>> arch/arm64/boot/dts/rockchip/rk3328-evb.dts   |   32 +
>> .../arm64/boot/dts/rockchip/rk3328-rock64.dts |   32 +
>> arch/arm64/boot/dts/rockchip/rk3328.dtsi      |  112 +-
>> drivers/staging/Kconfig                       |    2 +
>> drivers/staging/Makefile                      |    1 +
>> drivers/staging/rockchip-mpp/Kconfig          |   33 +
>> drivers/staging/rockchip-mpp/Makefile         |   12 +
>> drivers/staging/rockchip-mpp/mpp_debug.h      |   87 +
>> drivers/staging/rockchip-mpp/mpp_dev_common.c | 1390 +++++++
>> drivers/staging/rockchip-mpp/mpp_dev_common.h |  215 +
>> drivers/staging/rockchip-mpp/mpp_dev_rkvdec.c |  924 +++++
>> drivers/staging/rockchip-mpp/mpp_dev_vdpu2.c  |  607 +++
>> drivers/staging/rockchip-mpp/mpp_service.c    |  197 +
>> drivers/staging/rockchip-mpp/mpp_service.h    |   38 +
>> .../staging/rockchip-mpp/rkvdec/avc-data.c    |  239 ++
>> .../staging/rockchip-mpp/rkvdec/avc-data.h    |   40 +
>> drivers/staging/rockchip-mpp/rkvdec/avc.c     |  259 ++
>> drivers/staging/rockchip-mpp/rkvdec/cabac.h   | 3614 +++++++++++++++++
>> drivers/staging/rockchip-mpp/rkvdec/hal.h     |   70 +
>> .../staging/rockchip-mpp/rkvdec/hevc-data.c   |  208 +
>> .../staging/rockchip-mpp/rkvdec/hevc-data.h   |   27 +
>> drivers/staging/rockchip-mpp/rkvdec/hevc.c    |  169 +
>> drivers/staging/rockchip-mpp/rkvdec/rbsp.c    |   96 +
>> drivers/staging/rockchip-mpp/rkvdec/rbsp.h    |   30 +
>> drivers/staging/rockchip-mpp/rkvdec/regs.h    |  377 ++
>> drivers/staging/rockchip-mpp/vdpu2/avc.c      |  165 +
>> drivers/staging/rockchip-mpp/vdpu2/hal.h      |   52 +
>> drivers/staging/rockchip-mpp/vdpu2/mpeg2.c    |  277 ++
>> drivers/staging/rockchip-mpp/vdpu2/regs.h     |  670 +++
>> include/uapi/video/rk_vpu_service.h           |  101 +
>> 30 files changed, 10072 insertions(+), 4 deletions(-)
>> create mode 100644 drivers/staging/rockchip-mpp/Kconfig
>> create mode 100644 drivers/staging/rockchip-mpp/Makefile
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_debug.h
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_common.c
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_common.h
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_rkvdec.c
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_dev_vdpu2.c
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_service.c
>> create mode 100644 drivers/staging/rockchip-mpp/mpp_service.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc-data.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc-data.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/avc.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/cabac.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hal.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc-data.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc-data.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/hevc.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/rbsp.c
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/rbsp.h
>> create mode 100644 drivers/staging/rockchip-mpp/rkvdec/regs.h
>> create mode 100644 drivers/staging/rockchip-mpp/vdpu2/avc.c
>> create mode 100644 drivers/staging/rockchip-mpp/vdpu2/hal.h
>> create mode 100644 drivers/staging/rockchip-mpp/vdpu2/mpeg2.c
>> create mode 100644 drivers/staging/rockchip-mpp/vdpu2/regs.h
>> create mode 100644 include/uapi/video/rk_vpu_service.h
>>