首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“结构体AVCodec”中的“结构体AVCodecContext*编解码器”代表什么?

“结构体AVCodec”中的“结构体AVCodecContext*编解码器”代表什么?
EN

Stack Overflow用户
提问于 2013-06-07 21:54:12
回答 1查看 789关注 0票数 3

我正在使用C/C++中的FFMpeg库开发一个媒体播放器。

This source使用以下代码在文件中查找视频流的解码器:

pCodec=avcodec_find_decoder(pCodecCtx->codec_id);

其中pCodecCtx是指向视频流的编解码器上下文的指针,而pCodec是指向被初始化为NULL的AVCodec的指针。

如果我们必须显式地找到解码器,那么在struct AVCodecContext中找到的struct AVCodec *codec是什么?这是定义的here。有没有人能帮我了解一下它的用途。

EN

回答 1

Stack Overflow用户

发布于 2019-05-07 22:52:33

AVCodec是用于保存有关编解码器的信息的结构,例如编解码器名称等。

有关定义,请参阅here

如果您想阅读站点上列出的muxing.c示例,他们会使用AVCodec本身来初始化AVCodecContext中的AVCodec。

代码语言:javascript
复制
AVCodec *codec;
AVCodecID codec_id; // <-enum value (found based on the codec you enter)
AVCodecContext context;

//find and set encoder (or decoder) based on codec ID
codec = avcodec_find_encoder(codec_id);

//       or
// codec = avcodec_find_decoder(codec_id);

//Allocate encoding context for the AVCodec within AVCodecContext
context = avcodec_alloc_context3(*codec);

//Set the codec_id within AVCodecContext.
context->codec_id = codec_id;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16985847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档