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
*/