obs-filters.c 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #include <obs-module.h>
  2. OBS_DECLARE_MODULE()
  3. OBS_MODULE_USE_DEFAULT_LOCALE("obs-filters", "en-US")
  4. MODULE_EXPORT const char *obs_module_description(void)
  5. {
  6. return "OBS core filters";
  7. }
  8. extern struct obs_source_info mask_filter;
  9. extern struct obs_source_info mask_filter_v2;
  10. extern struct obs_source_info crop_filter;
  11. extern struct obs_source_info gain_filter;
  12. extern struct obs_source_info hdr_tonemap_filter;
  13. extern struct obs_source_info color_filter;
  14. extern struct obs_source_info color_filter_v2;
  15. extern struct obs_source_info scale_filter;
  16. extern struct obs_source_info scroll_filter;
  17. extern struct obs_source_info gpu_delay_filter;
  18. extern struct obs_source_info color_key_filter;
  19. extern struct obs_source_info color_key_filter_v2;
  20. extern struct obs_source_info color_grade_filter;
  21. extern struct obs_source_info sharpness_filter;
  22. extern struct obs_source_info sharpness_filter_v2;
  23. extern struct obs_source_info chroma_key_filter;
  24. extern struct obs_source_info chroma_key_filter_v2;
  25. extern struct obs_source_info async_delay_filter;
  26. #if defined(HAS_NOISEREDUCTION)
  27. extern struct obs_source_info noise_suppress_filter;
  28. extern struct obs_source_info noise_suppress_filter_v2;
  29. extern bool load_nvafx(void);
  30. extern void unload_nvafx(void);
  31. #endif
  32. extern struct obs_source_info invert_polarity_filter;
  33. extern struct obs_source_info noise_gate_filter;
  34. extern struct obs_source_info compressor_filter;
  35. extern struct obs_source_info limiter_filter;
  36. extern struct obs_source_info expander_filter;
  37. extern struct obs_source_info luma_key_filter;
  38. extern struct obs_source_info luma_key_filter_v2;
  39. #ifdef LIBNVVFX_ENABLED
  40. extern struct obs_source_info nvidia_greenscreen_filter_info;
  41. extern bool load_nvvfx(void);
  42. extern void unload_nvvfx(void);
  43. #endif
  44. bool obs_module_load(void)
  45. {
  46. obs_register_source(&mask_filter);
  47. obs_register_source(&mask_filter_v2);
  48. obs_register_source(&crop_filter);
  49. obs_register_source(&gain_filter);
  50. obs_register_source(&hdr_tonemap_filter);
  51. obs_register_source(&color_filter);
  52. obs_register_source(&color_filter_v2);
  53. obs_register_source(&scale_filter);
  54. obs_register_source(&scroll_filter);
  55. obs_register_source(&gpu_delay_filter);
  56. obs_register_source(&color_key_filter);
  57. obs_register_source(&color_key_filter_v2);
  58. obs_register_source(&color_grade_filter);
  59. obs_register_source(&sharpness_filter);
  60. obs_register_source(&sharpness_filter_v2);
  61. obs_register_source(&chroma_key_filter);
  62. obs_register_source(&chroma_key_filter_v2);
  63. obs_register_source(&async_delay_filter);
  64. #if defined(HAS_NOISEREDUCTION)
  65. #ifdef LIBNVAFX_ENABLED
  66. /* load nvidia audio fx dll */
  67. load_nvafx();
  68. #endif
  69. obs_register_source(&noise_suppress_filter);
  70. obs_register_source(&noise_suppress_filter_v2);
  71. #endif
  72. obs_register_source(&invert_polarity_filter);
  73. obs_register_source(&noise_gate_filter);
  74. obs_register_source(&compressor_filter);
  75. obs_register_source(&limiter_filter);
  76. obs_register_source(&expander_filter);
  77. obs_register_source(&luma_key_filter);
  78. obs_register_source(&luma_key_filter_v2);
  79. #ifdef LIBNVVFX_ENABLED
  80. if (load_nvvfx())
  81. obs_register_source(&nvidia_greenscreen_filter_info);
  82. #endif
  83. return true;
  84. }
  85. void obs_module_unload(void)
  86. {
  87. #ifdef LIBNVAFX_ENABLED
  88. unload_nvafx();
  89. #endif
  90. #ifdef LIBNVVFX_ENABLED
  91. unload_nvvfx();
  92. #endif
  93. }