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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • macos dock栏_苹果mac使用技巧

    macos dock栏_苹果mac使用技巧Dock栏就是Mac电脑屏幕下方的那一排快捷键,我们可以把自己常用的程序放到Dock上面,这样可以帮助我们快速的打开自己想要打开的文件和程序,默认情况下,OSX的Dock置于屏幕的底部。当你第一次进入MacOSX的桌面,Dock中内置了许多应用程序,怎么用好它?其实,我们不仅可以自定义Dock中显示的内容,而且你还可以调整Dock的大小、位置等等,下面给大家介绍几个关于Dock栏使用技巧,让大家使用Mac电脑更加得心应手。一、添加应用程序,文件夹和文件到Dock1.打开你的

    2025年8月27日
    6
  • bootstrap使用教程_bootstrap 教程

    bootstrap使用教程_bootstrap 教程bootStrap是干嘛的?有什么用处?我们在开发前端页面的时候,如果每一个按钮、样式、处理浏览器兼容性的代码都要自己从零开始去写,那就太浪费时间了。所以我们需要一个框架,帮我们实现一个页面的基础部分和解决一些繁琐的细节,只要在它的基础上进行个性化定制就可以了。Bootstrap就是这样一个简洁、直观、强悍的前端开发框架,只要学习并遵守它的标准,即使是没有学过网页设计的开发者,也能做出很…

    2022年10月9日
    3
  • 使用X-Sendfile下载文件

    使用X-Sendfile下载文件X-Sendfile是一种将文件下载请求由后端应用转交给前端web服务器处理的机制,它可以消除后端程序既要读文件又要处理发送的压力,从而显著提高服务器效率,特别是处理大文件下载的情形下!X-Sendfile通过HTTPheader来实现:在X-Sendfile头中指定一个文件的地址来通告前webserver。不过,在默认情况下它是被大多数web服务器禁用的。而不同的…

    2022年6月5日
    32
  • @ResponseBody注解使用简介

    @ResponseBody注解使用简介1、@ResponseBody注解简介:@ResponseBody注解:主要做两件事:1、将返回值转换成JSON,如果返回值是String或者其他基本数据类型则不满足key-value形式,不能转换成json类型,则返回字符串2、设置响应头为application/json;charset=utf-8;返回值为字符串,则不能转换成json格式的则响应头设置为text/html,为防止中文乱码,因此需要使用@RequestMapping(,produces=“text/html;ch

    2022年5月18日
    59
  • 200 : parsererror错误

    200 : parsererror错误原因ajax请求中返回data,与controller中requestMapping方法返回类型不一致导致,或者controller中方法无返回值即void,都可引起该错误。

    2022年6月23日
    30
  • webpack(9)plugin插件功能的使用「建议收藏」

    webpack(9)plugin插件功能的使用「建议收藏」plugin插件是webpack的支柱功能。webpack自身也是构建于你在webpack配置中用到的相同的插件系统之上!插件目的在于解决loader无法实现的其他事。常用的插件

    2022年7月30日
    3

发表回复

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

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