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

    天助自助者
  • 相关阅读:
    Cyclic Nacklace HDU
    Oulipo HDU
    Period HDU
    Blue Jeans POJ
    剪花布条 HDU
    最长公共前缀 CSU
    Clock Pictures CSU
    Number Sequence HDU
    Arrange the Bulls POJ
    Traveling by Stagecoach POJ
  • 原文地址:https://www.cnblogs.com/ZeGod/p/9995269.html
Copyright © 2011-2022 走看看