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
    */
    
  • 相关阅读:
    第二季-专题11-世界一下变大了-MMU
    第二季-专题10-C语言环境初始化
    第二季-专题9--代码搬移不可少
    第二季-专题8-不用内存怎么行
    第二季-专题6-点亮指路灯
    第二季-专题7-ARM跑快了---时钟初始化
    第二季-专题5-核心初始化
    第二季-专题4-我是bootloader设计师
    消除苹果系统对边框的优化
    css3
  • 原文地址:https://www.cnblogs.com/fandx/p/12181900.html
Copyright © 2011-2022 走看看