Visual C++音频/视频处理技术及工程实践PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:路锦正,周冬梅编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2009
- ISBN:9787121078903
- 页数:648 页
第1篇 开发基础 1
第1章 数字音/视频开发技术基础 3
1.1 数字音/视频基本概念 4
1.1.1 数字音频技术基础 4
1.1.2 各种数字音频文件格式基础 4
1.1.3 视频的相关基础概念 8
1.1.4 常见的视频文件格式 8
1.2 数字音/视频数据的编/解码技术 10
1.2.1 音频数据的编/解码 11
1.2.2 视频数据的编/解码 13
1.2.3 音/视频编码的相关标准 13
1.3 音/视频处理平台的选择 15
1.3.1 个人多媒体计算机 15
1.3.2 嵌入式处理器ARM 16
1.3.3 数字媒体处理器DSP 16
1.4 音/视频开发的典型应用 16
1.4.1 个人消费类电子产品 16
1.4.2 公共领域的音/视频应用 18
1.5 常用音/视频开发工具 21
1.5.1 DirectSound音频开发 21
1.5.2 DirectShow视频开发 21
1.5.3 DSP CCS算法开发 22
1.6 本章小结 23
第2章 Visual C++ 2005开发基础 25
2.1 Visual C++ 2005新增特性 26
2.1.1 句柄(Handles) 26
2.1.2 类型的声明 26
2.1.3 对代码编辑的改进 27
2.2 VC能做的事情 27
2.2.1 生成传统的控制台应用程序 27
2.2.2 生成基于MFC的应用程序 32
2.2.3 生成静态链接库 40
2.2.4 生成动态链接库 41
2.3 利用向导完成基本开发 46
2.3.1 生成应用程序 46
2.3.2 生成应用库LIB/DLL 53
2.4 MFC编程基础 56
2.4.1 Windows消息与事件 56
2.4.2 消息与事件的响应 63
2.4.3 常用消息 66
2.5 基于对话框的编程 68
2.5.1 创建和编辑对话框 68
2.5.2 对话框种类 75
2.6 常用控件使用技巧 79
2.6.1 按钮类控件的使用 80
2.6.2 文本可编辑类控件的使用 81
2.6.3 静态类控件的使用 82
2.6.4 其他控件 83
2.7 Visual 2005开发技术资源 84
2.7.1 MSDN在线帮助 84
2.7.2 丰富的网络资源 86
2.8 Visual 2005开发的常见问题 86
2.8.1 如何使用volatile和const_cast 86
2.8.2 如何构造unicode版本的程序 87
2.8.3 如何使用.def文件 87
2.8.4 如何正确编写Win32 DLL 87
2.8.5 如何编写和使用资源DLL 88
2.8.6 如何实现对话框的数据交换 88
2.9 本章小结 89
第2篇 音频开发 91
第3章 DirectSound开发基础 93
3.1 Microsoft DirectSound SDK 94
3.1.1 比较DirectSound与DirectMusic 94
3.1.2 DirectSound SDK能做什么 95
3.1.3 如何获取DirectSound SDK 96
3.1.4 DirectSound SDK的基本结构 98
3.1.5 DirectSound SDK安装 100
3.1.6 选择最适合用户的DirectSound SDK 100
3.1.7 用DirectSound进行编程的必要步骤 102
3.2 DirectSound的详细使用方法 103
3.2.1 DirectSound设备对象 104
3.2.2 DirectSound缓冲区对象 107
3.2.3 使用WAV数据 114
3.2.4 使用音效 116
3.3 开发环境配置 118
3.3.1 Visual C++基本开发环境配置 119
3.3.2 DirectSound应用程序的开发环境配置 119
3.3.3 DirectSound Filter开发环境配置 121
3.4 调试音频处理程序 125
3.4.1 Visual C++调试器 125
3.4.2 DirectSound中常用的调试技术 128
3.5 DirectSound开发的常见问题 130
3.6 本章小结 131
第4章 打造自己的音频播放器 133
4.1 系统设计和分析 134
4.2 缓冲区和通知基础 135
4.2.1 缓冲区的概念 135
4.2.2 缓冲区的通知 136
4.3 播放文件 137
4.3.1 创建DirectSound对象 137
4.3.2 创建播放缓冲区 138
4.3.3 调用方法播放声音 145
4.3.4 结束播放 146
4.4 系统效果演示 146
4.4.1 新建基于对话框的程序框架 147
4.4.2 添加控件及变量 147
4.4.3 封装CDirectSound类实现DirectSound声音播放 148
4.4.4 与对话框界面相关操作实现 156
4.4.5 程序运行结果 159
4.5 DirectSound开发常见问题 160
4.6 本章小结 161
第5章 语音3D特效器制作 163
5.1 系统设计和分析 164
5.2 DirectSound 3D缓冲区 164
5.2.1 获取3D缓冲区对象 165
5.2.2 最大距离和最小距离 166
5.2.3 处理模式 167
5.2.4 声音圆锥 167
5.3 DirectSound 3D虚拟听众 168
5.3.1 获得3D听众 168
5.3.2 听众的空间参数 169
5.3.3 距离因子与Doppler效应 171
5.3.4 滚降因子与延迟设置 173
5.4 系统效果演示 174
5.4.1 具体的实现步骤 174
5.4.2 程序的实现代码 176
5.4.3 程序运行结果 186
5.5 DirectSound 3D开发常见问题 187
5.6 本章小结 188
第6章 对拾音设备录制自己的语音文件 189
6.1 系统分析和设计 190
6.2 管理捕获缓冲区 191
6.2.1 创建捕获缓冲区 191
6.2.2 启动缓冲区 197
6.2.3 封锁缓冲区 197
6.2.4 解锁缓冲区 198
6.2.5 中止捕获 199
6.3 系统效果演示 199
6.3.1 声音类的封装 199
6.3.2 声音管理函数的实现 202
6.3.3 程序运行结果 214
6.4 DirectSound录制语音文件开发常见问题 215
6.5 本章小结 216
第3篇 视频开发 217
第7章 DirectShow开发基础 219
7.1 Microsoft DirectShow SDK 220
7.1.1 DirectX及成员组成 220
7.1.2 DirectShow SDK能做什么 221
7.1.3 如何获取DirectShow SDK 221
7.1.4 安装DirectShow SDK 222
7.2 开发环境配置 224
7.2.1 生成DirectShow SDK开发库 224
7.2.2 Visual C++开发环境配置 229
7.2.3 常见问题解析集锦 232
7.3 DirectShow SDK基本架构 234
7.3.1 DirectShow SDK总体架构 234
7.3.2 DirectShow SDK简单应用程序案例 236
7.3.3 滤波器链表Filer Graph及各种组件 244
7.3.4 构建滤波器链表(Building Filer Graph) 252
7.3.5 滤波器链表中的数据流动Data Flow 257
7.3.6 DirectShow中的事件通知机制 261
7.3.7 常用DirectShow SDK接口 267
7.4 DirectShow SDK常用开发案例 267
7.4.1 通用开发流程 268
7.4.2 系统初始化 268
7.4.3 媒体播放方法 268
7.4.4 消息处理方法 270
7.4.5 视频采集技术 271
7.4.6 音频采集案例 282
7.5 本章小结 293
第8章 打造自己的媒体播放器 295
8.1 系统分析与设计 296
8.1.1 FilterGraph结构设计 297
8.1.2 GraphEdit模拟实现 297
8.1.3 界面设计 299
8.2 实现媒体控制类 307
8.2.1 CDXGraph类初始化 308
8.2.2 创建Graph滤波器链表 309
8.2.3 图像窗口设计 311
8.2.4 媒体播放控制 312
8.2.5 全屏显示及抓图存盘实现 315
8.3 实现一个简单的媒体播放器 317
8.4 升级你的播放器 321
8.4.1 添加控制功能 321
8.4.2 添加拖放功能 325
8.4.3 添加音量调节功能 326
8.4.4 添加欢迎背景图片 328
8.5 系统效果展示 328
8.6 如何播放更多的文件格式 329
8.7 本章小结 330
第9章 自制DV实现视频采集 331
9.1 系统分析与设计 332
9.1.1 采集设备的枚举 332
9.1.2 使用Capture Graph Builder 335
9.1.3 采集参数的设置 336
9.2 使用经典采集技术实现视频捕获 338
9.2.1 GraphEdit模拟实现 338
9.2.2 视频捕获类CCaptureClass的实现 340
9.2.3 界面设计 345
9.3 使用VMR技术实现视频图像捕获 350
9.3.1 VMR技术基础 350
9.3.2 GraphEdit模拟实现视频捕获预览 350
9.3.3 视频图像捕获类CVMR_Capture的实现 353
9.3.4 界面设计 361
9.4 系统效果演示 366
9.4.1 实例一 系统效果演示 367
9.4.2 实例二 系统效果演示 368
9.5 本章小结 369
第10章 VFW技术实现视频处理通用平台 371
10.1 VFW开发技术流程分析 372
10.1.1 技术概述 372
10.1.2 VFW采集开发流程图 373
10.2 使用VFW实现视频捕获和预览 373
10.2.1 建立单文档应用程序 373
10.2.2 创建视频窗口 375
10.2.3 设计回调函数 376
10.2.4 视频图像显示设置 378
10.2.5 捕获预览视频 379
10.2.6 配置视频格式及图像参数 381
10.3 使用系统插件实现视频编/解码 382
10.3.1 使用系统视频编/解码插件 383
10.3.2 视频编码码流写AVI文件 385
10.3.3 关闭平台 387
10.4 使用XviD CODEC算法实现视频编/解码 388
10.4.1 生成XviD算法静态库(编译过程) 388
10.4.2 实现XviD CODEC视频编码算法函数 389
10.4.3 实现XviD CODEC视频解码算法函数 393
10.4.4 使用XviD CODEC编/解码算法 395
10.5 平台应用效果展示 398
10.6 本章小结 399
第4篇 编/解码技术 401
第11章 纵览音/视频编/解码技术 403
11.1 数字音/视频基础 404
11.2 音/视频编/解码及方法 406
11.2.1 音频编码方法 406
11.2.2 视频编码方法 410
11.3 编/解码技术标准 417
11.3.1 静态图像编码标准 418
11.3.2 MPEG-4/H.264视频算法 424
11.3.3 AVS国产视频编码标准 430
11.4 编/解码产业及发展 431
11.4.1 编/解码资源一览 431
11.4.2 编/解码发展前景 432
11.5 本章小结 433
第12章 使用MMX/SSE 2进行多媒体编程 435
12.1 MMX/SSE 2技术基础 436
12.2 MMX/SSE 2指令剖析 439
12.2.1 MMX媒体扩展指令 439
12.2.2 MMX程序设计 444
12.2.3 SSE/SSE 2媒体扩展指令 455
12.2.4 SSE程序设计详细解析 457
12.3 使用MMX/SSE2进行音/视频开发 463
12.3.1 开发前技术准备 464
12.3.2 MMX/SSE 2视频编/解码编程 465
12.3.3 使用VC调试MMX/SSE 2程序 470
12.4 MMX/SSE 2开发常见问题 472
12.4.1 制订计划 472
12.4.2 哪部分代码可使用MMX技术改进 473
12.4.3 代码是浮点型还是整型 473
12.4.4 EMMS准则 474
12.4.5 CPUID的检测MMX技术的用法 474
12.4.6 数据对齐 474
12.4.7 数据安排 475
12.4.8 应用程序最后的调整 476
12.5 本章小结 476
第13章 用DM642实现视频编/解码技术 477
13.1 数字媒体处理器TMS320DM642DSP概述 478
13.2 DSP软件开发环境CCS 481
13.2.1 安装CCS 481
13.2.2 CCS主要部件 482
13.2.3 使用CCS优化工具实现算法优化 488
13.3 用C语言进行视频算法框架编程 492
13.3.1 C编程规则和参考 492
13.3.2 DSP关键字与CMD文件使用 493
13.3.3 算法系统资源剖析 495
13.4 DM642实现视频算法优化 497
13.4.1 并行算法指令和建立软件流水 497
13.4.2 使用intrinsic指令完成核心模块的优化 499
13.4.3 使用DSP线性汇编优化核心模块 500
13.4.4 使用Cache技术实现算法优化 507
13.4.5 使用乒乓式EDMA实现算法优化 508
13.5 DM642优化视频算法常见问题 513
13.6 本章小结 518
第14章 XviD CODEC实现MPEG-4编/解码 519
14.1 MPEG-4编/解码概述 520
14.1.1 基于对象的MPEG-4视频编码 520
14.1.2 XviD格式文件播放 520
14.2 XviD CODEC编/解码分析 521
14.2.1 MPEG-4编/解码设计与剖析 521
14.2.2 MMX/SSE 2实现XviD CODEC 549
14.2.3 DM642下XviD CODEC优化 553
14.3 运行XviD CODEC系统 559
14.3.1 YUV原始视频数据及其显示 559
14.3.2 VC平台下编译和运行XviD CODEC 559
14.3.3 CODEC在DSP下软仿真和硬仿真 562
14.4 系统效果展示 562
14.5 本章小结 563
第15章 X264实现H.264/AVC视频编码 565
15.1 H.264/AVC编码概要 566
15.1.1 开源代码工程管理软件 566
15.1.2 获取开源算法工程 566
15.1.3 H.264/AVC新特性 567
15.2 X264视频编码分析 568
15.2.1 H.264/AVC关键技术要点 569
15.2.2 X264视频编码设计与剖析 577
15.2.3 X264核心模块MMX/DSP汇编优化 599
15.3 运行X264编码系统 606
15.3.1 VC平台下编译和运行X264 606
15.3.2 JM验证X264码流 610
15.3.3 ffmpeg中的H.264视频解码 611
15.4 系统效果展示 611
15.4.1 X264实现H.264/AVC视频编码 611
15.4.2 ffmpeg-h264-vc工程实现H.264视频解码 612
15.5 本章小结 613
第16章 打造自己的DVR监控系统 615
16.1 DVR监控系统分析与设计 616
16.1.1 监控系统分类 616
16.1.2 监控系统组成 617
16.1.3 基于压缩板卡的SDK软件开发包 619
16.2 DVR监控系统主界面软件设计 621
16.2.1 对话框应用程序开发 621
16.2.2 位图按钮设计 622
16.3 模拟DVR视频采集 636
16.3.1 基于DirectShow的视频采集回放 636
16.3.2 基于DirectShow的影音文件回放 638
16.4 系统效果展示 643
16.5 本章小结 644
附录A 旧版VC升级到VC 2005程序安全的10点注意事项 645
附录B 开发常见问题 647
- 《市政工程基础》杨岚编著 2009
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《化学反应工程》许志美主编 2019
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017