• 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(五)重采样。

    天助自助者
  • 相关阅读:
    大型架构.net平台篇(中间层均衡负载WCF)
    大型高性能ASP.NET系统架构设计
    百万级访问量网站的技术准备工作
    容器管理的分布式事务
    SQL Server 2005实现负载均衡
    nginx负载均衡 tomcat集群 memcache共享session
    JTA实现跨数据库操作
    [AX]AX2012 Table的AOSAuthorization 属性
    [AX]AX2012 Form上的ReferenceGroup control
    [AX]AX2012 Form开发概览
  • 原文地址:https://www.cnblogs.com/ZeGod/p/9995269.html
Copyright © 2020-2023  润新知