简介
于广编著的这本《精通网络视频核心开发技术》由浅入深地讲解了
Visual C++在音频和视频领域的开发技术,并通过具体的实例来讲解其具
体的实现流程。全书内容分为18章,详细讲解了使用各种软件和平台进行
音/视频多媒体编程的技术,以案例为对象展示实现过程、分析技术难点。
主要内容包括DirectSound开发音频、DirectShow/VFW开发视频、MMX/SSE
进行多媒体汇编编程、DM642 DSP进行音/视频算法优化和主流视频算法
MPEG-4/H.264的编码原理及工程实践。
《精通网络视频核心开发技术》系统地介绍了使用Visual C++ 2005进
行流媒体编程的基本思路和方法,采用案例为主的叙述方式,将大量的技
术理论融入具体的案例剖析中。书中采用的案例均来源于作者的实际开发
工作,具有很好的实用价值,方便广大开发者在开发中进行参考或直接应
用。
随书所附光盘包含书中实例源文件。
内容丰富、安排合理、工程实用性强,能够为广大数字媒体或音/视频
开发人员、高等院校相关专业的课程设计、毕业设计提供参考,同时也可
以作为科研单位、企业进行流媒体开发的技术指导用书。
目录
《精通网络视频核心开发技术》
第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 directsound 16
1.5.2 directshow 16
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 2005 19
.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/dll 39
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 获取directx 76
4.2.2 安装directx sdk 78
4.2.3 配置directx sdk 80
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 mci 119
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类实现directsound 129
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 effects 151
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章 引入directshow 201
8.1 directshow基础 202
8.1.1 directshow介绍 202
8.1.2 directshow构成 202
8.2 搭建directshow sdk开发环境 205
8.2.1 获取directshow sdk 205
8.2.2 安装directshow sdk 206
8.3 配置directshow sdk开发环境 208
8.3.1 生成directshow sdk库 208
8.3.2 配置visual c++ 2005 213
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的filter 226
9.1.2 filter graph manager对象 227
9.1.3 媒体类型 228
9.1.4 媒体样本samples和分配器allocators 231
9.2 构建filter graph 231
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和分配器allocators 236
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 使用capturegraphbuilder 307
10.1.3 采集参数的设置 307
10.2 使用vmr实现视频图像捕获 309
10.2.1 vmr技术基础 309
10.2.2 graphedit模拟实现视频捕获预览 310
10.2.3 实现视频图像捕获类cvmr_capture 311
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 编译xvid 372
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上移植yaffs2 481
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 codec 556
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 codec 567
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整数dct 583
16.3.2 量化 586
16.3.3 cavlc 588
16.3.4 cabac 592
16.4 x.264视频编码设计和分析 596
16.4.1 x.264应用工程 596
16.4.2 libx264编码库 602
16.4.3 视频帧的存放和获取 604
16.4.4 视频帧压缩编码vcl 607
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
第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 directsound 16
1.5.2 directshow 16
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 2005 19
.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/dll 39
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 获取directx 76
4.2.2 安装directx sdk 78
4.2.3 配置directx sdk 80
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 mci 119
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类实现directsound 129
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 effects 151
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章 引入directshow 201
8.1 directshow基础 202
8.1.1 directshow介绍 202
8.1.2 directshow构成 202
8.2 搭建directshow sdk开发环境 205
8.2.1 获取directshow sdk 205
8.2.2 安装directshow sdk 206
8.3 配置directshow sdk开发环境 208
8.3.1 生成directshow sdk库 208
8.3.2 配置visual c++ 2005 213
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的filter 226
9.1.2 filter graph manager对象 227
9.1.3 媒体类型 228
9.1.4 媒体样本samples和分配器allocators 231
9.2 构建filter graph 231
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和分配器allocators 236
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 使用capturegraphbuilder 307
10.1.3 采集参数的设置 307
10.2 使用vmr实现视频图像捕获 309
10.2.1 vmr技术基础 309
10.2.2 graphedit模拟实现视频捕获预览 310
10.2.3 实现视频图像捕获类cvmr_capture 311
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 编译xvid 372
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上移植yaffs2 481
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 codec 556
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 codec 567
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整数dct 583
16.3.2 量化 586
16.3.3 cavlc 588
16.3.4 cabac 592
16.4 x.264视频编码设计和分析 596
16.4.1 x.264应用工程 596
16.4.2 libx264编码库 602
16.4.3 视频帧的存放和获取 604
16.4.4 视频帧压缩编码vcl 607
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
精通网络视频核心开发技术
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!
