WebRTC源码分析2图像缩放与颜色空间转换

来源:互联网 发布:c语言修改文件名 编辑:程序博客网 时间:2024/06/05 15:08

来源:http://blog.csdn.net/lezhiyong

所属模块名称:webrtc_vplib

一、图像缩放

1、接口路径:webrtc\trunk\src\common_video\vplib\main\interface\interpolator.h
2、特点:
支持缩放方法:双线性差值
支持源图像的格式为I420,YUV,YV12
通过封装的类interpolator的接口函数提供调用
3、调用接口:
a、参数设置
 WebRtc_Word32 interpolator::Set(WebRtc_UWord32 srcWidth, WebRtc_UWord32 srcHeight,//源图像的尺寸
                      WebRtc_UWord32 dstWidth, WebRtc_UWord32 dstHeight,//目标图像的尺寸
                      VideoType srcVideoType, //源图像的颜色空间
                      VideoType dstVideoType,//目标图像的颜色空间
                      interpolatorType type);//差值方法
b、缩放操作
 WebRtc_Word32   interpolator::Interpolate(const WebRtc_UWord8* srcFrame,
                              WebRtc_UWord8*& dstFrame,
                              WebRtc_UWord32& dstSize);

二:颜色空间转换
1、接口路径:webrtc\trunk\src\common_video\vplib\main\interface\vplib.h
2、特点:
a、在vplib.h中以全局函数形式提供接口
b、支持的互相转换的颜色空间:kI420,kIYUV, kRGB24, kARGB,kARGB4444, kRGB565,kARGB1555, kYUY2, kYV12, kUYVY, kMJPG,kNV21, kNV12, kARGBMac, kRGBAMac
c、每个函数支持的格式参考函数名称和函数内部实现
d、支持图像90度,-90度,180度旋转
3、调用接口
例:
ConvertToI420 //将各种支持的颜色空间转换为I420
ConvertFromI420//将I420转换为支持的颜色空间
ConvertI420ToRGB24
Convert***To***//颜色空间的相互转换
ScaleI420****//图像放大缩小一倍、两倍的简单处理
左右或上下镜像图像(左右或上下翻转图像)
MirrorI420LeftRight
MirrorI420UpDown


原创粉丝点击