gpt4 book ai didi

c++ - 从 int 到 avcodec (ffmpeg) 的无效转换

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:19 43 4
gpt4 key购买 nike

今天在CodeBlocks中运行ffmpeg示例c程序,报错:

invalid conversion from int to avcodecid[-fpermissive]

我把部分代码放在这里:

static AVCodec **codec;
static AVCodecContext *c= NULL;
static int ret, got_output;
static FILE *f;
static AVFrame *frame;
static AVPacket pkt;
static uint8_t endcode[] = { 0, 0, 1, 0xb7 };
enum AVCodecID codec_id;

*codec = avcodec_find_encoder(codec_id);

不管我用*codec还是codec,都是同样的错误,我检查了我的opencv和ffmpeg版本,所有最新版本2.4.10 opencv和2.5.3 ffmpeg。如果我点击错误,它会引导我到另一个文件 avcode.h,给出错误

initializing agument 1 of 'AVcodec* acvodec_find_encoder(AVCodeciD)'[-fpermissive]

在文件的这一行

frame = avcodec_alloc_frame();

最佳答案

这个错误信息

invalid conversion from int to avcodecid[-fpermissive]

表示没有从 int 到类型 enum AVCodecID 的隐式转换。因此,您需要明确地将整数转换为枚举类型。

我想您包含了所有必需的 header ,不是吗?

这个错误信息

initializing agument 1 of 'AVcodec* acvodec_find_encoder(AVCodeciD)'[-fpermissive]

表示您为函数调用使用了错误的参数类型。您必须在调用它之前检查函数声明并为其参数提供正确的参数。

关于c++ - 从 int 到 avcodec (ffmpeg) 的无效转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29115929/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com