obs-filters.c 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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 eq_filter;
  13. extern struct obs_source_info hdr_tonemap_filter;
  14. extern struct obs_source_info color_filter;
  15. extern struct obs_source_info color_filter_v2;
  16. extern struct obs_source_info scale_filter;
  17. extern struct obs_source_info scroll_filter;
  18. extern struct obs_source_info gpu_delay_filter;
  19. extern struct obs_source_info color_key_filter;
  20. extern struct obs_source_info color_key_filter_v2;
  21. extern struct obs_source_info color_grade_filter;
  22. extern struct obs_source_info sharpness_filter;
  23. extern struct obs_source_info sharpness_filter_v2;
  24. extern struct obs_source_info chroma_key_filter;
  25. extern struct obs_source_info chroma_key_filter_v2;
  26. extern struct obs_source_info async_delay_filter;
  27. #if defined(HAS_NOISEREDUCTION)
  28. extern struct obs_source_info noise_suppress_filter;
  29. extern struct obs_source_info noise_suppress_filter_v2;
  30. extern bool load_nvafx(void);
  31. extern void unload_nvafx(void);
  32. #endif
  33. extern struct obs_source_info invert_polarity_filter;
  34. extern struct obs_source_info noise_gate_filter;
  35. extern struct obs_source_info compressor_filter;
  36. extern struct obs_source_info limiter_filter;
  37. extern struct obs_source_info expander_filter;
  38. extern struct obs_source_info upward_compressor_filter;
  39. extern struct obs_source_info luma_key_filter;
  40. extern struct obs_source_info luma_key_filter_v2;
  41. #ifdef LIBNVVFX_ENABLED
  42. extern struct obs_source_info nvidia_greenscreen_filter_info;
  43. extern bool load_nvvfx(void);
  44. extern void unload_nvvfx(void);
  45. #endif
  46. bool obs_module_load(void)
  47. {
  48. obs_register_source(&mask_filter);
  49. obs_register_source(&mask_filter_v2);
  50. obs_register_source(&crop_filter);
  51. obs_register_source(&gain_filter);
  52. obs_register_source(&eq_filter);
  53. obs_register_source(&hdr_tonemap_filter);
  54. obs_register_source(&color_filter);
  55. obs_register_source(&color_filter_v2);
  56. obs_register_source(&scale_filter);
  57. obs_register_source(&scroll_filter);
  58. obs_register_source(&gpu_delay_filter);
  59. obs_register_source(&color_key_filter);
  60. obs_register_source(&color_key_filter_v2);
  61. obs_register_source(&color_grade_filter);
  62. obs_register_source(&sharpness_filter);
  63. obs_register_source(&sharpness_filter_v2);
  64. obs_register_source(&chroma_key_filter);
  65. obs_register_source(&chroma_key_filter_v2);
  66. obs_register_source(&async_delay_filter);
  67. #if defined(HAS_NOISEREDUCTION)
  68. #ifdef LIBNVAFX_ENABLED
  69. /* load nvidia audio fx dll */
  70. load_nvafx();
  71. #endif
  72. obs_register_source(&noise_suppress_filter);
  73. obs_register_source(&noise_suppress_filter_v2);
  74. #endif
  75. obs_register_source(&invert_polarity_filter);
  76. obs_register_source(&noise_gate_filter);
  77. obs_register_source(&compressor_filter);
  78. obs_register_source(&limiter_filter);
  79. obs_register_source(&expander_filter);
  80. obs_register_source(&upward_compressor_filter);
  81. obs_register_source(&luma_key_filter);
  82. obs_register_source(&luma_key_filter_v2);
  83. #ifdef LIBNVVFX_ENABLED
  84. if (load_nvvfx())
  85. obs_register_source(&nvidia_greenscreen_filter_info);
  86. #endif
  87. return true;
  88. }
  89. void obs_module_unload(void)
  90. {
  91. #ifdef LIBNVAFX_ENABLED
  92. unload_nvafx();
  93. #endif
  94. #ifdef LIBNVVFX_ENABLED
  95. unload_nvvfx();
  96. #endif
  97. }