libavcodec/avcodec.h  //3.0版本不是在这个头文件中吗?

解决方案 »

  1.   

    是的啊。 avcodec_alloc_context 不加3的有没有?
    windows上我下载的别人直接提供的dll包含了2个头文件
    extern "C" {
    #include "include\\avcodec.h" 
    #include "include\\avformat.h"
    }我用的是avcodec_alloc_context();这个函数
      

  2.   

    有不加3的 我参照网上代码有代3的。
    我找个ffpmeg 3.2版本 之后例子 有三个找不到 是怎么情况
    error C3861: “avcodec_alloc_context3”: 找不到标识符
    error C3861: “avcodec_open2”: 找不到标识符
    error C3861: “avcodec_encode_video2”: 找不到标识符
      

  3.   

            avcodec_init();
    avcodec_register_all(); codec = avcodec_find_encoder(CODEC_ID_MP3);
    codecContext = avcodec_alloc_context();
    codecContext->bit_rate = 16000;
    codecContext->sample_rate = 8000;
    codecContext->channels = 1;
    codecContext->codec_type = CODEC_TYPE_AUDIO;
    codecContext->block_align = 2;
    if( avcodec_open(codecContext, codec) < 0 )
    {
    return ;
    }
    找不到就把数字去掉试试,功能都是一样的
      

  4.   

    xtract\simpleh264dataextract\wvffmpegdecode.cpp(71) : error C2660: “avcodec_open”: 函数不接受3 个参数
    1>d:\my documents\data\simpleh264dataextract\simpleh264dataextract\wvffmpegdecode.cpp(113) : error C2664: “avcodec_encode_video”: 不能将参数2 从“AVPacket *”转换为“uint8_t *”
      

  5.   

    xtract\simpleh264dataextract\wvffmpegdecode.cpp(71) : error C2660: “avcodec_open”: 函数不接受3 个参数
    1>d:\my documents\data\simpleh264dataextract\simpleh264dataextract\wvffmpegdecode.cpp(113) : error C2664: “avcodec_encode_video”: 不能将参数2 从“AVPacket *”转换为“uint8_t *”
    这个就是找到啦, 参数传错啦, avcodec_open 和 avcodec_open3 参数不一样的。 你google一个avcodec_open的使用例子吧