zoukankan      html  css  js  c++  java
  • 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
    */
    
  • 相关阅读:
    perl自定义简易的面向对象的栈与队列类
    java idea实现.java文件编译成class并运行
    git代码管理及提交
    k8s和docker的区别
    pycharm查看代码结构的方法
    ssh 登录的方式
    excel分析数据绘制统计直方图
    linux普通用户使用yum安装nginx,并使用nginx
    iterm2 + virtualbox + centos环境搭建
    python源码安装
  • 原文地址:https://www.cnblogs.com/fandx/p/12181900.html
Copyright © 2011-2022 走看看