FFmpeg:阅读源代码,我如何理解给定配置选项的影响?

FFmpeg: Reading the source code, how do I understand the impact of a given configuring option?

我试图调查 --enable-gray 配置选项对 ffmpeg 代码的影响。但是,如果我 download the source 并为 enable-gray 搜索整个项目,我找到的唯一条目是在帮助部分的 configure 文件中。是否使用了此选项?如果使用了,如何找到使用该选项激活的代码段?

即使使用带有 enable.*gray 的正则表达式搜索也不会带来任何额外的结果。

事实上,正如 Mulvya 正确提到的那样,您需要在 FFmpeg 源代码中 grep CONFIG_GRAY

原因是 configure 脚本构建了特殊的 config.h 文件,用于确定启用和禁用的选项。

因此,在 --enable-gray 选项的情况下 FFmpeg 处理 CONFIG_GRAY,如果 config.h 表示如下:

#define CONFIG_GRAY 1

(如果不配置--enable-gray,则为0)。

Grepping CONFIG_GRAY 我们可以看到,这个选项在 vc1_loopfilter.cvc1_mc.c 和其他一些文件中使用。