Advertisement

ffmpeg实战教程 libswscale 和 libavfilter 实践

阅读量:

1.libswscale实现YUV转RGB

libswscale 模块中集成了多种图像像素格式之间的转换功能。

libswscale在使用过程中具有较高的便捷性,其核心操作仅涉及三个主要函数:
(1) sws_getContext():通过传入相关参数对SwsContext结构体进行初始化。
(2) sws_scale():用于完成单帧图像的格式转换。
(3) sws_freeContext():释放之前初始化的SwsContext结构体资源。
此外,sws_getContext()的功能也可以通过另一个替代接口函数sws_getCachedContext()实现。

初始化方式

除了直接调用sws_getContext()之外,还存在一种更为灵活的初始化方法,允许配置更多参数。该方法所涉及的函数如下所示。
(1) sws_alloc_context():为SwsContext结构体分配所需的内存空间。
(2) av_opt_set_XXX():利用av_opt_set_int()、av_opt_set()等一系列表达方式来设置SwsContext结构体中的各项参数。需要注意的是,由于无法直接查看SwsContext结构体的具体定义,因此不能对其内部成员变量进行直接赋值,必须借助如av_opt_set()这样的API

全部评论 (0)

还没有任何评论哟~