1、sample的整体架构

(1)sample其实有很多例程。

  • 将sample文件夹(+同层目录的include文件夹)导入SI后,搜索main时发现很多main函数。
  • 每一个例程面向一个典型应用,而common是通用性主体函数。
  • 我们只分析venc(视频编解码)。

(2)基本的架构

  • venc中的main调用venc中的功能函数,再调用common中的功能函数,再调用mpp中的API(在上层目录ko、lib中),再调用HI3518E内部的硬件单元。

(3)sample的配置和编译,重点注意很多环境变量,目录结构不要乱动。

  • 在每个例程下输入make可以进行编译,但要注意上图中Makefile.param的参数设置。见第一季8:三、2的描述。

2、sample代码学习的关键

(1)理解基础概念,譬如图像采集原理、模拟数字、通道、绑定等等。

(2)从宏观上理解整个视频采集、内部传递、处理、编码输出、网络传输等的过程。

(3)反复看代码,熟才能生巧,才能帮助理解整个代码。

(4)查阅mpp手册,熟悉海思这一套API的规矩和一般用法。

3、sample_venc的大体分析

(1)从main入手,main的传参分析

  • 我们在执行./sample_venc index时(这里的index可以是0~5或者缺省),不同的index情形对应main函数的参数的不同形式。因此main函数里面对参数的形式先进行判断再跳转到不同函数。
  • 这里重点分析case '0',即重点研究SAMPLE_VENC_1080P_CLASSIC()函数,因为主要研究AD->VI->VPSS->VENC->h264/h265这条主线。

(2)几个基本概念

  • 视频编码规范标准:H.264,H.265,MJPEG
  • 视频分辨率(清晰度):1080P、720P、VGA、D1
  • 帧率:fps(frame per second)。

第二季2:/package/mpp/sample的总体分析相关推荐

  1. 第二季4:HI_S32 SAMPLE_VENC_1080P_CLASSIC(HI_VOID)函数的分析

    以下内容源于朱有鹏课程与海思相关SDK文档的解读,如有侵权,请告知删除. 速览点 1.标题函数(提取码1111)在SDK/package/mmp/sample/venc/sample_venc.c中, ...

  2. 第二季5:配置视频捕获模块(step3:VI模块)

    以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除. 前言 本文将详细介绍博文第二季3:sample_venc.c的整体分析提及的"配置视频捕获模块". 分析方法上,我们 ...

  3. 第二季4:初始化MPP系统(step12)

    以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除. 前言 本文将详细介绍博文第二季3:sample_venc.c的整体分析中提及的"初始化MPP系统". MPP系统的初 ...

  4. 尚硅谷面试第二季(周阳主讲)

    尚硅谷面试第二季 1.volatile关键字 volatile是什么 volatile的作用 1.保证可见性 2.不保证原子性 3.禁止指令重排 DCL(单例模式双重锁) JMM模型 JMM是什么 J ...

  5. 第二季:7.怎么查看服务器默认的垃圾收集器是那个?生产上如何配置垃圾收集器的?谈谈你对垃圾收集器的理解?【Java面试题】

    第二季:7.怎么查看服务器默认的垃圾收集器是那个?生产上如何配置垃圾收集器的?谈谈你对垃圾收集器的理解?[Java面试题] 前言 推荐 7.怎么查看服务器默认的垃圾收集器是那个?生产上如何配置垃圾收集 ...

  6. 第二季:5公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁【Java面试题】

    第二季:5值传递和引用传递[Java面试题] 前言 推荐 值传递 说明 题目 24 TransferValue醒脑小练习 第二季:5公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自 ...

  7. Hi3518E_V200 SDK编译笔记 第二季

    转载自:https://blog.csdn.net/taotongning/article/details/84882431 1.官方sampe (1)海思官方提供的sampe位于Z:\Hi3518E ...

  8. Unity2D 商业游戏案例 - 梦幻西游(第二季 框架设计篇)

    00 网址 来源 siki学院的(1年有限期到期前下载的项目,现在已经过期,所以自己理清项目) 所以更多的不是学习这个项目,而是学习理清该类型的项目的思路 Unity2D 商业游戏案例 - 梦幻西游( ...

  9. codevs 1700 施工方案第二季

    1700 施工方案第二季 2012年市队选拔赛北京  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description c国边防 ...

最新文章

  1. MySQL中锁详解(行锁、表锁、页锁、悲观锁、乐观锁等)
  2. EXCEL基础篇(二)
  3. Java学习总结:10
  4. Guass列主元消去法求解线性方程组
  5. ubuntu 安装vsftpd 530 login incorrect
  6. Unit testing Cmockery 简单使用
  7. 在离线环境中使用.NET Core
  8. Minor GC和Full GC触发条件
  9. 曲线聚类_R语言确定聚类的最佳簇数:3种聚类优化方法
  10. Java第十周的作业
  11. 【小墨mysql】mysql系列之三---事务
  12. 世界有色金属杂志世界有色金属杂志社世界有色金属编辑部2022年第4期目录
  13. mysql linux .frm位置_linux 使用mysqlfrm
  14. C语言基础专业书,零基础学C语言(第3版) (康莉/李宽 等著) 中文pdf完整版[29MB]
  15. 快速实施中小企业ERP 不再繁冗而复杂
  16. CSUST 2007 我爱吃烧烤 (状压dp)
  17. docker login 明明账号密码都正确却登录失败 提示 The user name or passphrase you entered is not correct.
  18. 5G对传统金融业的革命性影响丨边缘计算阅读周
  19. python3 scrapy框架,Python3爬虫(十八) Scrapy框架(二)
  20. ADB之adb shell pm list packages

热门文章

  1. Postgres中tuple的组装与插入
  2. 使用Servlet实现用户注册
  3. 多个页面同时跳转到一个页面,然后返回到上级页面
  4. 使用jQuery queue(队列) 遇到的问题及解决方案
  5. [ZJOI2010]贪吃的老鼠
  6. mysqldump参数详细说明(转)
  7. 使用zerorpc踩的第一个坑:
  8. 使用WinIO库实现保护模式下的IO和内存读写
  9. Supermap 组合单值专题图与标签专题图演示样例
  10. iOS开发网络篇—Reachability检测网络状态