博客大管家小废 物
Tutorial02 本篇和Tutorial01的主流程差别不大,只是将’DO SOMETHING WITH frame’从将前5帧保存为PPM文件改为以最快的解码速度将得到的帧播放出来。代码也相当简单,我们直接进入更新。
An ffmpeg and SDL Tutorial在ffmpeg-1.0.1上的更新 Tutorial01 http://cutebunny.blog.51cto.com/blog/301216/1121847 本篇是整个系列的基础,详细介绍了ffmpeg的整个工作流程,以及重要的数据结构。Sample code实现了将视频中的前5帧图像
序言 http://cutebunny.blog.51cto.com/301216/d-8 最近在学习ffmpeg,这的确是一个无比强大的音视频编解码开源库,强大到一些著名的播放器都赫然列在它的Hall of Shame上。可它的缺点是官方没提供什么学习资料,目前网络上能找到的比较经典的也只有Stephen Dranger的那个A
没错,是“漫谈”,而且“漫”得有点乱。然而,抛砖尚可引玉,想到的事情,纵然脉络不是很畅,写下来也不是坏事。开卷有益,动笔也有益。 一切缘自一位C语言开发经验非常丰富的的朋友问我的一个问题。朋友问:“C++中的new在分配内存失败时会抛出异常(std::bad_alloc)而不返回0(一些老的编译器可能还在
我们在第七节http://cutebunny.blog.51cto.com/301216/625577中探讨了如何获取系统中所有磁盘的磁盘号。但是在很多情况下,仅仅是磁盘号并不能满足我们的需求,我们希望在应用程序界面上显示更详细的磁盘信息。通过前面几节的方法,我们已经可以获得许多磁盘信息,例如磁盘大小,柱面,扇区,分区等等。但是如下图所示,我们在设备管理器中看到的“WDC WD1600
最近碰到了个新问题,记录下来作为windows的磁盘操作那个系列的续篇吧。 一些时候我们的程序需要区分本地存储设备和USB存储设备。在网上搜一搜一般会找到一个最直接的API,GetDriveType,其原型为 UINT GetDriveType(LPCTSTR lpRootPathName) 参数lpRootPathName是存储设备的根目录,例如C:\,返回值即为设备类型。
首先我们来看两段简单的程序,如果你不进行编译运行 , 猜一猜结果分别是多少? 程序一 1 #include <iostream> 2 #include <iomanip> 3 using namespace std; 4&nb
格式化分区平常在我们看来是再普通不过的操作了,点两下鼠标就可以搞定的事情,但是在程序中实现的的确确不太容易。可能有人说直接调个format命令不就好了,没错,但系统命令存在我们第一节http://cutebunny.blog.51cto.com/301216/624027中阐述的种种问题。 算上format命令,目前我发现有三种方法, 1.Windows API SHFormatDrive。函
有了前几节的基础后,本节给出一个更复杂但却非常实用的例子。 很多情况下,我们想知道当前系统下安装了多少块磁盘,他们的物理驱动器号都是多少,每一块磁盘上有多少个分区,分区号怎么分布,每个分区大小是多少。这就类似于我们打开windows的磁盘管理看到的那种非常清晰的列表。对于后几个问题,我们根据物理驱动器号调用第五节http://cutebunny.blog.51cto.com/30
很多情况下,我们在程序中需要获知操作系统安装在哪个分区上或者哪个物理磁盘上,进而对其进行一些操作或避免一些操作。例如要避免对系统磁盘分区表的删除操作。本节讨论如何获取操作系统所在的逻辑分区号和物理驱动器号。 还是先上代码。 /****************************************************************************** * Fun
本节讨论与上一节相反的操作,根据物理驱动器号获取该磁盘上的所有分区号。DeviceIoControl函数并没有提供操作码来直接完成此操作,所以需要稍微绕个圈子来实现这项功能。 大体思路为,先通过GetLogicalDrives函数获得系统中所有分区号,然后过滤掉非硬盘分区(例如软驱、光驱),再过滤掉不属于指定物理磁盘的分区,最后剩下的就是我们所需要的分区号了。 代码如下 /*
第一节中http://cutebunny.blog.51cto.com/301216/624027我们谈到了磁盘设备名称的两种形式: 对于物理驱动器x,形式为 \\.\PhysicalDriveX,编号从0开始,例如 名称
上一节中介绍了如何初始化一块空白的磁盘,并创建分区。那么对于一块已存在分区的磁盘,我们如何获得其分区信息,如何删除其分区信息呢?本节对这两类操作进行讨论。 获得磁盘分区信息的代码如下。 /****************************************************************************** * Function: get
上一节中我们介绍了一些基本概念和主要的API,本节开始我们将列举并分析一些实例。本文中的所有代码我都在vs2008下测试过,读者只需要替换少量的宏定义即可编译执行。 面对一块新的磁盘,我们首先要做的就是对其初始化。在系统中通过windows的磁盘管理完成这一点非常容易,但在程序中实现略微复杂。本节的示例代码对一块新硬盘初始化,并在上面创建分区。 代码如下: /
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号