ffmpeg AVStream::codec被声明为已否决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg AVStream::codec被声明为已否决相关的知识,希望对你有一定的参考价值。
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C4996 ‘AVStream::codec‘: 被声明为已否决
虽然足够的简单,但是还是报了”被声明为已否决”的error
在网上搜索到了解决方案:将VS的SDL检查关闭
AVStream的codec成员不再推荐使用,而是要求使用codecpar。
从而我们知道FFmpeg中所谓的“被声明为已否决”就是因为函数或者结构体属性被标示为attribute_deprecated,很有可能在未来的版本中就删除了。
所以我们最好的解决方案就是使用新的被推荐使用的函数、结构体等。
在后续中因为要解决avformat_find_stream_info探测流慢的问题,会针对codecpar进行相应的赋值
之前的版本
pCodecCtx = pFormatCtx->streams[videoIndex]->codec;
之后的版本
pCodecCtx = avcodec_alloc_context3(NULL);
if (pCodecCtx == NULL)
{
printf("Could not allocate AVCodecContext\n");
return -1;
}
avcodec_parameters_to_context(pCodecCtx, pFormatCtx->streams[videoIndex]->codecpar);
参考
http://blog.csdn.net/x_iya/article/details/52395990
以上是关于ffmpeg AVStream::codec被声明为已否决的主要内容,如果未能解决你的问题,请参考以下文章
不建议使用AVStream.codec.time_base作为muxer的时基提示。改为设置AVStream.time_base