libvpx调用vpx_codec_dec_init报Codec does not implement requested capability求助
解决方案
核心错误原因
你代码中获取编解码接口的函数调用错误:vpx_codec_vp9_cx() 是VP9编码器的接口获取函数,后缀cx为编码器标识,你将编码器接口传入解码器初始化接口vpx_codec_dec_init(),能力不匹配因此触发报错。
修正方法
将获取解码器接口的代码替换为解码器专属的调用即可,解码器接口函数后缀为dx:
// 错误写法 // const vpx_codec_iface_t* decoderInterface = vpx_codec_vp9_cx(); // 正确写法 const vpx_codec_iface_t* decoderInterface = vpx_codec_vp9_dx();
VP8场景同理,解码时需调用vpx_codec_vp8_dx()获取VP8解码器接口,不要误用编码器接口vpx_codec_vp8_cx()。
其他说明
你当前的libvpx编译配置没有问题,解码初始化前也不需要额外执行其他操作,修正接口调用即可解决问题。
内容的提问来源于stack exchange,提问作者Cidu
相关产品推荐
相关产品推荐

