排序:
默认
按更新时间
按访问量

ffmpeg的demux流程简析

只是简单说说,没太多深入。 【avformat_open_input 流程】 这里我只说根据字节流来分析的过程,而不管扩展名啊什么的。 1、如果没申请,它会内部调用avformat_alloc_context帮你申请结构体; 2、如果有io的pb,它会自动加上AVFMT_FLAG_CU...

2015-06-07 01:33:17

阅读数:3356

评论数:0

MFT的调用流程

应朋友要求,写了个,CSDN也发下吧。 异步MFT不讨论,我只说同步MFT模型。 一般对于一个同步MFT,你只需要实现以下的方法即可。

2015-06-02 08:34:09

阅读数:1200

评论数:3

谷歌C++风格拾遗

谷歌C++风格文档真是一个好东西,为C++开发提供了一个便捷高效又有无数人在实践和验证的白皮书,虽然其中并不是所有说法都是客观的,但是既然是经过谷歌这样的公司投入实际应用的,那总不会有很大的坏处,至少不会给你带来麻烦,所以我个人一直都比较坚持使用这套风格,而不是类似国内阿里巴巴这种挫逼公司把C++...

2015-04-23 09:03:49

阅读数:867

评论数:1

关于MFT的消息处理

MFT_MESSAGE_NOTIFY_BEGIN_STREAMING: 客户端可以不发送这个消息,如果客户端发送这个消息,则必需已经为MFT设置了输入媒体类型,并且这个消息应该在ProcessInput前发送。 发送这个消息通知MFT申请ProcessInput的资源和缓冲区。 如果客户端不...

2014-12-29 19:40:00

阅读数:1098

评论数:0

编写媒体基础MFT组件

翻译:a1875566250 @ CSDN博客,转载请注明出处。 - 基本MFT处理模型 - 原文:http://msdn.microsoft.com/en-us/library/windows/desktop/aa965264%28v=vs.85%29.aspx 本主题适用于: ...

2014-11-17 17:16:47

阅读数:1461

评论数:1

TS文件解析流程

1、查找PAT表,从PAT表里面找到所有的PMT表的map_id。  - 注意1:PAT表并不一定在文件的起始位置,TS流这种对于电视直播的Live流需要保证在任何时间打开电视你都能看到画面,所以PAT表是被随机插到TS流的Packet中的,比如间隔10帧插一个PAT表和PMT表。所以TS流文件...

2014-10-30 10:21:15

阅读数:6194

评论数:1

BD(蓝光)的LPCM格式到PCM格式的转换

最近因为一些原因在折腾这方面的事情,朋友负责DVD-LPCM的,我这边则是BD-LPCM的,我轻松了很多,因为BD的LPCM的比DVD的那是舒服了不少。。 不过开发环境限制死了在VS2010我很蛋疼,并且其实源工程是基于DShow的,对我这个习惯了MediaFoundation的人来说,实在过于...

2014-10-26 11:34:17

阅读数:3663

评论数:0

谷歌C++风格的一些摘抄

全部来源于网络,我感觉好d

2014-10-25 11:33:51

阅读数:728

评论数:0

C++11的default和delete关键字

C11的新特性实在是太多了,这2个关键字关注的人倒是少了很多,其中有一个原因便是编译器支持得太慢了(VS到VS2013才支持上),不过这2个关键字那真是极为有用的,下面我们来看看。 【default关键字】 首先我们有一个字符串类: class CString { char* _...

2014-10-23 22:50:11

阅读数:18062

评论数:1

stdafx 头中的STRICT定义说明

一般你可能在某些工程的stdafx头(多见于VS2010版本后ATL)中发现: #define STRICT 也许你会忽略这个值,这个是什么意思呢? 其实就是让编译器执行严格的类型检查。 比如Windows.h里面会有一些类型的define是相同的,比如HDC和HWND,比如有这样...

2014-10-20 22:05:14

阅读数:478

评论数:0

C语言之setjmp和longjmp详细剖析

我希望看这篇文章的你对C++的传统异常处理,即try...catch...throw有了解(不是Windows SEH),这样才能方便你最深入的理解这2个C语言的反人类函数。 当然如果不了解就先看下面的“C++式的异常处理”,如果感觉自己了解了,可以直接skip看到“C语言中的模拟”。 【...

2014-10-20 11:23:28

阅读数:2581

评论数:1

ffmpeg的对象架构简析——解复用器

看这篇文章你需要对ffmpeg已经有一定的使用经验,知道如何read帧,解帧,或者write等。 ffmpeg内部使用跑结构体表函数指针的方式,实现了类似C++的多态性,,我们来简析一下。 【注册表】 我们使用ffmpeg,首先要执行av_register_all,这个玩意儿把全局的解码...

2014-10-14 07:17:05

阅读数:2564

评论数:0

C++服软C#系列 —— std::function

用过C#的人,一般都知道委托和事件。 如果没有用过C#,我在这里简单解释一下委托,如果用过了,下面可以skip。 委托是一个方法声明,我们知道,在C语言中,可以通过函数指针表示一个地址的CALL方法,委托在C#中也差不多是干这样的工作。 但是委托有一些不同,主要的地方就是,在C++中,函...

2014-10-10 07:24:04

阅读数:1918

评论数:1

WinRT的ref类 —— 微软神雕乱枪改C++系列

什么是C++\CX的Ref类?你可以理解为浆糊类,什么是浆糊类? 浆糊类就是 —— 用C++的语法写C#! 听到这个你肯定尿了。 你可以捂着裆继续看下去。 在继承和接口上: C++ —— 多重继承、实现多个接口。 C# —— 单一继承、实现多个接口。 Ref类 —— 单一继承(只...

2014-10-08 11:13:19

阅读数:779

评论数:0

从传统COM简析WinRT的Async(使用WRL)

WinRT出来有3年了,用的人并不多,用C++来用它的人更是少。 照成这样不外乎Windows 8平台不给力,用户基数少,但是WinRT本身的难用也是一个方面的原因,首先WinRT的所谓大宇50ms的任务全部Async化,这对习惯了传统Win32桌面的程序员来说 —— 你在逗我玩呢。 现在我们...

2014-10-07 05:39:39

阅读数:2237

评论数:2

C#值类型和引用类型用C语言理解

我刚用C#一个来月,可能理解得不对,还请大家指教。 读懂文章你需要对C语言的指针有所理解。 需要注意区别:对C\C++来说,任何类型都可以当成C#的“引用类型”,因为有指针。 【在内存上】 void foo() { int aaa = 0; //值类型,aaa在Stack上分配(SUB ES...

2014-09-21 19:58:43

阅读数:2078

评论数:0

关于Windows 8使用WMP播放音乐时WUDFHost跑CPU和硬盘的问题解决

Windows 8使用Windows Media Player播放音乐的时候,其实有一个这样的情况,WMP和某个什么名字看起来很屌的进程跑CPU很高,这个跑很高视你插入的SD卡内的文件数或者移动硬盘的文件数来定,如果文件很多,这个跑起来可以把系统都快卡死。 就像下面这样: 原因: ...

2014-07-22 17:39:54

阅读数:2585

评论数:0

Windows Phone 8.1可使用的媒体基础MFT

下面这些MFT在Windows Phone 8.1可使用: H264 Encoder MFT(H264视频编码器) 6CA50344-051A-4DED-9779-A43305165E35 Microsoft AAC Audio Decoder MFT(AAC音频解码器) 32D1...

2014-05-09 11:42:11

阅读数:1305

评论数:0

Windows Store的媒体基础API

应某人要求。。。 【接口】 IMF2DBuffer 保存2D图像的Buffer IMF2DBuffer2 加强版 IMFActivate 激活一个MF对象的对象 IMFAsyncCallback 写代码的时候经常实现这玩意,响应异步Invoke IMFAsyncResult...

2014-04-30 03:10:48

阅读数:2677

评论数:0

从一个COM接口的Dll文件创建接口 - 模拟CoCreateInstance

大家知道,创建COM接口使用CoCreateInstance函数,这个函数是通过查注册表来载入dll的,我们如果不想注册COM模块,又不想用ATL那种方式,那就只能象我这样自己写一个类似CoCreateInstance的东西了。。。 #include #include DECLSPEC_N...

2014-02-26 15:10:09

阅读数:1766

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭