mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 12:36:41 +08:00 
			
		
		
		
	avfilter/allfilters: make avfilter_register_all thread safe
use ff_thread_once Suggested-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
This commit is contained in:
		| @@ -19,6 +19,7 @@ | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #include "libavutil/thread.h" | ||||
| #include "avfilter.h" | ||||
| #include "config.h" | ||||
| #include "opencl_allkernels.h" | ||||
| @@ -37,14 +38,8 @@ | ||||
|         avfilter_register(&ff_##x);                                     \ | ||||
|     } | ||||
|  | ||||
| void avfilter_register_all(void) | ||||
| static void register_all(void) | ||||
| { | ||||
|     static int initialized; | ||||
|  | ||||
|     if (initialized) | ||||
|         return; | ||||
|     initialized = 1; | ||||
|  | ||||
|     REGISTER_FILTER(ABENCH,         abench,         af); | ||||
|     REGISTER_FILTER(ACOMPRESSOR,    acompressor,    af); | ||||
|     REGISTER_FILTER(ACROSSFADE,     acrossfade,     af); | ||||
| @@ -380,3 +375,10 @@ void avfilter_register_all(void) | ||||
|     REGISTER_FILTER_UNCONDITIONAL(vf_fifo); | ||||
|     ff_opencl_register_filter_kernel_code_all(); | ||||
| } | ||||
|  | ||||
| void avfilter_register_all(void) | ||||
| { | ||||
|     AVOnce control = AV_ONCE_INIT; | ||||
|  | ||||
|     ff_thread_once(&control, register_all); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Muhammad Faiz
					Muhammad Faiz