=====================================================
ffdshow源代码分析系列文章列表:
ffdshow 源代码分析 1: 整体结构
ffdshow 源代码分析 2: 位图覆盖滤镜(对话框部分Dialog)
ffdshow 源代码分析 3: 位图覆盖滤镜(设置部分Settings)
ffdshow 源代码分析 4: 位图覆盖滤镜(滤镜部分Filter)
ffdshow 源代码分析 5: 位图覆盖滤镜(总结)
ffdshow 源代码分析 6: 对解码器的dll的封装(libavcodec)
ffdshow 源代码分析 7: libavcodec视频解码器类(TvideoCodecLibavcodec)
ffdshow 源代码分析 8: 视频解码器类(TvideoCodecDec)
ffdshow 源代码分析 9: 编解码器有关类的总结
=====================================================
前面写了三篇文章,介绍了 位图覆盖滤镜的3个部分:
第一篇文章介绍了ffdshow的位图覆盖滤镜的对话框(Dialog)部分:ffdshow 源代码分析2 : 位图覆盖滤镜(对话框部分Dialog)
第二篇文章介绍了ffdshow的位图覆盖滤镜的设置(Settings)部分:ffdshow 源代码分析 3: 位图覆盖滤镜(设置部分Settings)
第三篇文章介绍了ffdshow的位图覆盖滤镜的滤镜(Filter)部分:ffdshow 源代码分析 4: 位图覆盖滤镜(滤镜部分Filter)在此,用一张图总结他们之间的关系:
如图中所示,设置(Settings)部分是直接和系统上层关联的,它包含两个接口函数:createPages()和createFilters()。分别用于创建对话框(Dialog)和滤镜(Filter)。其中在TbitmapPage中对话框直接和注册表变量关联。而在TbitmapSettings中注册表变量和系统中的变量关联。TimgFilterBitmap最终读取TbitmapSettings中的变量完成相应的操作。
目前来开TimgFilterBitmap是不会直接读取TbitmapPage类中的值的。