原型:
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)
成功后返回SwsContext 类型的结构体。
参数1:被转换源的宽
参数2:被转换源的高
参数3:被转换源的格式,eg:YUV、RGB……(枚举格式,也可以直接用枚举的代号表示eg:AV_PIX_FMT_YUV420P这些枚举的格式在libavutil/pixfmt.h中列出)
参数4:转换后指定的宽
参数5:转换后指定的高
参数6:转换后指定的格式同参数3的格式
参数7:转换所使用的算法,
参数8:NULL
参数9:NULL
参数10:NULL
转换所用的算法在libswscale/swscale.h中枚举
网上有人测试这些算法,将一幅1920*1080的风景图像,缩放为400*300的24位RGB
算法
帧率
图像主观感受
SWS_FAST_BILINEAR
228
图像无明显失真,感觉效果很不错。
SWS_BILINEAR
95
感觉也很不错,比上一个算法边缘平滑一些。
SWS_BICUBIC
80
感觉差不多,比上上算法边缘要平滑,比上一算法要锐利。