Ffmpeg源代码简单分析之解码2
来源:互联网 发布:股市模拟交易软件下载 编辑:程序博客网 时间:2024/05/16 11:59
static void register_all(void)
allformats.c (libavformat)
#include “libavformat/avformat.h”
void avcodec_register_all(void)
allcodecs.c (libavcodec)
#include “libavformat/ avcodec.h”
函数调用关系图如下图所示。av_register_all()调用了avcodec_register_all()。avcodec_register_all()注册了和编解码器有关的组件:硬件加速器,解码器,编码器,Parser,Bitstream Filter。av_register_all()除了调用avcodec_register_all()之外,还注册了复用器,解复用器,协议处理器。
该函数在所有基于ffmpeg的应用程序中几乎都是第一个被调用的。只有调用了该函数,才能使用复用器,编码器等
Ps: 此函数的目的就是将实实在在的组件(编解码器AVCodec 硬件加速器AVHWAccel 分析器 AVCodecParser 复用器AvInputFormat 解复用器AvOutputFormat 等 )注册到系统链表中 以备后续使用
下面列举几个实实在在的组件:
AVInputFormat ff_live_flv_demuxer = { .name = "live_flv", .long_name = NULL_IF_CONFIG_SMALL("live RTMP FLV (Flash Video)"), .priv_data_size = sizeof(FLVContext), .read_probe = live_flv_probe, .read_header = flv_read_header, .read_packet = flv_read_packet, .read_seek = flv_read_seek, .read_close = flv_read_close, .extensions = "flv", .priv_class = &live_flv_class, .flags = AVFMT_TS_DISCONT};
AVCodec ff_flv_encoder = {
.name = "flv",
.long_name = NULL_IF_CONFIG_SMALL("FLV / SorensonSpark / Sorenson H.263 (Flash Video)"),
.type =AVMEDIA_TYPE_VIDEO,
.id =AV_CODEC_ID_FLV1,
.priv_data_size = sizeof(MpegEncContext),
.init =ff_mpv_encode_init,
.encode2 =ff_mpv_encode_picture,
.close =ff_mpv_encode_end,
.pix_fmts = (const enumAVPixelFormat[]) { AV_PIX_FMT_YUV420P,
AV_PIX_FMT_NONE},
.priv_class = &flv_class,
};
- Ffmpeg源代码简单分析之解码2
- Ffmpeg源代码简单分析之解码1
- FFmpeg的H.264解码器源代码简单分析:熵解码(Entropy Decoding)部分
- FFmpeg的HEVC解码器源代码简单分析:CTU解码(CTU Decode)部分-PU
- FFmpeg的HEVC解码器源代码简单分析:CTU解码(CTU Decode)部分-TU
- ffmpeg 源代码简单分析 : av_register_all()
- ffmpeg 源代码简单分析 : avcodec_register_all()
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg 源代码简单分析 : avcodec_decode_video2()
- ffmpeg 源代码简单分析 : av_register_all()
- ffmpeg 源代码简单分析 : avcodec_register_all()
- ffmpeg 源代码简单分析 :av_read_frame()
- ffmpeg源代码简单分析 :avcodec_decode_video2()
- ffmpeg 源代码简单分析 : av_register_all()
- ffmpeg 源代码简单分析 : avcodec_register_all()
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg 源代码简单分析 : avcodec_decode_video2()
- ffmpeg 源代码简单分析 : av_register_all()
- 21 用户进程操作GPIO
- H5+JS+CSS3 实现圣诞情缘--学习心得2
- Java——方法的可变参数
- JDBC操作步骤
- sql 去重 (DISTINCT)详解
- Ffmpeg源代码简单分析之解码2
- (个人)AR电子书系统创新实训第五周(2)
- 谈谈对Spring IOC的理解
- 【MTK】如何修改出厂默认日期和默认时区
- 【详细内容】ATGM336H系列卫星定位模块
- AOSP和OTA全称
- java后端学习流程
- Fiddler抓包使用教程-Https
- Oracle 操作字符串:拼接、替换、截取、查找