第10期:ffmpeg源码分析——libswscale中的Sw Scale Context及sws_scale()函数解析
发布时间
阅读量:
阅读量
libswscale是一个专门用于图像像素数据处理的工具包。它不仅能够支持图像像素格式的转换功能,还能够实现图像尺寸的拉伸操作等基本操作(libswscale通常包含三个核心功能模块: 图像编码、解码与重新采样)。
sws_getContext():初始化一个SwsContext。
sws_scale():处理图像数据。
sws_freeContext():释放一个SwsContext。
其中sws_getContext()也可以用sws_getCachedContext()取代。
尽管libswscale表面现象上只涉及少量常用函数调用接口,并不复杂. 实则拥有一个功能强大的图像像素数据处理核心算法库. 作为一个几乎'万能'的图片像素数据处理类库, 该库包含了丰富的代码资源.
主要采用两种方式来处理数据:无缩放(unscaled)和有缩放(scaled) 。其中无缩放主要用于处理无需拉伸的像素数据(属于特殊情况),而有缩放则主要应用于需进行 pixels 缩放的数据。无缩放仅需对图像的 pixels 格式执行相应的转换操作;而有缩放则除了 pixels 转换外还需完成 zoom 操作。有缩放模式可划分为若干具体步骤:
XXX to YUV Converter:首相将数据像素数据转换为8bitYU
全部评论 (0)
还没有任何评论哟~
