我有一个基于sws_scale的色彩空间转换功能。在应用程序的生存期内,它将从多个不同的线程中调用它。但是,我不知道sws_scale是线程安全的,并且在文档中没有提到它。
我假设每个线程都需要自己的SwsContext,因为此参数将被共享,但这是否足以确保不会发生任何内部冲突?
最佳答案
只要每个线程都有自己的SwsContext值,您就应该安全。快速查看libswscale的源代码表明它没有使用任何全局变量。
我有一个基于sws_scale的色彩空间转换功能。在应用程序的生存期内,它将从多个不同的线程中调用它。但是,我不知道sws_scale是线程安全的,并且在文档中没有提到它。
我假设每个线程都需要自己的SwsContext,因为此参数将被共享,但这是否足以确保不会发生任何内部冲突?
最佳答案
只要每个线程都有自己的SwsContext值,您就应该安全。快速查看libswscale的源代码表明它没有使用任何全局变量。