FFmpeg编译出错_img_convert 找不到
问题出现在下载的ffmpeg的版本不一样,在0.4.8以前的版本中还有img_convert这个函数,新版本中用sws_getContext和sws_scale代替了。简单说明如下:
新版本的ffmpeg添加了新的接口:libswscale来处理图像缩放。
以前使用img_convert来把RGB转换成YUV12,现在使用新的接口。新接口更加标准和快速,而且里面有了MMX优化代码。换句话说,它是做缩放更好的方式。
用来缩放的基本函数是sws_scale。但一开始,必需建立一个SwsContext的概念。这将进行想要的转换,然后把它传递给 sws_scale函数。类似于在SQL中的预备阶段或者是在Python中编译的规则表达式regexp。要准备这个上下文,使用 sws_getContext函数,它需要源的宽度和高度,我们想要的宽度和高度,源的格式和想要转换成的格式,同时还有一些其它的参数和标志。然后我们像使用img_convert一样来使用sws_scale函数,唯一不同的是我们传递给的是SwsContext。
解决办法是将原有的img_convert函数改为sws_scale函数,原来的函数调用为:
img_convert((AVPicture *)pFrameRGB, PIX_FMT_BGR24, (AVPicture*)pFrame,
pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height)
修改为
struct SwsContext *pSwsCtx;
pSwsCtx = sws_getContext (pCodecCtx->width,
pCodecCtx->height,
pCodecCtx->pix_fmt,
pCodecCtx->width,
pCodecCtx->height,
PIX_FMT_BGR24,
SWS_BICUBIC,
NULL, NULL, NULL);
//反转图像 ,否则生成的图像是上下调到的
pFrame->data[0] += pFrame->linesize[0] * (pCodecCtx->height - 1);
pFrame->linesize[0] *= -1;
pFrame->data[1] += pFrame->linesize[1] * (pCodecCtx->height / 2 - 1);
pFrame->linesize[1] *= -1;
pFrame->data[2] += pFrame->linesize[2] * (pCodecCtx->height / 2 - 1);
pFrame->linesize[2] *= -1;
//转换图像格式,将解压出来的YUV420P的图像转换为BRG24的图像
sws_scale (pSwsCtx, pFrame->data, pFrame->linesize, 0, pCodecCtx->height, pFrameRGB->data, pFrameRGB->linesize);
转载于:https://www.cnblogs.com/mmix2009/p/3585505.html
FFmpeg编译出错_img_convert 找不到相关推荐
- 3个平台下的ffmpeg——ffmpeg编译
3个平台下的ffmpeg--ffmpeg编译 ffmpeg编译 需要在3个平台(win\linux\arm)下使用ffmpeg的库,所以进行了ffmpeg的编译. 其中ffmpeg的编译也有许多依赖, ...
- ffmpeg库编译加文字_我自己的FFMpeg编译之路
为了编译这个东西,快折腾了一个星期了.期间经历了很多痛苦的过程,今天我把整个过程,以及在这个过程的感悟写下来,以备日后查看,也希望能帮到一些像我一样的兄弟姐妹. 在这一个星期里前前后后加起来总共使用了 ...
- FFMpeg编译之路
文章转自: http://www.cnblogs.com/zjoch/archive/2013/05/16/3082002.html 为了编译这个东西,快折腾了一个星期了.期间经历了很多痛苦的过程,今 ...
- Mac 平台 Android FFmpeg 编译与集成实践
文章目录 FFmpeg 是什么 为什么要学 FFmpeg 开发 FFmpeg 编译 1. 编译环境准备 2. FFmpeg 环境配置 3. 完整的脚本 4. FQA 编译小结 在Android Stu ...
- ffmpeg编译及使用 (转载)
ffmpeg编译及使用 1 ffmpeg介绍 ffmpeg是音视频的分离,转换,编码解码及流媒体的完全解决方案,其中最重要的就是libavcodec库.它被mplayer或者xine使用作为解码器.还 ...
- ffmpeg 编译Android
环境 macOS 10.15.4 NDK 21.3.6528147 ffmpeg 4.2.3 1.执行sudo xcodebuild -license,防止编译的时候找不到一些文件报错 2. ...
- 解决WINCE6.0新建工程编译出错的问题
********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...
- ffmpeg编译(生成Windows或Win32平台dll, lib)
ffmpeg编译(生成Windows或Win32平台dll, lib) 介绍:本文简要介绍通过cygwin环境来编译生成ffmpeg. 包括解码组件libfaad与libopencore-amrnb的 ...
- ubuntu下ffmpeg编译安装
ubuntu下ffmpeg编译安装 解决库链接不上的问题 ubuntu下ffmpeg编译安装 1.ffmpeg是什么东西?相信很多人第一次接触这个东西,我先在这里做个简单的介绍. FFmpeg是一 ...
最新文章
- 【杂谈】万万没想到,有三还有个保密的‘朋友圈’,那里面都在弄啥!
- 频率计设计——电路部分
- 如何设置坐标原点值_氨气检测仪电化学原理及报警值如何设置
- HTTPS-思君如满月,日日减清辉
- 解读年度数据库PostgreSQL:如何巧妙地实现缓冲区管理器
- mysql c++ 存数组,c++读取数据文件到数组的实例
- char、int、long、float、double等在64位下占多少字节
- 全屋wifi测试软件,全屋WIFI评测
- IntelliJ IDEA最新版官方支持汉化
- 我的世界java版旁观模式_我的世界:8个被判定为bug的特性,旁观模式:这锅让我来背...
- 如何排版 微信公众号「代码块」之 MarkEditor
- iOS 开发修改app名称(display Name)后实际app名称没有变的情况
- 如何修改MySQL数据库密码
- 坎坷的微信小程序【笔记】
- Nginx 性能优化 Gzip 压缩配置
- Ubuntu设置屏幕分辨率及屏幕翻转
- pstack 跟踪进程栈
- 通过RSA实现数字签名
- 如何进行服务器备份操作系统,如何进行服务器备份操作系统
- 自考本科计算机专业英语作文,成人学位英语作文万能模板
热门文章
- MongoDB系列(一):简介及安装
- Android Studio缓存文件夹配置
- Android 多线程之Handler
- Android Handler Runnable和Thread之间的区别和联系详解
- android 监听手机开机
- android AppCompatEditText 自定义下划线颜色
- Sysnoise5.6安装教程
- 出现 HTTP 错误 500.19 错误代码 0x800700b7
- Python爬虫(五)
- Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程