FFmpeg(四) 像素转换相关函数理解
一、基本流程
1、sws_getCachedContext();//得到像素转换的上下文
2、sws_scale();//进行转换
二、函数说明
1、SwsContext *vctx = NULL; //像素格式转换的上下文
frameCount++;
//从缓冲中获取上下文 ,参数中原来的格式转换成输出的格式
vctx = sws_getCachedContext(vctx,
frame->width, //帧frame的宽度
frame->height, //帧frame的高度
(AVPixelFormat)frame->format, // 像素格式
outWidth, //输出宽度
outHeight, //输出高度
AV_PIX_FMT_RGBA, //像素格式
SWS_FAST_BILINEAR, // 用的算法、线性差值
0,0,0
);
2、//进行转换,函数返回值是一个高度,0的话就是失败
int h =sws_scale(vctx,
(const uint8_t **)frame->data,//数据源
frame->linesize,0,//
frame->height,//原数据的高度(假设1080)
data,//输出数据
lines);//输出宽度的大小
3.注意删除一些定义的结构、数组
代码说明见FFpmeg(五)重采样。
FFmpeg(四) 像素转换相关函数理解的更多相关文章
- FFmpeg(三) 编解码相关函数理解
一.编解码基本流程 主要流程: 打开视频解码器(音频一样) 软解码.硬解码 进行编解码 下面先来看打开视频解码器 ①avcodec_register_all()//初始化解码 ②先找到解码器. 找解码 ...
- FFmpeg(二) 解封装相关函数理解
一.解封装基本流程 ①av_register_All()////初始化解封装,注册解析和封装的格式. ②avformat_netword_init()//初始化网络,解析rtsp协议 ③avforma ...
- FFmpeg(五) 重采样相关函数理解
一.重采样流程 重采样(解码音频数据之后格式不可以直接播放,需要重采样,类似图像的像素转换) 1.分配上下文 2.设置参数(分为(前几个是)输出格式和(后几个)输入格式,两个相对应的) 可以通过改变样 ...
- C++中四种转换类型的区别
一.四种转换类型比较: 类型转换有c风格的,当然还有c++风格的.c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可 ...
- Jsp(3):内置对象和四种域对象的理解
由来:在jsp开发中,会频繁使用到一些对象 .例如HttpSession,ServletContext,ServletContext,HttpServletRequet.所以Sun公司设计Jsp时,在 ...
- ffmpeg sox 音频转换 MP3 转 wav
转自:https://blog.csdn.net/xiaoshulf/article/details/78657172 1 windows 下 mp3 文件和 wav 文件的 转换 实现代码: 1 f ...
- Java+Windows+ffmpeg实现视频转换
最近由于项目需要,研究了一下如何用Java实现视频转换,“着实”废了点心思,整理整理,写出给自己备忘下. 思路 由于之前没有没法过相关功能的经验,一开始来真不知道从哪里入手.当然,这个解决,googl ...
- PixelUtils:像素转换工具
/** 像素转换工具 */ public class PixelUtils { /** * The context. */ private static Context mContext = Cust ...
- TCP的三次握手与四次挥手的理解
本文经过借鉴书籍资料.他人博客总结出的知识点,欢迎提问 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生:给字节编上 ...
随机推荐
- Requests库整理
一.Requests库的安装 win平台下,直接在命令行使用 pip install requests 即可进行安装 成功后测试如下 >>> import requests > ...
- 【Nginx】基础学习概览【汇总】
一.Nginx 简介安装启动 二.Nginx的应用场景 三.Nginx中的配置命令 四.实现动态负载均衡 五.四层负载均衡 六.主从热备 七.动静分离 一.Nginx 简介安装启动 [Nginx]简介 ...
- Kafka的安全认证机制SASL/PLAINTEXT
一.背景 kafka提供了多种安全认证机制,主要分为SSL和SASL2大类.其中SASL/PLAIN是基于账号密码的认证方式,比较常用.最近做了个kafka的鉴权,发现官网上讲的不是很清楚,网上各种博 ...
- android 和 webService交互
webService 很久不用了,第一次使用还是13年, 早已忘记怎么搞了.今天看了篇博文,写了个demo .记录下吧! 首先要下载skoap2 .... xxx.jar ,我用的是最新的3.6. ...
- CODESYS添加target
1.主界面进入Tools 2.Install,选择安装包
- 记一次神奇的sql查询经历,group by慢查询优化
一.问题背景 现网出现慢查询,在500万数量级的情况下,单表查询速度在30多秒,需要对sql进行优化,sql如下: 我在测试环境构造了500万条数据,模拟了这个慢查询. 简单来说,就是查询一定条件下, ...
- jmeter性能分析
1.硬件要求:包括客户端和服务端的cpu,mem,network,disk等,这些硬件设备必须满足性能测试的前提下,才能进行性能测试,否则得到的各项指标不一定是正确的 2.场景分析: 测试前的准备工作 ...
- 05.Django基础五之django模型层(一)单表操作
一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ...
- selenium使用总结
selenium selenium是一个支持各大浏览器的自动化测试工具,包括 Chrome,Safari,Firefox ,ie等.再构造爬虫时,如果我们加入了User-Agent,那么变伪装成了浏览 ...
- npm install 时间很长解决方案
国外镜像站很慢,所以我们可以更换为国内的镜像站 首先可以get命令查看registry npm congfig get registry 如果你没有变更果regustry你的结果应该会是这样的 也就是 ...