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)


相关推荐

  • 利用opacity属性写过渡效果

    利用opacity属性写过渡效果opacity的意思是不透明性,opacity取值范围为0-1;opacity:0;表示完全透明,opacity:1;表示完全不透明。opacity:0于overflow:hidden不同,overflow:hidden会完全消除空间,opacity:0只是视觉上看不到,但是实际上会占用空间,这点我们常用来于:hover一起使用。<!DOCTYPEhtml><htmll…

  • D. 【NOIP2012普及组真题】文化之旅

    D. 【NOIP2012普及组真题】文化之旅题解:–这是一道真水题,说实话,正解不会,因为我们的测试数据所有的文化都不排斥,这就很美丽了……..–华丽丽的Floyd就来了…–注意极大值不要超范围了,是真绝望!代码:#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#inc…

  • svm实现手写数字识别_数字识别

    svm实现手写数字识别_数字识别老师常说,在人工智能未发展起来之前,SVM技术是一统江湖的,SVM常常听到,但究竟是什么呢?最近研究了一下基于SVM技术的手写数字识别。你没有看错,又是手写数字识别,就是喜欢这个手写数字识别,没办法(¬∀¬)σ一、背景1.手写数字识别技术的含义2.手写数字识别技术的理论价值3.数字识别技术的难点二、SVM技术1.SVM方法简介2.线性可划分问题3.近似线性可分问题…

  • nginx负载均衡配置详解_负载均衡算法实现

    nginx负载均衡配置详解_负载均衡算法实现1.简单介绍负载均衡如果你的nginx服务器给2台web服务器做代理,负载均衡算法采用轮询,那么当你的一台机器web程序关闭造成web不能访问,那么nginx服务器分发请求还是会给这台不能访问的web服务器,如果这里的响应连接时间过长,就会导致客户端的页面一直在等待响应,对用户来说体验就打打折扣,这里我们怎么避免这样的情况发生呢。这里我配张图来说明下问题。如果负载均衡中其中web2发生这样的…

    2022年10月12日
  • element table_elementuos8

    element table_elementuos81、后台返回数据类型若有数组2、页面部分<el-table-columnalign="center"prop="idCard"label="身份证号"width="250"></el-table-column><el-table-columnalign="center"label="职务"width

  • uart接口是什么_各种接口的详细介绍

    uart接口是什么_各种接口的详细介绍我面试的时候一般喜欢问应聘者一个问题:UART与RS232/RS485的区别与联系?很多人对于这个问题答得都不是很好。还有些人压根就没有想过这个问题,一直认为他们是同一个东西,就是咱们俗称的串口。我刚入嵌入式的大门时,对这个问题也困惑过很久,后来终于弄明白了。跟大家一起分享一下吧。简单来说,区别在于UART是一种接口,而RS232/RS485是一种总线。UART这个接口,后面可以接TTL电平,这就是我们俗称的普通的串口。而UART如果接了RS232/RS485的转换芯片,那么后面的总线上..

发表回复

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

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