![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
rk3399
文章平均质量分 70
////M////
这个作者很懒,什么都没留下…
展开
-
rk mpp架构文档翻译
mpp设计:mpp是Rockchip SoC的跨平台媒体处理器的中间件库。mpp的主要目标是在多媒体(主要是视频和图像)处理器上提供高性能,高灵活性和扩展性。mpp设计的主要目标是链接不同的Rockchip硬件内核驱动和不同的用户应用。Rockchip有两套硬件内核驱动程序第一套是vcodec_service/vpu_service/mpp_service,是一种高性能五状态帧基础硬件内核驱动。这一驱动支持所有硬件能够提供的有效解码器。这一驱动目前应用于Android/Linux。第二套是为Chr原创 2021-05-23 15:07:18 · 2027 阅读 · 0 评论 -
rk3399 simple-card alsa架构分析
一、 概念CPU DAI:主控端的 Audio Data Interface,比如 I²S,Spdif,Pdm,Tdm (通常所说的platform层)CODEC DAI:即 Codec将数字信号转换为模拟音频输出的新品(通常所说的codec层)DAI_LINK:绑定 Cpu_Dai 和 Codec_Dai 为一个声卡,等同于 Machine Driver。(通常所说的platform层)DMAENGINE:用于 Cpu 和 I²S/Spdif 等 Dai 之间的 Dma 传输引擎,实际是通过原创 2021-03-26 09:35:31 · 1947 阅读 · 0 评论 -
rk3399 rkmpp 在ffmpeg上实现硬编解码
一、编译指令:--enable-cross-compile --cross-prefix=/home/cks/fireFlyLinuxSdk/firefly/linux_sdk/buildroot/output/rockchip_rk3399pro/host/bin/aarch64-buildroot-linux-gnu- --sysroot=/home/cks/fireFlyLinuxSdk/firefly/linux_sdk/buildroot/output/rockchip_rk3399pro/ho原创 2021-03-10 09:57:16 · 12918 阅读 · 5 评论 -
DRM用户空间内存操作
一、定义数据结构为了便于说明, 额外定义一个外部内存结构:// drm相关操作需要引用该头文件#include <drm.h>struct bo { int fd; // /dev/dri/card0节点fd void *ptr; // 用户空间虚拟地址 size_t size; //大小 size_t offset; size_t pitch; unsigned handle;};二、获取设备节点:struct bo* bo;bo = (struct bo*)ma原创 2021-03-03 14:33:16 · 3052 阅读 · 0 评论 -
rk3399 Android mpp使用
一、 下载源代码MPP 源代码发布官方地址: https://github.com/rockchip-linux/mpp, 发布分支为 release 分支。下载命令: git clone -b release https://github.com/rockchip-linux/mpp.git二 、编译MPP 源代码编译脚本为 cmake,需要依赖 2.8.12 以上的版本,建议使用 2.8.12 版,使用高版本的 cmake工具可能会产生较多的 warning。2.1 Android 平台交叉原创 2021-03-01 08:56:35 · 2131 阅读 · 1 评论 -
rk3399 DRM显示框架介绍及demo解析
一、什么是DRMDRM( Direct Rendering Manager)即直接渲染管理器。它是为了解决多个程序对 Video Card 资源的协同使用问题而产生的。它向用户空间提供了一组 API,用以访问操纵 GPU。简单理解,DRM是Linux下的图形渲染架构,用来管理显示输出和分配buffer。应用程序可以直接操纵 DRM的 ioctl 或者是用 framebuffer 提供的接口进行显示相关操作。后来封装成了 libdrm 库,让用户可以更加方便的进行显示控制。总体框架如下二、DRM包含原创 2021-02-25 00:13:14 · 10139 阅读 · 2 评论 -
rk3399drm使用
介绍1.Direct Rendering ManagerThe Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and pe原创 2021-02-05 15:21:54 · 1597 阅读 · 0 评论 -
rk3399修改vpll clk频率
1、添加pll_vpll小数分频修改接口driver/clk/clk.cstatic struct clk_core *clk_get_top_core(struct clk_core *core){ struct clk_core *parent = core; parent = core->parent; if (parent) { printk(KERN_CRIT "get parent clk name %s \n",__clk_get_name(parent->hw原创 2021-02-01 14:23:30 · 519 阅读 · 0 评论 -
rk3399 kernel时钟设置分析
以vop时钟设置为例//gpu/drm/rockchip/rockchip_drm_vop.c +2860static void vop_crtc_enable(struct drm_crtc *crtc)clk_set_rate(vop->dclk, adjusted_mode->crtc_clock * 1000);clk_core_set_rate_nolock(clk->core, rate);clk_change_rate(top);core->ops-&g原创 2021-01-28 23:02:19 · 1845 阅读 · 0 评论 -
修改RK3399 HDMI显示分辨率
转载自:[RK3399] HDMI正常输出4K30帧 无法输出60帧以及设置分辨率的流程分析**Platform: ROCKCHIPChip: RK3399OS: Android7.1.2Kernel: 4.4.126***【接上篇】上篇虽然HDMI能正常输出4K,但是帧率却达不到60帧,只能30帧,具体分析如下按网上和官方的分别试了下修改,均没成功kernel/driversideo/rockchipmi/rockchip-hdmiv2 中的 rockchip-hdmi.h 文件,/*转载 2021-01-13 11:11:40 · 6436 阅读 · 0 评论 -
ffmpeg播放时刻与视频文件时间戳对齐(同步)
问题描述当解码较快的时候,并不是解码后立马显示视频帧,这样看着是倍速的效果。如何还原实际的播放速率?解决方案为了解决在解码后视频播放还原原来每帧播放的时刻点。我们需要在解码较快的情况下对帧显示加一定的时间延时,这个延时策略就是计算出延时调整时间 =(当前帧时间戳 - 上一帧时间戳)- (当前机器准显示时间 - 上一帧显示机器时间)延时调整时间 有可能为负值则丢弃。如果为正值,可根据时长做一定调整,毕竟送帧显示也是耗时操作。demo示例:void dispThread(void *ar原创 2021-01-13 10:38:14 · 1869 阅读 · 0 评论 -
ffmpeg avcodec_send_packet avcodec_receive_frame解码接口使用讲解
解码demo通常来说,一个packet会被解码出一个frame,不过也存在一个packet被解码出多个frame或者多个packet才能解码出一个frame的情况,甚至也有些解码器在输入以及输出端上可能会有延迟。因此原来的API在某种程度上存在对调用者误导的可能,使得调用者认为输入的一个或者多个Packet就对应着解码器所输出的一个frame,但实际上可能并非如此。新的API完全隐藏了“解码”这一概念,只提供一个输入packet的接口以及输出frame的接口,如此一来调用者可以不必了解解码器的具体细节,原创 2021-01-12 23:47:56 · 6675 阅读 · 2 评论 -
rk3399pro交叉编译工具链安装|qt安装
Qt Creator下面介绍 Qt Creator 的使用说明,在操作前,请先按前面的步骤配置好交叉编译环境和运行环境。安装进入 Qt 官方下载页面,下载 qt-opensource-linux-x64-5.9.4.run,下载完成之后,运行安装,一路next。配置安装完成后,启动 Qt Creator,打开菜单 Tools -> Options,找到 Kits。配置 Qt Versionsqmake:/home/cks/fireFlyLinuxSdk/firefly/linux_sdk原创 2020-12-09 21:49:09 · 2004 阅读 · 3 评论 -
rk3399pro buildroot SDK编译及烧录
一、工具及平台开发环境:ubuntu14.04代码管理:repo平台:firefly RK3399pro二、下载源码Firefly_Linux_SDK源码包提取码:ffly三、编译环境sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler \gcc-aarch64-linux-gnu mtools parted libudev-dev原创 2020-12-09 21:24:18 · 2428 阅读 · 0 评论