FFmpeg(四) 像素转换相关函数理解[通俗易懂]

FFmpeg(四) 像素转换相关函数理解[通俗易懂]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(五)重采样。

 

转载于:https://www.cnblogs.com/ZeGod/p/9995269.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107190.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java8 手把手教你学会写lambda表达式

    java8 手把手教你学会写lambda表达式Java8发布已经有一段时间了,这次发布的改动比较大,很多人将这次改动与Java5的升级相提并论。Java8其中一个很重要的新特性就是lambda表达式,允许我们将行为传到函数中。想想看,在Java8之前我们想要将行为传入函数,仅有的选择就是匿名内部类。Java8发布以后,lambda表达式将大量替代匿名内部类的使用,简化代码的同时,更突出了原来匿名内部类中最重要的那部分包含真正逻辑的代码。尤其

  • C++如何做字符串分割(5种方法)

    C++如何做字符串分割(5种方法)1、用strtok函数进行字符串分割原型:char*strtok(char*str,constchar*delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include<string.h>#include<stdio.h&

  • 模电基础知识点小结[通俗易懂]

    模电基础知识点小结[通俗易懂]第一章常用半导体器件在本征半导体中加入三价元素可形成P型半导体。(五价磷元素形成N型)当PN结加正向电压时,空间电荷区将(变窄)。PN结的单向导电性:在PN结两端加正向电压时,内电场被削弱,空间电荷区变窄,有利于多子扩散,不利于少子漂移,PN结处于导通状态;当在PN结两端加反向电压时,内电场增强,空间电荷区变宽,有利于少子漂移,不利于多子扩散,PN结处于反向截止状态。当二极管外加正向电压增大时,其动态电阻增大。(×)要使稳压管的稳压,其工作区为(反向击穿区)。稳压管与普通二极管的

  • 错误:备份集中的数据库备份与现有的数据库不同

    错误:备份集中的数据库备份与现有的数据库不同今天,在还原一个MSSQLServer的备份文件(.bak)时,遇到一个错误:备份集中的数据库备份与现有的数据库不同。Google了一下,引起这个错误的原因有可能是生成备份文件的SQLServer版本与准备还原备份的SQLServer版本不同所造成的。解决方案如下:选项-->还原选项-->覆盖现有数据库-->确定这样就能顺利还原由低版本SQLServer生成的备份文件了。

  • Origin简单绘图

    Origin简单绘图一、从cadence导出数据仿真生成波形之之后,鼠标选中波形,右击—>SendTo—>Export,进行csv数据的保存。打开该csv文件,删掉第一行,第一行是是横纵坐标的标识,左侧第一列是横坐标值,右侧列是纵坐标值。二、origin简单绘图双击图标打开origin导入csv数据可选中多个csv文件导入为了让两个csv的数据同时显示,在弹出的对话框进行以下操作(默认第二个csv数据会覆盖第一个csv数据)。设置好之后点击“确定”,两个csv数据均被导入到了o

  • V-rep学习笔记:切削

    V-rep学习笔记:切削

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号