zoukankan      html  css  js  c++  java
  • 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(五)重采样。

    天助自助者
  • 相关阅读:
    springcloud2.0 添加配置中心遇到的坑
    redis 字符串和集合操作
    Linux
    流畅的python 符合python风格的对象
    流畅的python 对象引用 可变性和垃圾回收
    流畅的python 闭包
    流畅的python 使用一等函数实现设计模式
    互联网协议入门
    流畅的python 字典和集合
    流畅的python python数据模型
  • 原文地址:https://www.cnblogs.com/ZeGod/p/9995269.html
Copyright © 2011-2022 走看看