chancle 2020-01-12
可以使用它进行图像像素的转换,分辨率的转换
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 返回值为高度 */
分配并返回一个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 */