• ffmpeg中sws_scale和sws_getContext的api分析


    sws_scale

    可以使用它进行图像像素的转换,分辨率的转换

    int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
                  const int srcStride[], int srcSliceY, int srcSliceH,
                  uint8_t *const dst[], const int dstStride[]);
    
    /*
    @params c 	: 	用来存放像素转换前后数据的上下文SwsContext,使用sws_getContext来创建
    @params srcSlice	: 	输入图像的每个颜色通道的数据指针。其实就是解码后的AVFrame中的data[]数组
    @params srcStride : 	输入图像的每个颜色通道的跨度。.也就是每个通道的行字节数,对应的是解码后的AVFrame中的linesize[]数组。
    @param srcSliceY	:		定义在输入图像上处理区域,srcSliceY是起始位置
    @param srcSliceH	:   定义在输入图像上处理区域,srcSliceY是处理多少行,如果srcSilceY=0,srcSliceH=height,表示一次性处理完整的图像,可以使用多线程进行优化处理
    @param dst       图像输出信息,输出的data[]
    @param dstStride 图像输出信息,输出的linesize[]
    @return         返回值为高度
    */
    

    sws_getContext

    分配并返回一个SwsContext, 在sws_scale中可以执行执行转换和缩放的功能

    struct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat,
                                      int dstW, int dstH, enum AVPixelFormat dstFormat,
                                      int flags, SwsFilter *srcFilter,
                                      SwsFilter *dstFilter, const double *param);
    /*
    @param srcW : 源图像的宽度
    @param srcH : 源图像的高度
    @param srcFormat : 源图像的像素格式
    @param dstW : 目标图像的宽度
    @param dstH : 目标图像的高度
    @param dstFormat : 目标图像的格式
    @param flags: 指定算法和选项进行重新缩放
    @param srcFilter :  源图像滤波参数
    @param dstFilter : 输出图像的滤波参数
    @param param : 定义特定缩放算法需要的参数
    @return 
    		成功 :  返回一个上下文管理器 SwsContext
    */
    
  • 相关阅读:
    windows p12(pfx)个人证书安装过程
    OpenSSL库验证PKCS7签名
    Crypto库实现PKCS7签名与签名验证
    windows 系统中打开一个数字证书所经历的过程
    DBA不可不知的操作系统内核参数
    MySQL大表优化方案
    深入浅出Cache
    Git Stash用法
    Git服务器搭建全过程分步详解
    laravel 5.1 性能优化对比
  • 原文地址:https://www.cnblogs.com/fandx/p/12181900.html
Copyright © 2020-2023  润新知