sws_getContext()

更新时间:2023-07-30 14:46:57 阅读: 评论:0

sws_getContext()libswscale常⽤的函数数量很少,⼀般情况下就3个:
sws_getContext():初始化⼀个SwsContext。
女短发图片sws_scale():处理图像数据。
sws_freeContext():释放⼀个SwsContext。
其中sws_getContext()也可以⽤sws_getCachedContext()取代。
尽管libswscale从表⾯上看常⽤函数的个数不多,它的内部却有⼀个⼤⼤的“世界”。
做为⼀个⼏乎“万能”的图⽚像素数据处理类库,它的内部包含了⼤量的代码。
迈瑞招聘
电脑怎么发朋友圈Libswscale处理像素数据的流程可以概括为下图:
从图中可以看出,libswscale处理数据有两条最主要的⽅式:unscaled和scaled。
unscaled⽤于处理不需要拉伸的像素数据(属于⽐较特殊的情况),scaled⽤于处理需要拉伸的像素数据。
Unscaled只需要对图像像素格式进⾏转换;⽽Scaled则除了对像素格式进⾏转换之外,还需要对图像进⾏缩放。
Scaled⽅式可以分成以下⼏个步骤:
XXX to YUV Converter:⾸相将数据像素数据转换为8bitYUV格式;
Horizontal scaler:⽔平拉伸图像,并且转换为15bitYUV;葬花吟简谱
Vertical scaler:垂直拉伸图像;
Output converter:转换为输出像素格式。
其中sws_getContext()是初始化SwsContext的函数。sws_getContext()的声明位于libswscale\swscale.h。
该函数包含以下参数:
才能开>暴雨预警等级
srcW:源图像的宽
srcH:源图像的⾼
srcFormat:源图像的像素格式
dstW:⽬标图像的宽
小猪简笔画
dstH:⽬标图像的⾼
dstFormat:⽬标图像的像素格式
flags:设定图像拉伸使⽤的算法
成功执⾏的话返回⽣成的SwsContext,否则返回NULL。
韩信sws_getContext()的定义位于libswscale\utils.c
从sws_getContext()的定义中可以看出,它⾸先调⽤了⼀个函数sws_alloc_context()⽤于给SwsContext分配内存。然后将传⼊的源图像,⽬标图像的宽⾼,像素格式,以及标志位分别赋值给该SwsContext相应的字段。最后调⽤⼀个函数sws_init_context()完成初始化⼯作。

本文发布于:2023-07-30 14:46:57,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1102077.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:像素   数据   函数   图像   拉伸   格式
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图