Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

VPU-SERVER 怎么使用 (视频开发)

75

积分

0

威望

0

贡献

技术小白

积分
75

VPU-SERVER 怎么使用 (视频开发)

发表于 2018-3-17 18:17:38      浏览:21915 | 回复:11        打印      只看该作者   [复制链接] 楼主
我在linux 系统下看到了   /dev/vpu-server   还有  /dev/h265e这样的设备。
请问大家怎么使用,有没有对应的API接口?


回复

使用道具 举报

155

积分

4

威望

3

贡献

技术小白

积分
155
发表于 2018-4-10 23:41:42        只看该作者  沙发
顶一下
回复

使用道具 举报

132

积分

0

威望

0

贡献

技术小白

积分
132
发表于 2018-4-11 12:07:29        只看该作者  板凳
你可以看一下rockchip_mpp代码,它里面有用到。
另:印象中/dev/vpu-server 应该是3288板才有的,3399并没有这东西
回复

使用道具 举报

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-5-25 13:45:03        只看该作者  地板
darkise 发表于 2018-4-11 12:07
你可以看一下rockchip_mpp代码,它里面有用到。
另:印象中/dev/vpu-server 应该是3288板才有的,3399并没 ...

请问 rockchip_mpp 的代码在哪里? 我购买的是rk3328
还有我用到的解码是硬件解码还是软件解码怎么区分

回复

使用道具 举报

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-5-25 13:47:27        只看该作者  5#
#ifndef _MPP_DEV_H265E_REGISTER_H_
#define _MPP_DEV_H265E_REGISTER_H_
                        
#define H265E_PO_CONF                        0x0000
#define H265E_VCPU_CUR_PC                    0x0004
#define H265E_VPU_PDBG_CTRL                  0x0010
#define H265E_VPU_PDBG_IDX_REG               0x0014
#define H265E_VPU_PDBG_WDATA_REG             0x0018
#define H265E_VPU_PDBG_RDATA_REG             0x001C
#define H265E_VPU_FIO_CTRL_ADDR              0x0020
#define H265E_VPU_FIO_DATA                   0x0024
#define H265E_VPU_VINT_REASON_USR            0x0030
#define H265E_VPU_VINT_REASON_CLR            0x0034
#define H265E_VPU_HOST_INT_REQ               0x0038
#define H265E_VPU_VINT_CLEAR                 0x003C
#define H265E_VPU_HINT_CLEAR                 0x0040
#define H265E_VPU_VPU_INT_STS                0x0044
#define H265E_VPU_VINT_ENABLE                0x0048
                        
#define H265E_CMD_REG_END                    0x0200
        
#define H265E_VPU_VINT_REASON                0x004c
#define H265E_VPU_RESET_REQ                  0x0050
#define H265E_VPU_RESET_STATUS               0x0070
#define H265E_VPU_REMAP_CTRL                 0x0060
#define H265E_VPU_REMAP_VADDR                0x0064
#define H265E_VPU_REMAP_PADDR                0x0068
#define H265E_VPU_REMAP_CORE_START           0x006C
#define H265E_VPU_BUSY_STATUS                0x0070
#define H265E_COMMAND                        0x0100
#define H265E_CORE_INDEX                     0x0104
#define H265E_INST_INDEX                     0x0108
#define H265E_ENC_SET_PARAM_OPTION           0x010C
#define H265E_RET_FW_VERSION                 0x0118
#define H265E_ADDR_CODE_BASE                 0x0118   
#define H265E_CODE_SIZE                      0x011C   
#define H265E_CODE_PARAM                     0x0120
#define H265E_HW_OPTION                      0x0124
        
#define H265E_RET_SUCCESS                    0x0110
#define H265E_VPU_HOST_INT_REQ               0x0038
#define H265E_SFB_OPTION                     0x010C
#define H265E_RET_FAIL_REASON                0x0114
#define H265E_BS_START_ADDR                  0x0120
#define H265E_COMMON_PIC_INFO                0x0120
#define H265E_BS_SIZE                        0x0124
#define H265E_PIC_SIZE                       0x0124
#define H265E_BS_PARAM                       0x0128
#define H265E_SET_FB_NUM                     0x0128
#define H265E_BS_OPTION                      0x012C
#define H265E_BS_RD_PTR                      0x0130
#define H265E_BS_WR_PTR                      0x0134
#define H265E_ADDR_WORK_BASE                 0x0138
#define H265E_WORK_SIZE                      0x013c
#define H265E_WORK_PARAM                     0x0140
#define H265E_ADDR_TEMP_BASE                 0x0144
#define H265E_TEMP_SIZE                      0x0148
#define H265E_TEMP_PARAM                     0x014C
#define H265E_FBC_STRIDE                     0x0154
#define H265E_ENC_SET_PARAM_ENABLE           0x015C
#define H265E_ENC_SEQ_SRC_SIZE               0x0160
#define H265E_ADDR_LUMA_BASE0                0x0160
#define H265E_ADDR_CB_BASE0                  0x0164
#define H265E_ADDR_CR_BASE0                  0x0168
我这个是从 firefly的内核中找到的。这是他们的H265E的编码的积存器的地址。
就是没有找打vpu_server的 接口文档
回复

使用道具 举报

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-5-25 13:53:06        只看该作者  6#
darkise 发表于 2018-4-11 12:07
你可以看一下rockchip_mpp代码,它里面有用到。
另:印象中/dev/vpu-server 应该是3288板才有的,3399并没 ...



谢谢你

https://github.com/sliver-chen/mpp_linux_cpp
这是正确的路径吗
回复

使用道具 举报

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-5-25 13:56:07        只看该作者  7#
tanli 发表于 2018-5-25 13:53
谢谢你

https://github.com/sliver-chen/mpp_linux_cpp

https://github.com/HermanChen/mpp

还是这个
回复

使用道具 举报

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-5-25 14:05:40        只看该作者  8#
MPP (Media Process Platform) design (2016.10.12)
================================================================================

The mpp is a middleware library for Rockchip SoC's cross platform media process.
The main purpose of mpp is to provide very high performance, high flexibility
and expansibility on multimedia (mainly video and image) process.

The design target of mpp is to connect different Rockchip hardware kernel driver
and different userspace application.

Rockchip has two sets of hardware kernel driver.

The first one is vcodec_service/vpu_service/mpp_service which is a high
performance stateless frame base hardware kernel driver. This driver supports
all available codecs that hardware can provide. This driver is used on Android/
Linux.

The second one is v4l2 driver which is developed for ChromeOS. It currently
supports H.264/H.265/vp8/vp9. This driver is used on ChomeOS/Linux.

Mpp plans to support serval userspace applications including OpenMax, FFmpeg,
gstreamer, libva.


谢谢  darkise
回复

使用道具 举报

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-5-25 14:10:19        只看该作者  9#
回复

使用道具 举报

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-5-25 14:31:06        只看该作者  10#
Mpp plans to support serval userspace applications including OpenMax, FFmpeg,
gstreamer, libva.

请问大家有用到过ffmpeg的吗? gstreamer 的实现我已经看到了
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表