1.av_find_codec
包含了两部分内容:
一部分是寻找解码器AVCodec *avcodec_find_decoder(enum AVCodecID id);
一部分是寻找编码器AVCodec *avcodec_find_encoder(enum AVCodecID id);
FFmpeg 默认已经把编解码器存放到了一个链表中,这里进行对链表的遍历,通过AVCodecID 进行条件匹配,最终返回编解码器
2.int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
描述:该函数是打开编解码器(Codec)的函数
AVCodecContext *avctx:解码过程中由FFmpeg引擎填充,编码过程由开发者自己构造,如果想传入私有参数,则为它的priv_data设置参数
const AVCodec *codec:通过av_find_codec获得的编解码器
AVDictionary **options:一般会传递NULL
3.int avcodec_close(AVCodecContext *avctx);
avcodec_open的逆过程,找到对应的实现文件中的close函数指针指向的函数,然后该函数会调用对应第三方框架的API来关闭对应的编解码库。