
| Intel资深技术工程师10年编码解码技术精髓 深入浅出,剖析网络视频前沿关键技术 DirectX、DM642、MPEG-4、H.264、AVC、MMX/SSE一网打尽 |
| 《精通网络视频核心开发技术》 第1章 音频/视频技术基础1 1.1 数字音频、视频的基本概念2 1.1.1 数字音频技术的发展2 1.1.2 常见数字音频、视频文件格式3 1.2 数字音/视频的编/解码技术介绍8 1.2.1 音频数据的编码、解码8 1.2.2 视频数据的编码、解码10 1.2.3 音频/视频编码方案11 1.2.4 未来的音频/视频编码技术标准11 1.3 视频信息网络传输基础13 1.4 常见的音频/视频处理平台15 1.5 常用的音频/视频开发工具15 1.5.1 directsound16 1.5.2 directshow16 1.5.3 ccs算法16 第2章 visual c++ 2005开发环境介绍18 2.1 visual studio.net基础19 2.1.1 visual studio.net工具介绍19 2.1.2 安装visual studio 200519 .2.2 初识visual studio 2005环境21 2.2.1 visual studio 2005设置21 2.2.2 新建项目22 2.2.3 解决方案和类视图24 2.2.4 文本编辑器26 2.2.5 生成与查错28 2.3 使用向导完成开发29 2.3.1 创建应用程序29 2.3.2 生成应用库lib/dll39 2.4 安装visual studio 2005的常见问题40 第3章 mfc介绍42 3.1 mfc概述43 3.1.1 mfc编程的特点43 3.1.2 mfc类的分层结构44 3.1.3 mfc中的winmain()函数44 3.2 windows消息机制44 3.2.1 消息概述45 3.2.2 windows句柄46 3.2.3 消息的传送46 3.2.4 消息与事件47 3.3 对话框编程48 3.3.1 构建对话框应用程序48 3.3.2 设置对话框属性51 3.3.3 常见对话框的种类54 3.4 控件基础59 3.4.1 windows公共控件60 3.4.2 activex控件61 3.5 msdn中的巨大资源64 第4章 directx实现音频开发67 4.1 directx基础68 4.1.1 directx的历史68 4.1.2 版本与功能68 4.1.3 结构72 4.1.4 组成72 4.2 搭建directx开发环境75 4.2.1 获取directx76 4.2.2 安装directx sdk78 4.2.3 配置directx sdk80 4.3 directsound开发基础82 4.3.1 directsound能做什么83 4.3.2 directsound和directmusic的区别83 4.3.3 directsound sdk结构84 4.3.4 directsound播放功能介绍85 4.4 directsound使用方法详解85 4.4.1 directsound开发的基本步骤85 4.4.2 directsound对象介绍86 4.4.3 使用directsound设备对象87 4.4.4 使用directsound缓冲区对象92 4.4.5 使用wav数据100 4.4.6 使用directx媒体对象控制音效103 4.5 directsound环境配置108 4.5.1 directsound开发环境配置108 4.5.2 开发环境配置110 4.6 调试程序112 4.6.1 visual c++调试器112 4.6.2 一些基本的调试技术115 第5章 制作一个音频播放器116 5.1 先了解基础知识——缓冲区117 5.1.1 缓冲区的几种类型117 5.1.2 缓冲区通知117 5.2 系统总体设计和分析118 5.2.1 mci119 5.2.2 playsound()函数119 5.2.3 低级别wav音频设备120 5.3 播放文件122 5.3.1 创建directsound对象122 5.3.2 创建播放缓冲区122 5.3.3 创建directsoundbuffer对象125 5.4 总结directsound音频编程的步骤及方法127 5.5 项目具体实现128 5.5.1 创建项目程序框架128 5.5.2 添加控件和变量129 5.5.3 封装cdirectsound类实现directsound129 5.5.4 对话框界面操作139 5.5.5 编译和调试142 第6章 3d音效编程143 6.1 先了解基础知识144 6.1.1 directsound 3d介绍144 6.1.2 最大距离和最小距离145 6.1.3 处理模式介绍145 6.1.4 buffer的位置和速度146 6.1.5 声音的锥效应146 6.2 directsound 3d缓冲区对象147 6.3 directsound 3d虚拟听众148 6.3.1 听众空间参数148 6.3.2 获取3d听者150 6.3.3 距离因子和多普勒效应(doppler)151 6.4 增加声音特技using effects151 6.5 项目具体实现152 6.5.1 创建项目程序框架152 6.5.2 添加控件和变量153 6.5.3 实现流程分析155 6.5.4 编译和调试172 第7章 录制音频174 7.1 先了解基础知识175 7.1.1 录音的基本原理175 7.1.2 实现流程分析176 7.2 项目具体实现184 7.2.1 封装类184 7.2.2 管理函数188 7.2.3 编译和调试199 第8章 引入directshow201 8.1 directshow基础202 8.1.1 directshow介绍202 8.1.2 directshow构成202 8.2 搭建directshow sdk开发环境205 8.2.1 获取directshow sdk205 8.2.2 安装directshow sdk206 8.3 配置directshow sdk开发环境208 8.3.1 生成directshow sdk库208 8.3.2 配置visual c++ 2005213 8.3.3 最后看笔者机器的调试过程215 8.4 directshow使用案例219 8.4.1 滤镜和图像滤镜介绍219 8.4.2 编写一个directshow程序220 8.4.3 使用graphedt.exe播放avi文件220 8.4.4 编程实现播放avi文件221 第9章 directshow开发详解225 9.1 filter graph及其组成226 9.1.1 directshow的filter226 9.1.2 filter graph manager对象227 9.1.3 媒体类型228 9.1.4 媒体样本samples和分配器allocators231 9.2 构建filter graph231 9.2.1 链表构建组件231 9.2.2 智能连接初步介绍232 9.2.3 grap构建概述232 9.2.4 智能连接详解233 9.3 数据流在filter graph里的流动235 9.3.1 传输236 9.3.2 样本samples和分配器allocators236 9.3.3 filter状态238 9.3.4 拉模式239 9.4 事件通知机制239 9.4.1 概述239 9.4.2 从队列中取事件240 9.4.3 当事件发生时240 9.5 directshow中的时间和时钟242 9.5.1 参考时钟243 9.5.2 时钟时间243 9.5.3 时间戳244 9.5.4 实时源245 9.6 动态重建246 9.6.1 动态重连246 9.6.2 filter链248 9.7 插件发布者249 9.8 directshow的重要接口251 9.8.1 常用的directshow接口251 9.8.2 用directshow来使用摄像头252 9.9 再次总结directshow程序开发过程253 9.10 directshow sdk典型开发案例254 9.10.1 开发一个媒体播放器254 9.10.2 基于directshow的流媒体解码和回放255 9.10.3 尝试用directshow实现视频马赛克处理256 9.10.4 使用directshow驱动摄像头262 9.10.5 directshow视频采集264 9.10.6 录制视频274 9.10.7 音频采集279 9.10.8 directshow在网络方面的应用281 第10章 dv视频采集编程303 10.1 系统分析与设计304 10.1.1 采集设备的枚举304 10.1.2 使用capturegraphbuilder307 10.1.3 采集参数的设置307 10.2 使用vmr实现视频图像捕获309 10.2.1 vmr技术基础309 10.2.2 graphedit模拟实现视频捕获预览310 10.2.3 实现视频图像捕获类cvmr_capture311 10.2.4 界面设计319 10.2.5 运行演示323 第11章 vfw视频处理325 11.1 系统分析与设计326 11.1.1 vfw概述326 11.1.2 vfw开发流程326 11.1.3 vfw视频捕获流程328 11.1.4 视频编辑和播放329 11.2 一个简单的基于vfw的视频预览330 11.3 vfw实现视频捕获和预览333 11.3.1 建立单文档应用程序333 11.3.2 创建视频窗口335 11.3.3 创建回调函数336 11.3.4 设置视频图像339 11.3.5 捕获预览视频341 11.3.6 设置视频格式和图像参数342 11.3.7 其他相关操作343 11.4 视频压缩管理器347 11.4.1 视频压缩管理器初步(1)347 11.4.2 视频压缩管理器初步(2)348 11.4.3 压缩、解压缩及renderers的注册表项目353 11.4.4 能完成的任务354 11.4.5 vfw中vcm的基本操作过程及相关函数356 11.4.6 应用vcm案例358 11.5 xvid codec算法实现编码、解码363 11.5.1 xvid基础364 11.5.2 编译xvid372 11.5.3 xvid编码、解码实例374 第12章 编码和解码基础382 12.1 数字音频和数字视频介绍383 12.1.1 数字音频383 12.1.2 数字视频384 12.1.3 视频压缩386 12.2 音频编码处理388 12.2.1 音频编码方法388 12.2.2 mpeg-1音频392 12.2.3 mpeg-2音频400 12.2.4 mpeg-4音频404 12.3 视频编码处理411 12.3.1 h.261和h.263标准412 12.3.2 mpeg标准414 12.3.3 mpeg-1和mpeg-2视频标准418 12.3.4 mpeg-4编码标准424 12.3.5 mpeg-7编码标准425 第13章 mmx/sse编程427 13.1 mmx/sse基础428 13.1.1 mmx多媒体扩展428 13.1.2 sse指令428 13.1.3 3d now指令429 13.1.4 其他几种技术430 13.2 mmx指令介绍431 13.2.1 mmx指令基础431 13.2.2 cpu寄存器436 13.2.3 mmx内联汇编原则437 13.2.4 mmx在visual c++中的使用438 13.2.5 mmx编程实例439 13.3 sse/sse 2指令450 13.3.1 sse/sse 2基础450 13.3.2 sse/sse 2编程设计451 13.3.3 sse编程实例453 第14章 dm642视频编码/解码编程459 14.1 tms320dm642概述460 14.2 ccs开发环境460 14.2.1 ccs概述461 14.2.2 ccs系统配置462 14.2.3 代码生成工具463 14.2.4 ccs集成开发环境简介464 14.2.5 dsp/bios 插件465 14.2.6 硬件仿真和实时数据交换467 14.2.7 第三方插件469 14.2.8 ccs文件和变量469 14.3 ccs开发一个简单的应用程序470 14.3.1 创建工程文件471 14.3.2 向工程添加文件471 14.3.3 查看源代码472 14.3.4 编译和运行程序473 14.3.5 修改程序选项和纠正语法错误474 14.3.6 使用断点和观察窗口475 14.3.7 测算源代码执行时间476 14.4 常见应用介绍477 14.4.1 dm642在视频应用的模块478 14.4.2 dm642启动过程分析479 14.4.3 在dsp dm642上移植yaffs2481 14.4.4 dm642 rf框架小结483 14.4.5 基于tms320c64x/dm64x的视频编码优化486 14.4.6 dm642视频采集与回放489 14.4.7 视频会议系统的主流解决方案与技术趋势493 14.5 dsp视频算法优化498 14.5.1 基于dsp的视频算法系统优化若干策略498 14.5.2 mpeg音频解码算法的dsp设计和优化501 14.5.3 基于dsp的信道译码算法优化504 14.6 基于dsp的jpeg图像解码算法的实现508 14.6.1 jpeg图像算法基础508 14.6.2 jpeg编码算法的dsp优化实例511 14.7 最后的迷津——哈夫曼编码519 第15章 实现mpeg-4编码/解码528 15.1 mpeg-4编/解码概述529 15.1.1 基于对象的mpeg-4视频编码529 15.1.2 xvid格式文件播放529 15.2 xvid codec编/解码分析529 15.2.1 mpeg-4编/解码设计分析530 15.2.2 mmx/sse2实现xvid codec556 15.3 sse2汇编指令优化核心模块559 15.4 dm642下的xvid codec优化561 15.5 运行xvid codec系统566 15.5.1 yuv原始视频数据及其显示566 15.5.2 在visual c++平台下编译/运行xvid codec567 15.5.3 codec在dsp下软仿真和硬仿真569 15.6 系统运行效果569 第16章 h.264/avc编码技术详解571 16.1 h.264/avc的特点与结构572 16.1.1 技术特点572 16.1.2 编码结构与格式573 16.2 h.264/avc的预测编码577 16.2.1 帧内预测577 16.2.2 帧间预测与运动补偿580 16.3 h.264/avc的块编码582 16.3.1 4×4整数dct583 16.3.2 量化586 16.3.3 cavlc588 16.3.4 cabac592 16.4 x.264视频编码设计和分析596 16.4.1 x.264应用工程596 16.4.2 libx264编码库602 16.4.3 视频帧的存放和获取604 16.4.4 视频帧压缩编码vcl607 16.4.5 码流nal打包输出614 16.5 x.264核心模块的mmx/dsp汇编优化615 16.5.1 mmx/dsp汇编优化615 16.5.2 dm642线性汇编优化616 第17章 制作一个媒体播放器619 17.1 系统分析和设计620 17.1.1 功能需求和效果展示620 17.1.2 设计filtergraph结构621 17.1.3 实现graphedit模拟621 17.1.4 设计界面623 17.2 实现媒体控制类627 17.2.1 cdxgraph类初始化627 17.2.2 创建graph滤波器链表629 17.2.3 设计图像窗口631 17.2.4 媒体播放控制632 17.2.5 视频全屏显示635 17.2.6 抓图保存636 17.3 实现播放器主题637 17.3.1 打开一个媒体文件637 17.3.2 渲染媒体文件637 17.3.3 播放媒体文件638 17.3.4 实现控制功能639 17.3.5 实现拖放功能643 17.3.6 实现音量调节功能644 17.3.7 添加背景图片645 第18章 网络视频监控系统647 18.1 中国视频监控市场现状与发展趋势648 18.2 系统分析648 18.3 系统设计649 18.4 系统预览649 18.5 编码规则介绍650 18.6 设计数据库651 18.7 开发前的最后准备——选购监控卡652 18.7.1 选购监控卡652 18.7.2 软件准备653 18.7.3 安装监控卡653 18.8 具体编程实现653 18.8.1 设计公共模块653 18.8.2 设计主窗体659 18.9 设计管理员登录模块675 18.10 设计监控管理模块677 18.10.1 监控管理技术分析678 18.10.2 编程监控管理678 18.10.3 单元测试处理682 18.11 设计广角自动监控模块682 18.11.1 可行性分析683 18.11.2 编程实现684 18.11.3 单元测试687 18.12 设计视频回放模块688 18.12.1 技术分析689 18.12.2 编程实现689 18.13 分析绚丽界面的实现方法690 18.13.1 绚丽的界面是客户的需求690 18.13.2 编程实现690 |
商品评论(0条)