今天开始对FFmpeg中的主要函数进行学习,特记录下来。
首先av_register_all函数在libavformat/allformats.c中定义
void av_register_all(void)
{
AVOnce control = AV_ONCE_INIT;
ff_thread_once(&control, register_all);
}
函数中调用了register_all,
static void register_all(void)
{
avcodec_register_all();
/* (de)muxers */
REGISTER_MUXER (A64, a64);
REGISTER_DEMUXER (AA, aa);
...
}
可以看出函数首先调用了avcodec_register_all来注册codec ,之后都是注册muxer和demuxer,先看注册muxer和demuxer的地方,
#define REGISTER_MUXER(X, x)
{