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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HTML5 标签audio添加网页背景音乐代码[通俗易懂]

    HTML5 标签audio添加网页背景音乐代码[通俗易懂]分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!               html5&n

    2025年11月25日
    2
  • snmp协议的trap操作采用基于_maven批量导入jar包

    snmp协议的trap操作采用基于_maven批量导入jar包snmptrap与snmpSNMP简单概述1.1、什么是SnmpSNMP是英文”SimpleNetworkManagementProtocol”的缩写,中文意思是”简单网络管理协议”。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。SNMP协议主要由两大部分构成:SNMP管理站和SNMP代理。SNMP管理站是一个中心节点,负责收集维护

    2022年8月20日
    12
  • linux下安装node&npm

    linux下安装node&npm#下载最新版nodewgethttps://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz#解压tar-xvfnode-v16.14.0-linux-x64.tar.xz#配置软连接,使全局都可以使用node命令sudoln-s/opt/node-v16.14.0-linux-x64/bin/node/usr/bin/nodesudoln-s/opt/node-v16.14.0-linux-x64/bin/

    2022年8月30日
    6
  • 列车调度C语言数据结构,数据结构——列车调度

    列车调度C语言数据结构,数据结构——列车调度题目链接:https://pintia.cn/problem-sets/1045870129681440768/problems/1045870197130047495#p-2题目大意:给你一列火车,上面有表号,问给你几个火车隧道,能使车厢从大到小。一道有思维结构的模拟题。先说一下核心解体思想:就是一个序列里,有多少个从大到小排好序的序列,求个数。朴素的模拟思想,先读入一个数组,从头到尾判断,含有…

    2022年7月26日
    8
  • 缓存穿透,缓存击穿,缓存雪崩解决方案分析

    缓存穿透,缓存击穿,缓存雪崩解决方案分析前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案

    2022年6月30日
    30
  • PhpStorm 2021 激活码【永久激活】

    (PhpStorm 2021 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlML…

    2022年3月21日
    91

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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