rk3568之mpp开发笔记mpp移植到开发板
前言:
大家好,今天给大家介绍的内容是rk平台的mpp编解码这块的内容,在rk目前看到有三套框架涉及到编解码内容:
-
1、rkmedia
-
2、rockit
-
3、mpp
这三种不同形式的编解码方式,后面再做详细的框架对比,今天我们主要是怎么移植mpp源码到开发板里面去。
这里主要是记录一下学习过程!
开始移植mpp源码
mpp源码一般在对应的sdk里面的external里面也有,我这里不用sdk里面的mpp源码,而是从rockchip官方仓库里面下载最新的mpp源码:
https://github.com/rockchip-linux/mpp/tree/release
现在我们开始来进行一定的修改:
上面我们修改这个路径下的两个文档内容:

最终内容内容修改如下:


接着还需要修改一个地方,不然到时候移植到开发板上,我们运行demo,发现终端没有任何的打印log,就让人很奇怪,所以需要在osal里面做一个log打印输出语句:

添加如下两条打印语句:
void os_log(const char* tag, const char* msg, va_list list)
{char line[LINE_SZ] = {0};snprintf(line, sizeof(line), "%s: %s", tag, msg);vsyslog(LOG_INFO, line, list);vfprintf(stdout, line, list);
}void os_err(const char* tag, const char* msg, va_list list)
{char line[LINE_SZ] = {0};snprintf(line, sizeof(line), "%s: %s", tag, msg);vsyslog(LOG_ERR, line, list);vfprintf(stderr, line, list);
}

现在我们可以来开始进行编译了:




移植到开发板上执行测试解码:
传输到开发板上来:

我们可以直接执行这个测试程序,可以看到一些有用的参数说明:

开始测试:

好了,整个移植过程就结束了,下一期文章,我们开始构造属于自己的mpp工程,怎么解码码流到屏幕上去显示,循环播放演示以及mpp的整个架构和api的使用介绍,我们下期见!
相关文章:
rk3568之mpp开发笔记mpp移植到开发板
前言: 大家好,今天给大家介绍的内容是rk平台的mpp编解码这块的内容,在rk目前看到有三套框架涉及到编解码内容: 1、rkmedia 2、rockit 3、mpp 这三种不同形式的编解码方式,后面再做详细的框架对比,今天我…...
Vue解决跨域问题
要解决 Vue 项目的跨域问题并通过 vue.config.js 配置代理,可以按照以下步骤修改 vue.config.js 文件。你提供的代码大部分已经正确,只需要做一些格式上的调整。以下是正确的 vue.config.js 配置: // vue.config.jsmodule.exports {devServ…...
Kubernetes Nginx-Ingress | 禁用HSTS/禁止重定向到https
目录 前言禁用HSTS禁止重定向到https关闭 HSTS 和设置 ssl-redirect 为 false 的区别 前言 客户请求经过ingress到服务后,默认加上了strict-transport-security,导致客户服务跨域请求失败,具体Response Headers信息如下; 分析 n…...
TortoiseGit的下载、安装和配置
一、TortoiseGit的简介 tortoiseGit是一个开放的git版本控制系统的源客户端,支持Winxp/vista/win7.该软件功能和git一样 不同的是:git是命令行操作模式,tortoiseGit界面化操作模式,不用记git相关命令就可以直接操作,读…...
如何绕过IP禁令
网站、游戏和应用程序可以屏蔽特定IP地址,从而阻止使用该IP地址的任何人访问其服务。这称为IP禁令。管理员可以出于多种原因(例如发出过多请求或可疑活动)屏蔽IP地址。但是,这些禁令会使收集数据或访问在线内容变得更加困难。 一…...
Vue3的provide和inject实现多级传递的原理
先来看个demo,这个是父组件,代码如下: <template><ChildDemo /> </template><script setup> import ChildDemo from "./child.vue"; import { ref, provide } from "vue"; // 提供响应式的值 c…...
使用html2canvas实现前端截图
一、主要功能 网页截图:html2canvas通过读取DOM结构和元素的CSS样式,在客户端生成图像,不依赖于服务端的渲染。它可以将指定的DOM元素渲染为画布(canvas),并生成图像。多种输出格式:生成的图像…...
使用 Python 爬取某网站简历模板(bs4/lxml+协程)
使用 Python 爬取站长素材简历模板 简介 在本教程中,我们将学习如何使用 Python 来爬取站长素材网站上的简历模板。我们将使用requests和BeautifulSoup库来发送 HTTP 请求和解析 HTML 页面。本教程将分为两个部分:第一部分是使用BeautifulSoup的方法&am…...
深度学习模型中音频流式处理
音频流式处理的介绍 在现代深度学习应用中,音频处理是一个重要的领域,尤其是在语音识别、音乐生成和音频分类等任务中。流式处理(Streaming Processing)是一种有效的处理方式,它允许模型逐帧处理音频数据,…...
C语言(字符数组和字符指针)
字符串实现 在C语言中,表示一个字符串有以下两种形式: 用字符数组存放一个字符串。用字符指针指向一个字符串。 案例 #include <stdio.h>/*** 方式1:使用字符数组实现字符串*/ void str_test1(){// 定义一个伪字符串char str[] &q…...
SkyWalking Helm Chart 4.7.0 安装、配置
https://skywalking.apache.org/events/release-apache-skywalking-kubernetes-helm-chart-4.7.0/https://github.com/apache/skywalking-helm/tree/v4.7.0https://skywalking.apache.org/zh/2020-04-19-skywalking-quick-start/简介 skywalking 是分布式系统的 APM(Applicat…...
微搭低代码AI组件单词消消乐从0到1实践
目录 1 为什么要开发单词消消乐2 需要具备什么功能3 采用什么技术方案实现4 逻辑设计4.1 数据结构设计4.2 游戏的核心逻辑4.3 数据设计 5 代码详解5.1 导入依赖5.2 定义函数组件5.3 数据初始化5.4 状态定义5.5 打乱解释的逻辑5.6 定义选择单词的函数5.7 定义选择解释的函数5.8 …...
23种设计模式之中介者模式
目录 1. 简介2. 代码2.1 Mediator (中介者接口)2.2 ChatRoom (具体中介者类)2.3 User (同事接口)2.4 ChatUser (具体同事类)2.5 Test (测试)2.6 运行结果 3. …...
【Golang】Go语言编程思想(六):Channel,第六节,并发编程模式
并发模式 下例重新对 channel 的用法进行回顾: package mainimport ("fmt""math/rand""time" )func msgGen(name string) chan string {c : make(chan string)go func(name string) { // 在这个 goroutine 当中向外发送数据i : 0fo…...
unity打包web,如何减小文件体积,特别是 Build.wasm.gz
unity打包WebGL,使用的是wasw,最终生成的Build.wasm.gz体积很大,有6.5M,有几个方法可以稍微减小这个文件的大小 1. 裁剪引擎代码: 此步可将大小从6.5减小到 6.2(此项默认开启,只是改了裁剪等级…...
go引入skywalking
前置条件:安装好jdk11,linux服务器(centos7.9),go版本(我的是1.18,1.21都可以) 1.下载skywalking Downloads | Apache SkyWalking 2.下载agent源码 Downloads | Apache SkyWalkin…...
大华DSS数字监控系统 attachment_downloadAtt.action 任意文件下载漏洞复现
0x01 产品描述: 大华 DSS 数字监控系统是大华开发的一款安防视频监控系统,拥有实时监视、云台操作、录像回放、报警处理、设备管理等功能。0x02 漏洞描述: 大华DSS数字监控系统 attachment_downloadAtt.action接口存在任意文件读取漏洞,未经身份验证攻击者可通过该漏洞读取…...
qt 封装 调用 dll
这个目录下 ,第一个收藏的这个 ,可以用, 但是有几个地方要注意 第一.需要将dll的头文件添加到qt的文件夹里面 第二,需要在pro文件里面添加动态库路径 第三,如果调用dll失败,那么大概需要将dll文件放在e…...
Python使用Selenium库获取 网页节点元素、名称、内容的方法
我们要用到一些网页源码信息,例如获取一些节点的class内容, 除了使用Beautifulsoup来解析,还可以直接用Selenium库打印节点(元素)名称,用来获取元素的文本内容或者标签名。 例如获取下面的class的内容&am…...
系统安全——访问控制访问控制
访问控制 概念 什么是访问控制 access control 为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用 访问控制作用 保证用户在系统安全策略下正常工作 拒绝非法用户的非授权访问请求 拒绝合法用户越权…...
WinDirStat:Windows磁盘空间分析与清理的终极解决方案
WinDirStat:Windows磁盘空间分析与清理的终极解决方案 【免费下载链接】windirstat WinDirStat is a disk usage statistics viewer and cleanup tool for Microsoft Windows 项目地址: https://gitcode.com/gh_mirrors/wi/windirstat WinDirStat是一款专为W…...
保姆级教程:在i.MX6ULL开发板上用LVGL v8.3.11跑个炫酷UI(附触屏配置)
嵌入式Linux系统LVGL图形库移植实战指南:从零构建炫酷UI界面 在嵌入式系统开发中,图形用户界面(GUI)的实现一直是开发者面临的挑战之一。传统解决方案要么过于笨重,要么功能简陋,直到LVGL的出现改变了这一局面。这款轻量级开源图形…...
港大开源 【OpenHarness】 深度剖析:1.1 万行代码解构 Agent 架构,把黑盒变白盒
港大开源 【OpenHarness】 深度剖析:1.1 万行代码解构 Agent 架构,把黑盒变白盒 写在前面:香港大学数据科学研究所(HKUDS)开源的 OpenHarness 项目,上线两天斩获 1.9K Star,10 天突破 9.5K Star…...
InfluxDB 备份恢复避坑指南:为什么你的 `influxd restore` 总失败?元数据与DB数据详解
InfluxDB 备份恢复深度解析:从原理到实战的完整避坑手册 1. 为什么你的InfluxDB恢复操作总是失败? 在运维InfluxDB的日常工作中,备份恢复是最容易"翻车"的操作之一。许多工程师都遇到过这样的场景:明明按照官方文档执行…...
5个简单步骤彻底解决MoviePilot连接TheMovieDb异常问题
5个简单步骤彻底解决MoviePilot连接TheMovieDb异常问题 【免费下载链接】MoviePilot NAS媒体库自动化管理工具 项目地址: https://gitcode.com/gh_mirrors/mo/MoviePilot MoviePilot作为一款优秀的NAS媒体库自动化管理工具,为你提供了便捷的影视资源管理体验…...
HsMod终极指南:如何通过55项功能全面优化炉石传说游戏体验
HsMod终极指南:如何通过55项功能全面优化炉石传说游戏体验 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是基于BepInEx框架开发的炉石传说模改插件,专为提升…...
英特尔IPEX-LLM:大模型在CPU与GPU上的高效推理部署指南
1. 项目概述:当大语言模型遇见英特尔硬件如果你最近在折腾大语言模型(LLM)的本地部署,特别是手头有一台搭载英特尔酷睿或至强处理器的机器,那么“intel/ipex-llm”这个项目很可能已经进入了你的视野。简单来说…...
Godot引擎集成CEF实现Web混合渲染:gdcef项目架构与实战指南
1. 项目概述与核心价值最近在折腾一个老项目的现代化改造,需要把传统的桌面应用嵌入到Web视图中,实现混合渲染。在技术选型时,我绕不开一个名字:CEF,也就是Chromium Embedded Framework。它几乎是桌面应用内嵌浏览器控…...
收藏!小白程序员轻松入门大模型:3个月实现转岗高薪offer的秘诀
本文针对传统程序员转行AI大模型的困境,提出三条实用路径:RAG应用工程、Agent应用开发、模型微调与部署。强调工程能力在AI应用中的重要性,建议通过解决实际问题积累经验,而非单纯堆砌技术栈。文章指出,懂业务、善工程…...
全网首份DeepSeek-MMLU交叉验证报告:在真实业务场景中,高分≠高可用——5类典型失败案例与鲁棒性加固方案
更多请点击: https://intelliparadigm.com 第一章:DeepSeek-MMLU基准测试成绩全景概览 MMLU(Massive Multitask Language Understanding)是评估大语言模型跨学科知识广度与推理能力的关键基准,涵盖57个学科领域&#…...
