前言
1 概述
1.1 DSP的发展历程
1.2 DaVinci技术的主要特点
1.3 本书的结构
参考文献
2 数字视频评估模块DVEVM
2.1 引言
2.2 硬件环境的搭建
2.3 相关软件的安装
2.4 服务器的配置
2.4.1 概述
2.4.2 配置TPTP服务器
2.4.3 配置NFS服务器
2.4.4 配置DHCP服务器
2.5 Bootloader的烧写
2.6 设置DVEVM的启动参数
2.7 编写自己的程序示例
参考文献
3 数字视频软件开发套件DVSDK
3.1 引言
3.2 DVSDK的安装与配置
3.2.1 DVSDK的安装
3.2.2 配置DVSDK的编译开发环境
3.3 DVTB
3.3.1 DVTB的安装
3.3.2 DVTB的使用
3.4 Express DSP Component(XDC)
3.4.1 概述
3.4.2 XDC的使用规范
3.4.3 XDC的使用实例
参考文献
4 数字视频基础
4.1 引言
4.2 图像采样与颜色空间的基本概念
4.3 彩色电视制式
4.4 图像格式的几种常见的转换
4.4.1 YUV2RGB24
4.4.2 YUV2RGB16
4.4.3 UYVY2YUV
4.4.4 YUV2UYVY
4.5 常用视频格式
参考文献
5 V4L2驱动程序分析
5.1 引言
5.2 设备驱动的基础知识
5.3 视频采集的基本流程
5.4 打开/关闭一个设备
5.4.1 相关信息描述
5.4.2 相关结构体与函数
5.4.3 代码实现
5.5 初始化设备
5.5.1 相关信息描述
5.5.2 相关结构体与函数
5.5.3 代码实现
5.6 设定一个数据输入/输出的方法
5.6.1 相关信息描述
5.6.2 相关结构体与函数
5.6.3 代码实现
5.7 进入实际的输入/输出循环
5.7.1 相关信息描述
5.7.2 相关结构体和函数
5.7.3 代码实现
5.8 退出时释放相关资源
5.8.1 相关信息描述
5.8.2 相关结构体和函数
5.8.3 代码实现
参考文献
6 H.264/AvC技术分析
6.1 引言
6.2 结构框架
6.3 视频编码层(VCL)概述
6.4 档次和级别
6.5 编解码技术及算法分析
6.5.1 编解码技术概要
6.5.2 帧內预测编码
6.5.3 帧间预测及运动补偿
6.5.4 整数变换及量化
6.5.5 扫描与重排序
6.5.6 自适应熵编码
6.5.7 环路块滤波
参考文献
7 编解码引擎与服务器
7.1 引言
7.2 编解码引擎(Codec Engine)
7.2.1 概述
7.2.2 CEAPI的使用
7.2.3 VISA API的使用
7.2.4 编译一个编解码引擎
7.3 编解码服务器(Codec Server)
7.3.1 概述
7.3.2 编译一个编解码服务器
7.3.3 定制编解码器的內存映射
7.4 引擎与服务器的工作原理
7.4.1 概述
7.4.2 远过程调用的工作原理
7.4.3 引擎与服务器的通讯框架
7.4.4 引擎与服务器的通讯细节
参考文献
8 xDAIS和xDM算法接口标准
8.1 引言
8.2 xDAIS标准
8.2.1 概迷
8.2.2 算法实例接口(IALG)
8.2.3 算法DMA接口(IDMA)
8.3 xDM标准
8.3.1 概述
8.3.2 xDM接口
8.3.3 扩展一个算法
参考文献
9 视频传输相关技术分析与实现
9.1 引言
9.2 OSI模型与TCP/IP模型
9.3 进程到进程间的通讯
9.4 传输控制协议(TCP)
9.4.1 TCP的基本概念
9.4.2 TCP连接的建立
9.4.3 TCP的拥塞控制机制
9.4.4 TCP的会话吞吐率分析
9.4.5 TCP连接的关闭
9.4.6 TCP相关代码实现
9.5 用户数据报协议(UDP)
9.5.1 UDP的基本概念
9.5.2 UDP的流量和差错控制
9.5.3 UDP报文的封装和拆装
9.5.4 UDP的队列管理
9.5.5 UDP与TCP的区别
9.5.6 UDP相关代码实现
9.6 实时传输协议(RTP)
9.6.1 RTP的基本概念
9.6.2 RTP的分组格式
9.6.3 RTCP的分组格式
9.6.4 JRTPLIB库
9.6.5 RTP相关代码实现
参考文献
10 基于H.264的视频传输特性分析
10.1 引言
10.2 联合信源信道编码的基本原理
10.3 H.264的应用场合
10.4 H.264的NAL层
10.4.1 NAL的单元划分
10.4.2 NAL层基于流式传输
10.4.3 NAL基于数据包的传输
参考文献
附录A 用Eclipse构建集成开发环境
A.1 在Linux环境下安装与配置Eclipse
A.1.1 Eclipse简介
A.1.2 Eclipse的安装
A.2 用Eclipse构建DaVinci的开发环境
A.2.1 用Eclipse开发一般C/C++程序
A.2.2 用Eclipse开发基于DaVinci的程序
附录B 云台控制协议PELCO协议
B.1 引言
B.2 PELCO-P协议
B.3 PELCO-D协议
附录C 视频案例代码
C.1 encode.h
C.2 main.c
C.3 video.c
C.4 ui.h
C.4.1 ui.h
C.4.2 ui.c
C.5 cradlehead
C.5.1 cradlehead.h
C.5.2 cradlehead.c
C.6 nettools
C.6.1 nettools.h
C.6.2 nettools.c
C.7 crtl.c