diff --git a/modules/access/alsa.c b/modules/access/alsa.c
index 5bc583c700a4a268f2349444697ab6ea9902c6e5..c8a478a2ff6db16a146ac9edb725c4034f287fae 100644
--- a/modules/access/alsa.c
+++ b/modules/access/alsa.c
@@ -56,7 +56,6 @@ vlc_module_begin ()
     set_shortname (N_("ALSA"))
     set_description (N_("ALSA audio capture"))
     set_capability ("access", 0)
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_ACCESS)
     set_help (HELP_TEXT)
 
diff --git a/modules/access/amt.c b/modules/access/amt.c
index e578f007edbdb2147e8a777ace1fd7c5d52716ea..7e5426c2b195c56c1f4b38ca1910c7332adde8cd 100644
--- a/modules/access/amt.c
+++ b/modules/access/amt.c
@@ -253,7 +253,6 @@ static void make_ip_header( amt_ip_alert_t *p_ipHead );
 vlc_module_begin ()
     set_shortname( N_("AMT" ) )
     set_description( N_("AMT input") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_integer( "amt-native-timeout", 5, TIMEOUT_TEXT, NULL )
diff --git a/modules/access/avaudiocapture.m b/modules/access/avaudiocapture.m
index f4171028c48dd6002d660e6ef3da0081507ce4f9..51dd57a108aa37ddb5a65670f982e5d9c2eb7ed8 100644
--- a/modules/access/avaudiocapture.m
+++ b/modules/access/avaudiocapture.m
@@ -340,7 +340,6 @@ static void Close(vlc_object_t *p_this)
 vlc_module_begin ()
 set_shortname(N_("AVFoundation Audio Capture"))
 set_description(N_("AVFoundation audio capture module."))
-set_category(CAT_INPUT)
 set_subcategory(SUBCAT_INPUT_ACCESS)
 add_shortcut("qtsound")
 set_capability("access", 0)
diff --git a/modules/access/avcapture.m b/modules/access/avcapture.m
index 50898f44a63e95e9eab48898fd6785bdffa5d19e..52fcf36224303d3fc36f170547d42c1ea1c30b72 100644
--- a/modules/access/avcapture.m
+++ b/modules/access/avcapture.m
@@ -65,7 +65,6 @@ static int Control(demux_t *, int, va_list);
 vlc_module_begin ()
    set_shortname(N_("AVFoundation Video Capture"))
    set_description(N_("AVFoundation video capture module."))
-   set_category(CAT_INPUT)
    set_subcategory(SUBCAT_INPUT_ACCESS)
    add_shortcut("avcapture")
    set_capability("access", 0)
diff --git a/modules/access/avio.h b/modules/access/avio.h
index 931633065d3a7bb2af711e37f6d3e5190a687544..81d7c717fcdd3371be7a1ff9b146d1da7f510c20 100644
--- a/modules/access/avio.h
+++ b/modules/access/avio.h
@@ -31,7 +31,6 @@ void OutCloseAvio(vlc_object_t *);
 #define AVIO_MODULE \
     set_shortname(N_("AVIO"))                                                    \
     set_description(N_("libavformat AVIO access") )                              \
-    set_category(CAT_INPUT)                                                      \
     set_subcategory(SUBCAT_INPUT_ACCESS)                                         \
     set_capability("access", -1)                                                 \
     add_shortcut("avio", "rtmp", "rtmpe", "rtmps", "rtmpt", "rtmpte", "rtmpts")  \
@@ -42,7 +41,6 @@ void OutCloseAvio(vlc_object_t *);
         set_shortname( "AVIO" )                                                  \
         set_description( N_("libavformat AVIO access output") )                  \
         set_capability( "sout access", -1 )                                      \
-        set_category( CAT_SOUT )                                                 \
         set_subcategory( SUBCAT_SOUT_ACO )                                       \
         add_shortcut( "avio", "rtmp" )                                           \
         set_callbacks( OutOpenAvio, OutCloseAvio)                                \
diff --git a/modules/access/bluray.c b/modules/access/bluray.c
index 632a242e5e1ff36ccdc0115775fd09e664000216..c7089a800aaa333dd1a237b2981eae3643790537 100644
--- a/modules/access/bluray.c
+++ b/modules/access/bluray.c
@@ -241,7 +241,6 @@ vlc_module_begin ()
     set_shortname(N_("Blu-ray"))
     set_description(N_("Blu-ray Disc support (libbluray)"))
 
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     set_capability("access", 500)
     add_bool("bluray-menu", true, BD_MENU_TEXT, BD_MENU_LONGTEXT)
@@ -256,7 +255,6 @@ vlc_module_begin ()
     /* demux module */
     add_submodule()
         set_description( "BluRay demuxer" )
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_DEMUX )
         set_capability( "demux", 5 )
         set_callbacks( blurayOpen, blurayClose )
diff --git a/modules/access/cdda.c b/modules/access/cdda.c
index a4d0debbc48e2b169266217ed1a0086dc123cea0..dfe6136eadcf50d710122e30e1848c3cba9e644d 100644
--- a/modules/access/cdda.c
+++ b/modules/access/cdda.c
@@ -1023,7 +1023,6 @@ vlc_module_begin ()
     set_description( N_("Audio CD input") )
     set_help( HELP_TEXT )
     set_capability( "access", 0 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     set_callbacks(Open, Close)
 
diff --git a/modules/access/concat.c b/modules/access/concat.c
index 815ff253fc82f1686c3dc8ed5fd1bcfe6d4b5f12..e90b0743d0ac33bd466cef5a5caf0ef9b3c9b476 100644
--- a/modules/access/concat.c
+++ b/modules/access/concat.c
@@ -307,7 +307,6 @@ static void Close(vlc_object_t *obj)
 vlc_module_begin()
     set_shortname(N_("Concatenation"))
     set_description(N_("Concatenated inputs"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     add_string("concat-list", NULL, INPUT_LIST_TEXT, INPUT_LIST_LONGTEXT)
     set_capability("access", 0)
diff --git a/modules/access/data.c b/modules/access/data.c
index f656df9e03e73357ea0356287cab0d1b604e8150..3d33826fc1e8e3940b196c48a2fbb0b2e922d39f 100644
--- a/modules/access/data.c
+++ b/modules/access/data.c
@@ -159,7 +159,6 @@ static void Close(vlc_object_t *obj)
 vlc_module_begin()
     set_shortname(N_("data"))
     set_description(N_("data URI scheme"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
 
     set_capability("access", 0)
diff --git a/modules/access/dcp/dcp.cpp b/modules/access/dcp/dcp.cpp
index 093be530fdb49b03323d3275499f419eb0a01b27..e8215f33fcadddf77e42484b3e76a8d683b7f0e7 100644
--- a/modules/access/dcp/dcp.cpp
+++ b/modules/access/dcp/dcp.cpp
@@ -78,7 +78,6 @@ vlc_module_begin()
     add_shortcut( "dcp" )
     set_description( N_( "Digital Cinema Package module" ) )
     set_capability( "access", 0 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     add_loadfile("kdm", "", KDM_HELP_TEXT, KDM_HELP_LONG_TEXT)
     set_callbacks( Open, Close )
diff --git a/modules/access/decklink.cpp b/modules/access/decklink.cpp
index 097e53895f7385d56b07b7431747eba394b69362..d3f26f5be9582a5004893ee4171f0c488d59c686 100644
--- a/modules/access/decklink.cpp
+++ b/modules/access/decklink.cpp
@@ -111,7 +111,6 @@ static const char *const ppsz_audioconns_text[] = {
 vlc_module_begin ()
     set_shortname(N_("DeckLink"))
     set_description(N_("Blackmagic DeckLink SDI input"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
 
     add_integer("decklink-card-index", 0,
diff --git a/modules/access/dshow/dshow.cpp b/modules/access/dshow/dshow.cpp
index ae459479774216270df543d25c138c4163e5856c..e7c50b03eeafb4f03c8a72d42333615258ec3c89 100644
--- a/modules/access/dshow/dshow.cpp
+++ b/modules/access/dshow/dshow.cpp
@@ -189,7 +189,6 @@ using namespace dshow;
 vlc_module_begin ()
     set_shortname( N_("DirectShow") )
     set_description( N_("DirectShow input") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     add_string( "dshow-vdev", NULL, VDEV_TEXT, VDEV_LONGTEXT)
 
diff --git a/modules/access/dsm/access.c b/modules/access/dsm/access.c
index 439d1b66e2516f5d0a7fdb38d4ae0b4a5f3ca46d..507013588fe38c8033319ab7070fb7e3a8037708 100644
--- a/modules/access/dsm/access.c
+++ b/modules/access/dsm/access.c
@@ -78,7 +78,6 @@ vlc_module_begin ()
     set_shortname( "dsm" )
     set_description( N_("libdsm SMB input") )
     set_help(BDSM_HELP)
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     add_string( "smb-user", NULL, SMB_USER_TEXT, SMB_USER_LONGTEXT )
     add_password("smb-pwd", NULL, SMB_PASS_TEXT, SMB_PASS_LONGTEXT)
@@ -97,7 +96,6 @@ vlc_module_begin ()
     add_submodule()
         add_shortcut( "dsm-sd" )
         set_description( N_("libdsm NETBIOS discovery module") )
-        set_category( CAT_PLAYLIST )
         set_subcategory( SUBCAT_PLAYLIST_SD )
         set_capability( "services_discovery", 0 )
         set_callbacks( bdsm_SdOpen, bdsm_SdClose )
diff --git a/modules/access/dtv/access.c b/modules/access/dtv/access.c
index b4bc33d751ef172dbd92c97daf438a7bfd355e1c..8e8bc80819d8b0dd95f24d0ce974e2d404b3518e 100644
--- a/modules/access/dtv/access.c
+++ b/modules/access/dtv/access.c
@@ -242,7 +242,6 @@ static void Close (vlc_object_t *);
 vlc_module_begin ()
     set_shortname (N_("DTV"))
     set_description (N_("Digital Television and Radio"))
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_ACCESS)
     set_capability ("access", 0)
     set_callbacks (Open, Close)
diff --git a/modules/access/dv.c b/modules/access/dv.c
index 8a8baa104d75068191e1951c5ed30ebb24daaccd..cb993427df2e39b6e404e287745bffd4c3ba31a2 100644
--- a/modules/access/dv.c
+++ b/modules/access/dv.c
@@ -55,7 +55,6 @@ static int Control( stream_t *, int, va_list );
 vlc_module_begin ()
     set_description( N_("Digital Video (Firewire/ieee1394) input") )
     set_shortname( N_("DV") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     set_capability( "access", 0 )
     add_shortcut( "dv", "raw1394" )
diff --git a/modules/access/dvb/access.c b/modules/access/dvb/access.c
index 0e541821dd1237362c5fee90db8b9b9bf8dec4cc..c981fcc0090bc85121ca469c11000ac6669e2709 100644
--- a/modules/access/dvb/access.c
+++ b/modules/access/dvb/access.c
@@ -77,7 +77,6 @@ static void Close( vlc_object_t *p_this );
 vlc_module_begin ()
     set_shortname( N_("DVB") )
     set_description( N_("DVB input with v4l2 support") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_bool( "dvb-probe", true, PROBE_TEXT, PROBE_LONGTEXT )
diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c
index 5d418bf2a0aabd40ca0e41633f02eeb150084279..56e272d2987acaaa21f0287507ddb8c059fae7ba 100644
--- a/modules/access/dvdnav.c
+++ b/modules/access/dvdnav.c
@@ -85,7 +85,6 @@ static int  DemuxOpen ( vlc_object_t * );
 vlc_module_begin ()
     set_shortname( N_("DVD with menus") )
     set_description( N_("DVDnav Input") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     add_integer( "dvdnav-angle", 1, ANGLE_TEXT,
         ANGLE_LONGTEXT )
@@ -96,7 +95,6 @@ vlc_module_begin ()
     set_callbacks( AccessDemuxOpen, Close )
     add_submodule()
         set_description( N_("DVDnav demuxer") )
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_DEMUX )
         set_capability( "demux", 5 )
         set_callbacks( DemuxOpen, Close )
diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c
index c1e2c4b696b051c0bba645f369cb16e15cad55da..ea3d41613eb8e57f240d270d26cf4e5910bd0538 100644
--- a/modules/access/dvdread.c
+++ b/modules/access/dvdread.c
@@ -77,7 +77,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin ()
     set_shortname( N_("DVD without menus") )
     set_description( N_("DVDRead Input (no menu support)") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     add_integer( "dvdread-angle", 1, ANGLE_TEXT,
         ANGLE_LONGTEXT )
diff --git a/modules/access/fs.c b/modules/access/fs.c
index 5492b20a733a33290755cc234c8b993520c34b3a..0762bccbfd7439e1aac8a22b6bf142cccd63c53f 100644
--- a/modules/access/fs.c
+++ b/modules/access/fs.c
@@ -33,7 +33,6 @@
 vlc_module_begin ()
     set_description( N_("File input") )
     set_shortname( N_("File") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     set_capability( "access", 50 )
     add_shortcut( "file", "fd", "stream" )
diff --git a/modules/access/ftp.c b/modules/access/ftp.c
index a90f887065273f4b801f1646d3fb44c69c304719..e753bbc84355a1128b946564ab9defc407081f58 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -83,7 +83,6 @@ vlc_module_begin ()
     set_shortname( "FTP" )
     set_description( N_("FTP input") )
     set_capability( "access", 0 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     add_string( "ftp-user", NULL, USER_TEXT, USER_LONGTEXT )
     add_password( "ftp-pwd", NULL, PASS_TEXT, PASS_LONGTEXT )
@@ -97,7 +96,6 @@ vlc_module_begin ()
         set_shortname( "FTP" )
         set_description( N_("FTP upload output") )
         set_capability( "sout access", 0 )
-        set_category( CAT_SOUT )
         set_subcategory( SUBCAT_SOUT_ACO )
         add_shortcut( "ftp", "ftps", "ftpes" )
         set_callbacks( OutOpen, OutClose )
diff --git a/modules/access/gopher.c b/modules/access/gopher.c
index c8ed71369c8764e978629691c8cdaee276a8b593..de2bd2047ad6fc8fe1f3571188635678da75064d 100644
--- a/modules/access/gopher.c
+++ b/modules/access/gopher.c
@@ -46,7 +46,6 @@ vlc_module_begin ()
     set_description( N_("Gopher input") )
     set_capability( "access", 0 )
     set_shortname( "gopher" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     add_shortcut( "gopher")
     set_callbacks( Open, Close )
diff --git a/modules/access/http.c b/modules/access/http.c
index 7c12edf1db24f5ab1971bba38fb85fb41deddd5c..8a0ae7c104ffb0debb60c0a3eee93338721749f3 100644
--- a/modules/access/http.c
+++ b/modules/access/http.c
@@ -67,7 +67,6 @@ vlc_module_begin ()
     set_description( N_("HTTP input") )
     set_capability( "access", 0 )
     set_shortname( N_( "HTTP(S)" ) )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_bool( "http-reconnect", false, RECONNECT_TEXT,
diff --git a/modules/access/http/access.c b/modules/access/http/access.c
index b8be006f68a0bcff0e9611b52ad82f4173834626..fd805ad65efc06b5009b84aa874a689f5393cde4 100644
--- a/modules/access/http/access.c
+++ b/modules/access/http/access.c
@@ -283,7 +283,6 @@ static void Close(vlc_object_t *obj)
 vlc_module_begin()
     set_description(N_("HTTPS input"))
     set_shortname(N_("HTTPS"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     set_capability("access", 2)
     add_shortcut("https", "http")
diff --git a/modules/access/imem-access.c b/modules/access/imem-access.c
index 3e902822ac8326ca3c468c6bf04597d087fe1aca..a953abfd99e1ae5d4ff555db6bc7d4874a9650c9 100644
--- a/modules/access/imem-access.c
+++ b/modules/access/imem-access.c
@@ -158,7 +158,6 @@ static void Close(vlc_object_t *object)
 vlc_module_begin()
     set_shortname(N_("Memory stream"))
     set_description(N_("In-memory stream input"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
 
     add_shortcut("imem")
diff --git a/modules/access/imem.c b/modules/access/imem.c
index d1084c015248fddab2ef915a7b90a6d0d849351c..bcf102fcd3e7f43fb5509a3983d0236e4626fdd2 100644
--- a/modules/access/imem.c
+++ b/modules/access/imem.c
@@ -116,7 +116,6 @@ static const char *cat_texts[] = {
 vlc_module_begin()
     set_shortname(N_("Memory input"))
     set_description(N_("Memory input"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
 
     add_string ("imem-get", "0", GET_TEXT, GET_LONGTEXT)
diff --git a/modules/access/jack.c b/modules/access/jack.c
index b68c19b55b5c64957ab2472d3030ae79b3fd910a..cb2c5844afef827986d3e4b8eb058ded615e817b 100644
--- a/modules/access/jack.c
+++ b/modules/access/jack.c
@@ -73,7 +73,6 @@ vlc_module_begin ()
      set_description( N_("JACK audio input") )
      set_capability( "access", 0 )
      set_shortname( N_( "JACK Input" ) )
-     set_category( CAT_INPUT )
      set_subcategory( SUBCAT_INPUT_ACCESS )
 
      add_bool( "jack-input-use-vlc-pace", false,
diff --git a/modules/access/linsys/linsys_hdsdi.c b/modules/access/linsys/linsys_hdsdi.c
index 669ee915bddbbd507b0fee576ad9c4f233faad2a..8c824480765347d46aa4ef146cd0ea2ebfa10231 100644
--- a/modules/access/linsys/linsys_hdsdi.c
+++ b/modules/access/linsys/linsys_hdsdi.c
@@ -88,7 +88,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin()
     set_description( N_("HD-SDI Input") )
     set_shortname( N_("HD-SDI") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_integer( "linsys-hdsdi-link", 0,
diff --git a/modules/access/linsys/linsys_sdi.c b/modules/access/linsys/linsys_sdi.c
index 3c66222324c34176da91fe28e11be9becc670b35..65f9f05966ffb3a2668fd312ac0f6312814e5049 100644
--- a/modules/access/linsys/linsys_sdi.c
+++ b/modules/access/linsys/linsys_sdi.c
@@ -92,7 +92,6 @@ static void DemuxClose( vlc_object_t * );
 vlc_module_begin()
     set_description( N_("SDI Input") )
     set_shortname( N_("SDI") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_integer( "linsys-sdi-link", 0,
diff --git a/modules/access/live555.cpp b/modules/access/live555.cpp
index 00b5d5edf4c5a23b650bf8c427e76ccb7e61027b..806e99bd9673c756cc90a9a656418f87cc4dcdd0 100644
--- a/modules/access/live555.cpp
+++ b/modules/access/live555.cpp
@@ -101,7 +101,6 @@ vlc_module_begin ()
     set_shortname( "RTP/RTSP")
     set_callbacks( Open, Close )
     add_shortcut( "live", "livedotcom" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
 
     add_submodule ()
diff --git a/modules/access/mms/mms.c b/modules/access/mms/mms.c
index 948b6521df9dbe27f06b6c46fb62afbc52d4ff05..6678ae10297bd039b2fc270400285ff3fff9afed 100644
--- a/modules/access/mms/mms.c
+++ b/modules/access/mms/mms.c
@@ -61,7 +61,6 @@ vlc_module_begin ()
     set_shortname( "MMS" )
     set_description( N_("Microsoft Media Server (MMS) input") )
     set_capability( "access", -1 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_integer( "mms-timeout", 5000, TIMEOUT_TEXT, TIMEOUT_LONGTEXT )
diff --git a/modules/access/mtp.c b/modules/access/mtp.c
index d77b54d73173153796e02d0ee9f81dc8f783d904..f4c218aea9c3766114e0579dd791e95cbe2bdb3b 100644
--- a/modules/access/mtp.c
+++ b/modules/access/mtp.c
@@ -55,7 +55,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin()
     set_description( N_("MTP input") )
     set_shortname( N_("MTP") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     set_capability( "access", 0 )
     add_shortcut( "mtp" )
diff --git a/modules/access/nfs.c b/modules/access/nfs.c
index 3fa38a0ba8a1ec94cb9a335d2156e8d4f12cd895..3b172965f044b55fd36cf5447a83ace6823e9610 100644
--- a/modules/access/nfs.c
+++ b/modules/access/nfs.c
@@ -56,7 +56,6 @@ static void Close(vlc_object_t *);
 vlc_module_begin()
     set_shortname(N_("NFS"))
     set_description(N_("NFS input"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     add_bool("nfs-auto-guid", true, AUTO_GUID_TEXT, AUTO_GUID_LONGTEXT)
     set_capability("access", 0)
diff --git a/modules/access/oss.c b/modules/access/oss.c
index 5aca74c5b4aa15f491788f0fdf304648e426ee29..99126d14352db46dbdbb8efd8de6dc59a957316e 100644
--- a/modules/access/oss.c
+++ b/modules/access/oss.c
@@ -74,7 +74,6 @@ static void DemuxClose( vlc_object_t * );
 vlc_module_begin ()
     set_shortname( N_("OSS") )
     set_description( N_("OSS input") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_shortcut( "oss" )
diff --git a/modules/access/pulse.c b/modules/access/pulse.c
index bcf3ae6b486f4da89527f1583808c7a675cd6173..888ccb4d085cd3feb89d4a75cf4816cd663f7287 100644
--- a/modules/access/pulse.c
+++ b/modules/access/pulse.c
@@ -42,7 +42,6 @@ vlc_module_begin ()
     set_shortname (N_("PulseAudio"))
     set_description (N_("PulseAudio input"))
     set_capability ("access", 0)
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_ACCESS)
     set_help (HELP_TEXT)
 
diff --git a/modules/access/rdp.c b/modules/access/rdp.c
index d1e12efec30565dd6242e9e5eb6d5db8c78ed197..b34d7008fd7fff0a3e77095515cd94118ebc3bf4 100644
--- a/modules/access/rdp.c
+++ b/modules/access/rdp.c
@@ -84,7 +84,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin()
     set_shortname( N_("RDP") )
     add_shortcut( "rdp" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     set_description( N_("RDP Remote Desktop") )
     set_capability( "access", 0 )
diff --git a/modules/access/rist.c b/modules/access/rist.c
index 8a71ab33b0f6cdc9bf25e0b2b9d6c66f486877f1..596be751acaada24fa2bc3a571b3d7dac96b600f 100644
--- a/modules/access/rist.c
+++ b/modules/access/rist.c
@@ -308,7 +308,6 @@ vlc_module_begin ()
 
     set_shortname( N_("RIST") )
     set_description( N_("RIST input") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_integer( RIST_CFG_PREFIX "maximum-jitter", 5,
diff --git a/modules/access/rtp/ac3.c b/modules/access/rtp/ac3.c
index 4edfddce1f721dfd78607d322b239483d77d0ad5..d652d053089f75fc18ae6d3f7d78367db034728d 100644
--- a/modules/access/rtp/ac3.c
+++ b/modules/access/rtp/ac3.c
@@ -245,7 +245,6 @@ static int rtp_ac3_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,
 vlc_module_begin()
     set_shortname(N_("RTP AC3"))
     set_description(N_("RTP AC-3 payload parser"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_DEMUX)
     set_rtp_parser_callback(rtp_ac3_open)
     add_shortcut("audio/ac3", "audio/eac3")
diff --git a/modules/access/rtp/mpeg12.c b/modules/access/rtp/mpeg12.c
index a828738f0b42a294362db1b248ee82fd86502238..76c000491d45a3b3ace6649365bd91b966f8d77a 100644
--- a/modules/access/rtp/mpeg12.c
+++ b/modules/access/rtp/mpeg12.c
@@ -407,7 +407,6 @@ static int rtp_mpeg12_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,
 vlc_module_begin()
     set_shortname(N_("RTP MPEG"))
     set_description(N_("RTP MPEG-1/2 payload parser"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_DEMUX)
     set_rtp_parser_callback(rtp_mpeg12_open)
     add_shortcut("audio/MPA", "video/MPV", "video/MP1S", "video/MP2P",
diff --git a/modules/access/rtp/pcm.c b/modules/access/rtp/pcm.c
index ded00004e1e83bcbfad987ff13db1c6a5702b367..ed2bd850f5682f670169709c7c80d1e5feee3fdf 100644
--- a/modules/access/rtp/pcm.c
+++ b/modules/access/rtp/pcm.c
@@ -301,7 +301,6 @@ static int rtp_pcm_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,
 vlc_module_begin()
     set_shortname(N_("RTP PCM"))
     set_description(N_("RTP PCM payload parser"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_DEMUX)
     set_rtp_parser_callback(rtp_pcm_open)
     add_shortcut("audio/L8", "audio/L16", "audio/L20", "audio/L24",
diff --git a/modules/access/rtp/rtp.c b/modules/access/rtp/rtp.c
index c521ae7ce1c29e34773dec419ed5f5ad3667c053..9f3bb7219c2a83748268ec7b368159a0ff0cb3c0 100644
--- a/modules/access/rtp/rtp.c
+++ b/modules/access/rtp/rtp.c
@@ -669,7 +669,6 @@ error:
 vlc_module_begin()
     set_shortname(N_("RTP"))
     set_description(N_("Real-Time Protocol (RTP) input"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_DEMUX)
     set_capability("demux", 55)
     set_callbacks(OpenSDP, Close)
diff --git a/modules/access/rtp/xiph.c b/modules/access/rtp/xiph.c
index dbd6c3ceb1f999b618c7e6dd1e2410d3d8d972f9..75511bb6393de01a3b444a77c29c30d0e1781826 100644
--- a/modules/access/rtp/xiph.c
+++ b/modules/access/rtp/xiph.c
@@ -311,7 +311,6 @@ static int theora_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,
 vlc_module_begin()
     set_shortname(N_("RTP Xiph"))
     set_description(N_("RTP Xiph payload parser"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_DEMUX)
     set_capability("rtp audio parser", 0)
     set_callback(vorbis_open)
diff --git a/modules/access/samba.c b/modules/access/samba.c
index d01c9f4a073534c015db5ab133a881927118078b..1f038c6641fe207428a04851a48ff0af72a02b4b 100644
--- a/modules/access/samba.c
+++ b/modules/access/samba.c
@@ -445,7 +445,6 @@ vlc_module_begin()
     set_description(N_("SMB input"))
     set_help(N_("Samba (Windows network shares) input"))
     set_capability("access", 0)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     add_string("smb-user", NULL, SMB_USER_TEXT, SMB_USER_LONGTEXT)
     add_password("smb-pwd", NULL, SMB_PASS_TEXT, SMB_PASS_LONGTEXT)
diff --git a/modules/access/satip.c b/modules/access/satip.c
index 4039c59d4f5255dad41a8f8d8deaaf4a3692219b..8e8045cd9204bf3a8a6488a3aee488f37e16721d 100644
--- a/modules/access/satip.c
+++ b/modules/access/satip.c
@@ -68,7 +68,6 @@ vlc_module_begin()
     set_description( N_("SAT>IP Receiver Plugin") )
     set_capability("access", 201)
     set_callbacks(satip_open, satip_close)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     add_obsolete_integer("satip-buffer") /* obsolete since 4.0.0 */
     add_bool("satip-multicast", false, MULTICAST_TEXT, MULTICAST_LONGTEXT)
diff --git a/modules/access/screen/screen.c b/modules/access/screen/screen.c
index bb9e54ab01dd4d7e4d51762fb9d88373d9cf5431..483cc468b6c72447cb94c3c281d76e13d270a542 100644
--- a/modules/access/screen/screen.c
+++ b/modules/access/screen/screen.c
@@ -96,7 +96,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("Screen Input") )
     set_shortname( N_("Screen" ))
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_float( "screen-fps", SCREEN_FPS, FPS_TEXT, FPS_LONGTEXT )
diff --git a/modules/access/screen/wayland.c b/modules/access/screen/wayland.c
index a86596452a47b4576021ee19293c7316c0e6af81..459017012bf286f92cd6453e307b386b27732636 100644
--- a/modules/access/screen/wayland.c
+++ b/modules/access/screen/wayland.c
@@ -475,7 +475,6 @@ static void Close(vlc_object_t *obj)
 vlc_module_begin ()
     set_shortname (N_("Screen"))
     set_description (N_("Screen capture (with Wayland)"))
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_ACCESS)
     set_capability ("access", 0)
     set_callbacks (Open, Close)
diff --git a/modules/access/screen/xcb.c b/modules/access/screen/xcb.c
index 0e32ba36b95e5d432006181691b3aada065478df..a7dc960caab719809a522b4bbb1d3869fdd2c34b 100644
--- a/modules/access/screen/xcb.c
+++ b/modules/access/screen/xcb.c
@@ -69,7 +69,6 @@ static void Close (vlc_object_t *);
 vlc_module_begin ()
     set_shortname (N_("Screen"))
     set_description (N_("Screen capture (with X11/XCB)"))
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_ACCESS)
     set_capability ("access", 0)
     set_callbacks (Open, Close)
diff --git a/modules/access/sdp.c b/modules/access/sdp.c
index 556c4fcb0f7b2ffeb31cadafc5a479927b437e44..d1f5fea63afc2201684bb70637dd0cd88b82f72a 100644
--- a/modules/access/sdp.c
+++ b/modules/access/sdp.c
@@ -104,7 +104,6 @@ static int Open (vlc_object_t *obj)
 vlc_module_begin()
     set_shortname(N_("SDP"))
     set_description(N_("Session Description Protocol"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
 
     set_capability("access", 0)
diff --git a/modules/access/sftp.c b/modules/access/sftp.c
index 8c25f5c8cd639a5ab80180cfdad7abdf165f229c..859f03d79e598d0c2b553d6c9424c141bf829cb4 100644
--- a/modules/access/sftp.c
+++ b/modules/access/sftp.c
@@ -62,7 +62,6 @@ vlc_module_begin ()
     set_shortname( "SFTP" )
     set_description( N_("SFTP input") )
     set_capability( "access", 0 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     add_integer( "sftp-port", 22, PORT_TEXT, PORT_LONGTEXT )
     add_string( "sftp-user", NULL, USER_TEXT, USER_LONGTEXT )
diff --git a/modules/access/shm.c b/modules/access/shm.c
index df78ded2715d058e8a764649249c53a84e430a03..37c1cdc8efd222006eba6550da4f84feaf6ced71 100644
--- a/modules/access/shm.c
+++ b/modules/access/shm.c
@@ -82,7 +82,6 @@ static const char *const depth_texts[] = {
 vlc_module_begin ()
     set_shortname (N_("Framebuffer input"))
     set_description (N_("Shared memory framebuffer"))
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_ACCESS)
     set_capability ("access", 0)
     set_callbacks (Open, Close)
diff --git a/modules/access/smb2.c b/modules/access/smb2.c
index 774598ca00612888196a795df2e8d2e972ff195d..2ccd89f03d56d6c9fa8b2e8d20dd83a467fbb9f8 100644
--- a/modules/access/smb2.c
+++ b/modules/access/smb2.c
@@ -67,7 +67,6 @@ vlc_module_begin()
     set_description(N_("SMB2 / SMB3 input"))
     set_help(N_("Samba (Windows network shares) input via libsmb2"))
     set_capability("access", 21)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     add_string("smb-user", NULL, SMB_USER_TEXT, SMB_USER_LONGTEXT)
     add_password("smb-pwd", NULL, SMB_PASS_TEXT, SMB_PASS_LONGTEXT)
diff --git a/modules/access/srt.c b/modules/access/srt.c
index 399ef00453184c557a4d5a544cde54ecfdedaa41..c5266226e16db4be2297f459554b2527cd370753 100644
--- a/modules/access/srt.c
+++ b/modules/access/srt.c
@@ -420,7 +420,6 @@ static void Close(vlc_object_t *p_this)
 vlc_module_begin ()
     set_shortname( N_( "SRT" ) )
     set_description( N_( "SRT input" ) )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_obsolete_integer( SRT_PARAM_CHUNK_SIZE )
diff --git a/modules/access/tcp.c b/modules/access/tcp.c
index 214a5853be7201753ee2c4dd31d0c69f7ee40a3c..67a34bf641adc2cc7b60b1e8bc4381861ccf1b21 100644
--- a/modules/access/tcp.c
+++ b/modules/access/tcp.c
@@ -112,7 +112,6 @@ static void Close( vlc_object_t *p_this )
 vlc_module_begin ()
     set_shortname( N_("TCP") )
     set_description( N_("TCP input") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     set_capability( "access", 0 )
diff --git a/modules/access/timecode.c b/modules/access/timecode.c
index 8d4370f178c76b3266bd46fb0bab242d607455f3..e7a0c2c6e7d96341387851fcd31285d54f7efa93 100644
--- a/modules/access/timecode.c
+++ b/modules/access/timecode.c
@@ -41,7 +41,6 @@ static const char *const fps_texts[] = { "24", "25", "29.97", "30" };
 vlc_module_begin ()
     set_shortname (N_("Time code"))
     set_description (N_("Time code subpicture elementary stream generator"))
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_ACCESS)
     set_capability ("access", 0)
     set_callback(Open)
diff --git a/modules/access/udp.c b/modules/access/udp.c
index f31747b01ce6f8528a03f8b5aa9f6f5e850098a6..23b2c7de33b8f6fe457d2b308c834b6536caddbf 100644
--- a/modules/access/udp.c
+++ b/modules/access/udp.c
@@ -236,7 +236,6 @@ static void Close( vlc_object_t *p_this )
 vlc_module_begin()
     set_shortname(N_("UDP"))
     set_description(N_("UDP input"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
 
     add_obsolete_integer("udp-buffer") /* since 3.0.0 */
diff --git a/modules/access/unc.c b/modules/access/unc.c
index e3228eec579a68307c1ed0391c546b48083be8b4..b1dbb26002e85e704463fc418bf2e65ef534b6d5 100644
--- a/modules/access/unc.c
+++ b/modules/access/unc.c
@@ -385,7 +385,6 @@ vlc_module_begin()
     set_description(N_("UNC input"))
     set_help(N_("Microsoft Windows networking (UNC) input"))
     set_capability("access", 0)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     add_string("smb-user", NULL, SMB_USER_TEXT, SMB_USER_LONGTEXT)
     add_password("smb-pwd", NULL, SMB_PASS_TEXT, SMB_PASS_LONGTEXT)
diff --git a/modules/access/v4l2/v4l2.c b/modules/access/v4l2/v4l2.c
index 6090fd28cc20867f1a1c90157149bc987769b385..5267339337b84e6f9e906c47a2a752b0603d7df1 100644
--- a/modules/access/v4l2/v4l2.c
+++ b/modules/access/v4l2/v4l2.c
@@ -274,7 +274,6 @@ static const char *const psz_tuner_audio_modes_list_text[] = {
 vlc_module_begin ()
     set_shortname( N_("V4L") )
     set_description( N_("Video4Linux input") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     set_section( N_( "Video input" ), NULL )
diff --git a/modules/access/vcd/vcd.c b/modules/access/vcd/vcd.c
index 39592b149321e795c811eb42e3df5856740fdf40..7a82bf9c77106a33d1f3be648944934d72b451af 100644
--- a/modules/access/vcd/vcd.c
+++ b/modules/access/vcd/vcd.c
@@ -50,7 +50,6 @@ vlc_module_begin ()
     set_help( HELP_TEXT )
     set_capability( "access", 0 )
     set_callbacks( Open, Close )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
 
     add_shortcut( "vcd", "svcd" )
diff --git a/modules/access/vdr.c b/modules/access/vdr.c
index f72af4a11310a5ff217076fefbba72a67f26ef29..b424406ab9e7613f76aa47a1f3ce779c23cf3462 100644
--- a/modules/access/vdr.c
+++ b/modules/access/vdr.c
@@ -80,7 +80,6 @@ static void Close( vlc_object_t * );
     "Default frame rate for chapter import." )
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_shortname( N_("VDR") )
     set_help( HELP_TEXT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
diff --git a/modules/access/vnc.c b/modules/access/vnc.c
index 8947e7ae04989decb6131f9521a71536e7fff886..e3035690b717e60510eff225e8a15ec95d1453ef 100644
--- a/modules/access/vnc.c
+++ b/modules/access/vnc.c
@@ -77,7 +77,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin()
     set_shortname( N_("VNC") )
     add_shortcut( "vnc" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
     set_description( N_("VNC client access") )
     set_capability( "access", 0 )
diff --git a/modules/access/wasapi.c b/modules/access/wasapi.c
index f2d4e06b48d7b5638ac59c7ba9f3a1797e002fda..37bb54f4d539b86578f754da986fa8f2ed0c8ef4 100644
--- a/modules/access/wasapi.c
+++ b/modules/access/wasapi.c
@@ -507,7 +507,6 @@ vlc_module_begin()
     set_shortname(N_("WASAPI"))
     set_description(N_("Windows Audio Session API input"))
     set_capability("access", 0)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
 
     add_bool("wasapi-loopback", false, LOOPBACK_TEXT, LOOPBACK_LONGTEXT)
diff --git a/modules/access_output/dummy.c b/modules/access_output/dummy.c
index e81126eb4dd923a2a044571a150aaba7052619ae..f5b5e584d3e5e93d295898b5659a2617af4c6c23 100644
--- a/modules/access_output/dummy.c
+++ b/modules/access_output/dummy.c
@@ -42,7 +42,6 @@ vlc_module_begin ()
     set_description( N_("Dummy stream output") )
     set_shortname( N_( "Dummy" ))
     set_capability( "sout access", 0 )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_ACO )
     add_shortcut( "dummy" )
     set_callback( Open )
diff --git a/modules/access_output/file.c b/modules/access_output/file.c
index 24fcd870b2a00c27f88080026b02895eca688b77..d4ec686e559bd56a087610c78ea5d19d041285c2 100644
--- a/modules/access_output/file.c
+++ b/modules/access_output/file.c
@@ -388,7 +388,6 @@ vlc_module_begin ()
     set_description( N_("File stream output") )
     set_shortname( N_("File" ))
     set_capability( "sout access", 50 )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_ACO )
     add_shortcut( "file", "stream", "fd" )
     add_bool( SOUT_CFG_PREFIX "overwrite", true, OVERWRITE_TEXT,
diff --git a/modules/access_output/http-put.c b/modules/access_output/http-put.c
index d5452ee8181d0ddc9e2c47327639583f2f51e915..7330e154fd00e937b78a51e07f4a0cb0b1a18c80 100644
--- a/modules/access_output/http-put.c
+++ b/modules/access_output/http-put.c
@@ -125,7 +125,6 @@ vlc_module_begin()
     set_description(N_("HTTP PUT stream output"))
     set_shortname(N_("HTTP PUT"))
     set_capability("sout access", 0)
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_ACO)
     add_shortcut("http-put")
     add_string(SOUT_CFG_PREFIX"user", NULL, N_("Username"), NULL)
diff --git a/modules/access_output/http.c b/modules/access_output/http.c
index b2d39681996d02831b678578e27ee84e38ec580d..e481c0865cdea9fcc86fa9d8b981b02b415ba7a9 100644
--- a/modules/access_output/http.c
+++ b/modules/access_output/http.c
@@ -66,7 +66,6 @@ vlc_module_begin ()
     set_capability( "sout access", 0 )
     set_shortname( "HTTP" )
     add_shortcut( "http", "https", "mmsh" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_ACO )
     add_string( SOUT_CFG_PREFIX "user", "",
                 USER_TEXT, USER_LONGTEXT )
diff --git a/modules/access_output/livehttp.c b/modules/access_output/livehttp.c
index dc4fe46d245c91b26112a98d299c1f287d8163a0..11a4f38048b5c06bc8b1a78635709fbbcaa327f2 100644
--- a/modules/access_output/livehttp.c
+++ b/modules/access_output/livehttp.c
@@ -110,7 +110,6 @@ vlc_module_begin ()
     set_shortname( N_("LiveHTTP" ))
     add_shortcut( "livehttp" )
     set_capability( "sout access", 0 )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_ACO )
     add_integer( SOUT_CFG_PREFIX "seglen", 10, SEGLEN_TEXT, SEGLEN_LONGTEXT )
     add_integer( SOUT_CFG_PREFIX "numsegs", 0, NUMSEGS_TEXT, NUMSEGS_LONGTEXT )
diff --git a/modules/access_output/rist.c b/modules/access_output/rist.c
index d24947e61069dd211c220c46e7d83b990ac4da83..8e065d97f56ab0fc55ae5498fc32ef9453eb13d1 100644
--- a/modules/access_output/rist.c
+++ b/modules/access_output/rist.c
@@ -270,7 +270,6 @@ vlc_module_begin()
 
     set_shortname( N_("RIST") )
     set_description( N_("RIST stream output") )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_ACO )
 
     add_integer( RIST_CFG_PREFIX RIST_CFG_MAX_PACKET_SIZE, RIST_DEFAULT_TARGET_PAYLOAD_SIZE,
diff --git a/modules/access_output/shout.c b/modules/access_output/shout.c
index f19eb640536882ed0421607cd9af91f498170582..73ef2a0bab145592a698cd8de2ca68846ace5fbf 100644
--- a/modules/access_output/shout.c
+++ b/modules/access_output/shout.c
@@ -110,7 +110,6 @@ vlc_module_begin ()
     set_description( N_("IceCAST output") )
     set_shortname( "Shoutcast" )
     set_capability( "sout access", 0 )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_ACO )
     add_shortcut( "shout" )
     add_string( SOUT_CFG_PREFIX "name", "VLC media player - Live stream",
diff --git a/modules/access_output/srt.c b/modules/access_output/srt.c
index 19472825ab76e532591e0031dd9351a197b0825c..1de140fbed1a8bae36f3a2dd912e9e566d61e381 100644
--- a/modules/access_output/srt.c
+++ b/modules/access_output/srt.c
@@ -452,7 +452,6 @@ static void Close( vlc_object_t * p_this )
 vlc_module_begin()
     set_shortname( N_( "SRT" ) )
     set_description( N_( "SRT stream output" ) )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_ACO )
 
     add_obsolete_integer( SRT_PARAM_CHUNK_SIZE )
diff --git a/modules/arm_neon/volume.c b/modules/arm_neon/volume.c
index 0ed1d2ed2379d8988ce4651f9c075c9527b03467..b884ab1569f329f23374cb48d2ba3753a49fc487 100644
--- a/modules/arm_neon/volume.c
+++ b/modules/arm_neon/volume.c
@@ -33,7 +33,6 @@
 static int Probe(vlc_object_t *);
 
 vlc_module_begin()
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AFILTER)
     set_description(N_("ARM NEON audio volume"))
     set_capability("audio volume", 10)
diff --git a/modules/audio_filter/audiobargraph_a.c b/modules/audio_filter/audiobargraph_a.c
index b02848bc9142029c9772169bb2011240457a3642..f717ac1e091550cec6578b591a1f6cf99137fea7 100644
--- a/modules/audio_filter/audiobargraph_a.c
+++ b/modules/audio_filter/audiobargraph_a.c
@@ -69,7 +69,6 @@ vlc_module_begin ()
     set_description( N_("Audio part of the BarGraph function") )
     set_shortname( N_("Audiobar Graph") )
     set_capability( "audio filter", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
 
     add_integer( CFG_PREFIX "bargraph", 1, BARGRAPH_TEXT, BARGRAPH_LONGTEXT ) // FIXME: this is a bool
diff --git a/modules/audio_filter/center.c b/modules/audio_filter/center.c
index 14a41e156c3ed35116816e16ff7b50845552127a..6d9f33272aeae287e969faa3b0031d888865675e 100644
--- a/modules/audio_filter/center.c
+++ b/modules/audio_filter/center.c
@@ -87,7 +87,6 @@ static int Open (vlc_object_t *in)
 vlc_module_begin()
     set_shortname (N_("Center"))
     set_description (N_("Create a central channel"))
-    set_category (CAT_AUDIO)
     set_subcategory (SUBCAT_AUDIO_AFILTER)
     set_capability ("audio filter",0)
     set_callback (Open)
diff --git a/modules/audio_filter/channel_mixer/dolby.c b/modules/audio_filter/channel_mixer/dolby.c
index 4810eec6c2f7626fffae92b09413d6e0b1efde2f..8ae83547d0a63cff3817fbd45c4652a36ec56920 100644
--- a/modules/audio_filter/channel_mixer/dolby.c
+++ b/modules/audio_filter/channel_mixer/dolby.c
@@ -46,7 +46,6 @@ static block_t *DoWork( filter_t *, block_t * );
 vlc_module_begin ()
     set_description( N_("Simple decoder for Dolby Surround encoded streams") )
     set_shortname( N_("Dolby Surround decoder") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_capability( "audio converter", 5 )
     set_callback( Create )
diff --git a/modules/audio_filter/channel_mixer/headphone.c b/modules/audio_filter/channel_mixer/headphone.c
index 636d8743fff406a180b3f5988a4833d934875887..495f508c855f2065443d6454214721e2e65497bf 100644
--- a/modules/audio_filter/channel_mixer/headphone.c
+++ b/modules/audio_filter/channel_mixer/headphone.c
@@ -74,7 +74,6 @@ vlc_module_begin ()
     set_description( N_("Headphone virtual spatialization effect") )
     set_shortname( N_("Headphone effect") )
     set_help( MODULE_DESCRIPTION )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
 
     add_integer( "headphone-dim", 10, HEADPHONE_DIM_TEXT,
diff --git a/modules/audio_filter/channel_mixer/mono.c b/modules/audio_filter/channel_mixer/mono.c
index 02e4176bea6b0dbeeb8f53a05bec81646d76348c..373d51c4dd1d0f33533c1fa661837827e65f70c9 100644
--- a/modules/audio_filter/channel_mixer/mono.c
+++ b/modules/audio_filter/channel_mixer/mono.c
@@ -97,7 +97,6 @@ static const char *const ppsz_pos_descriptions[] =
 vlc_module_begin ()
     set_description( N_("Stereo to mono downmixer") )
     set_capability( "audio filter", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     set_callback( OpenFilter )
     set_shortname( "Mono" )
diff --git a/modules/audio_filter/channel_mixer/remap.c b/modules/audio_filter/channel_mixer/remap.c
index 107b19b5f488cc1fa3998209228a424991f59ef6..948255ba961136498d5ec5d3b1fd04a080b43f8d 100644
--- a/modules/audio_filter/channel_mixer/remap.c
+++ b/modules/audio_filter/channel_mixer/remap.c
@@ -72,7 +72,6 @@ static const int channel_flag[] =
 vlc_module_begin ()
     set_description( N_("Audio channel remapper") )
     set_capability( "audio filter", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     set_callback( OpenFilter )
     set_shortname( "Remap" )
diff --git a/modules/audio_filter/channel_mixer/simple.c b/modules/audio_filter/channel_mixer/simple.c
index 06f17e3fbfc7c3f3e41cfadb80abf40d200737f8..d3c4aa5e0ea54dda469e990c2459ec042f888710 100644
--- a/modules/audio_filter/channel_mixer/simple.c
+++ b/modules/audio_filter/channel_mixer/simple.c
@@ -40,7 +40,6 @@ static int  OpenFilter( vlc_object_t * );
 
 vlc_module_begin ()
     set_description( N_("Audio filter for simple channel mixing") )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     set_capability( "audio converter", 10 )
     set_callback( OpenFilter );
diff --git a/modules/audio_filter/channel_mixer/spatialaudio.cpp b/modules/audio_filter/channel_mixer/spatialaudio.cpp
index 02195ef8ac5d7343cbbc8cf72a48b19b212104ca..3393afcf6dd04b912216d3a5b6a5bcd57b81e4dd 100644
--- a/modules/audio_filter/channel_mixer/spatialaudio.cpp
+++ b/modules/audio_filter/channel_mixer/spatialaudio.cpp
@@ -58,7 +58,6 @@ vlc_module_begin()
     set_shortname("Spatialaudio")
     set_description(N_("Ambisonics renderer and binauralizer"))
     set_capability("audio renderer", 1)
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AFILTER)
     set_callback(Open)
     add_obsolete_bool("spatialaudio-headphones")
diff --git a/modules/audio_filter/channel_mixer/trivial.c b/modules/audio_filter/channel_mixer/trivial.c
index f4d9d00f56579dfbd3a70e8b8170121d9fddac22..47d3fd9f301fac8aabaf99a61d1783c9649b6299 100644
--- a/modules/audio_filter/channel_mixer/trivial.c
+++ b/modules/audio_filter/channel_mixer/trivial.c
@@ -40,7 +40,6 @@ static int Create( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("Audio filter for trivial channel mixing") )
     set_capability( "audio converter", 1 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     set_callback( Create )
 vlc_module_end ()
diff --git a/modules/audio_filter/chorus_flanger.c b/modules/audio_filter/chorus_flanger.c
index 54d29dc5457e667ded83205a2373ed30f3671d07..57a41d191785bdd962eec42c40f8f5f143a4446e 100644
--- a/modules/audio_filter/chorus_flanger.c
+++ b/modules/audio_filter/chorus_flanger.c
@@ -75,7 +75,6 @@ vlc_module_begin ()
     set_description( N_("Sound Delay") )
     set_shortname( N_("Delay") )
     set_help( N_("Add a delay effect to the sound") )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     add_shortcut( "delay" )
     add_float( "delay-time", 20, N_("Delay time"),
diff --git a/modules/audio_filter/compressor.c b/modules/audio_filter/compressor.c
index 0c99a5c137118e886bbc1a801b0529efd836c094..065bb64357de4641adaf82463f62d20894a2dd78 100644
--- a/modules/audio_filter/compressor.c
+++ b/modules/audio_filter/compressor.c
@@ -176,7 +176,6 @@ vlc_module_begin()
     set_shortname( N_("Compressor") )
     set_description( N_("Dynamic range compressor") )
     set_capability( "audio filter", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
 
     add_float_with_range( "compressor-rms-peak", 0.2, 0.0, 1.0,
diff --git a/modules/audio_filter/converter/format.c b/modules/audio_filter/converter/format.c
index 800f5eb139c7f23d184a1f30fcc6ab79f78b4639..f1ff29179483bdb4f05bdcff1bd5cd3aad3aceaf 100644
--- a/modules/audio_filter/converter/format.c
+++ b/modules/audio_filter/converter/format.c
@@ -46,7 +46,6 @@ static int  Open(vlc_object_t *);
 
 vlc_module_begin()
     set_description(N_("Audio filter for PCM format conversion"))
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AFILTER)
     set_capability("audio converter", 1)
     set_callback(Open)
diff --git a/modules/audio_filter/converter/tospdif.c b/modules/audio_filter/converter/tospdif.c
index be01958b301e3d0e32690af76d9609539dffa083..ac7d3153c20602845a9bd53a943941bcc040323c 100644
--- a/modules/audio_filter/converter/tospdif.c
+++ b/modules/audio_filter/converter/tospdif.c
@@ -42,7 +42,6 @@
 static int  Open( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     set_description( N_("Audio filter for A/52/DTS->S/PDIF encapsulation") )
     set_capability( "audio converter", 10 )
diff --git a/modules/audio_filter/equalizer.c b/modules/audio_filter/equalizer.c
index ebbe77036a3cedd8d1b7dbc3e4b911605dd5d0a1..4c9b525a1ef6044641126a2df0cc28b7f27c84ae 100644
--- a/modules/audio_filter/equalizer.c
+++ b/modules/audio_filter/equalizer.c
@@ -79,7 +79,6 @@ vlc_module_begin ()
     set_description( N_("Equalizer with 10 bands") )
     set_shortname( N_("Equalizer" ) )
     set_capability( "audio filter", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
 
     add_string( "equalizer-preset", "flat", PRESET_TEXT,
diff --git a/modules/audio_filter/gain.c b/modules/audio_filter/gain.c
index 77613a97e25b38a396b503a12340d535f0d1758a..b6fbfb1f403183c5582f867f44ebe72dfa6e7de5 100644
--- a/modules/audio_filter/gain.c
+++ b/modules/audio_filter/gain.c
@@ -61,7 +61,6 @@ typedef struct
 vlc_module_begin()
     set_shortname( N_("Gain") )
     set_description( N_("Gain control filter") )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
 
     add_float( "gain-value", 1.0, GAIN_VALUE_TEXT,
diff --git a/modules/audio_filter/karaoke.c b/modules/audio_filter/karaoke.c
index 2ec3d6e37c204abf47c49c9a303f8f4640d3dfbf..0874b41b02946fbf9fc06276a141fbb1488e5943 100644
--- a/modules/audio_filter/karaoke.c
+++ b/modules/audio_filter/karaoke.c
@@ -32,7 +32,6 @@ static int Open (vlc_object_t *);
 vlc_module_begin ()
     set_shortname (N_("Karaoke"))
     set_description (N_("Simple Karaoke filter"))
-    set_category (CAT_AUDIO)
     set_subcategory (SUBCAT_AUDIO_AFILTER)
 
     set_capability ("audio filter", 0)
diff --git a/modules/audio_filter/libebur128.c b/modules/audio_filter/libebur128.c
index d824b837b5d866a6eade5638d3f53557166ddccb..708e4fd5c6f0bd5c204604c62e614a7a0b239d59 100644
--- a/modules/audio_filter/libebur128.c
+++ b/modules/audio_filter/libebur128.c
@@ -300,7 +300,6 @@ static int Open(vlc_object_t *this)
 vlc_module_begin()
     set_shortname("EBU R 128")
     set_description("EBU R128 standard for loudness normalisation")
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AFILTER)
     add_integer_with_range(CFG_PREFIX "mode", 0, 0, 4, N_("Mode"), NULL)
     set_capability("audio meter", 0)
diff --git a/modules/audio_filter/normvol.c b/modules/audio_filter/normvol.c
index c9003e69227a7f4c62ea98126b9e75767b4d915c..5f7a3e694e9d1384ac7189357bb2832beed40340 100644
--- a/modules/audio_filter/normvol.c
+++ b/modules/audio_filter/normvol.c
@@ -76,7 +76,6 @@ typedef struct
 vlc_module_begin ()
     set_description( N_("Volume normalizer") )
     set_shortname( N_("Volume normalizer") )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     add_shortcut( "volnorm" )
     add_integer( "norm-buff-size", 20  ,BUFF_TEXT, BUFF_LONGTEXT )
diff --git a/modules/audio_filter/param_eq.c b/modules/audio_filter/param_eq.c
index 472ba97d48757d3e6236836d1722c27121144f04..6d521dad91ca62c8e1f01d07fe259642e8b4a67f 100644
--- a/modules/audio_filter/param_eq.c
+++ b/modules/audio_filter/param_eq.c
@@ -51,7 +51,6 @@ vlc_module_begin ()
     set_description( N_("Parametric Equalizer") )
     set_shortname( N_("Parametric Equalizer" ) )
     set_capability( "audio filter", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
 
     add_float( "param-eq-lowf", 100, N_("Low freq (Hz)"),NULL )
diff --git a/modules/audio_filter/resampler/bandlimited.c b/modules/audio_filter/resampler/bandlimited.c
index 97ae8485651e904ae011ddb57154685e02748222..2e2867f72d607477cf1baeb58d894349f3391cb5 100644
--- a/modules/audio_filter/resampler/bandlimited.c
+++ b/modules/audio_filter/resampler/bandlimited.c
@@ -83,7 +83,6 @@ typedef struct
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_RESAMPLER )
     set_description( N_("Audio filter for band-limited interpolation resampling") )
     set_capability( "audio converter", 20 )
diff --git a/modules/audio_filter/resampler/soxr.c b/modules/audio_filter/resampler/soxr.c
index 85835fe092ccbe9fd2fdc0c8ee16976eca741045..faa25645079507f1de7984f6911d377e1ac714d1 100644
--- a/modules/audio_filter/resampler/soxr.c
+++ b/modules/audio_filter/resampler/soxr.c
@@ -65,7 +65,6 @@ static void Close( filter_t * );
 
 vlc_module_begin ()
     set_shortname( N_("SoX Resampler") )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_RESAMPLER )
     add_integer( "soxr-resampler-quality", 2,
                 SOXR_QUALITY_TEXT, NULL )
diff --git a/modules/audio_filter/resampler/speex.c b/modules/audio_filter/resampler/speex.c
index d06b52178d8ffd704fa6eceb87d228e6e7508bfe..fff648548346590111c231c547932d67faf2db7c 100644
--- a/modules/audio_filter/resampler/speex.c
+++ b/modules/audio_filter/resampler/speex.c
@@ -41,7 +41,6 @@ static void Close (filter_t *);
 vlc_module_begin ()
     set_shortname (N_("Speex resampler"))
     set_description (N_("Speex resampler") )
-    set_category (CAT_AUDIO)
     set_subcategory (SUBCAT_AUDIO_RESAMPLER)
     add_integer ("speex-resampler-quality", 4,
                  QUALITY_TEXT, QUALITY_LONGTEXT)
diff --git a/modules/audio_filter/resampler/src.c b/modules/audio_filter/resampler/src.c
index 0542dcf2c29777f858d4370bc3b6d1e3e38a0af0..e9af5cd0115f83933a5026454eae3ebf4a4d298c 100644
--- a/modules/audio_filter/resampler/src.c
+++ b/modules/audio_filter/resampler/src.c
@@ -57,7 +57,6 @@ static void Close (filter_t *);
 vlc_module_begin ()
     set_shortname (N_("SRC resampler"))
     set_description (N_("Secret Rabbit Code (libsamplerate) resampler") )
-    set_category (CAT_AUDIO)
     set_subcategory (SUBCAT_AUDIO_RESAMPLER)
     add_integer ("src-converter-type", SRC_SINC_FASTEST,
                  SRC_CONV_TYPE_TEXT, SRC_CONV_TYPE_LONGTEXT)
diff --git a/modules/audio_filter/resampler/ugly.c b/modules/audio_filter/resampler/ugly.c
index da13a598dd0b4c105161545bd6951445e8cf5e67..5711bd41fe0d7ff46b8435f4f4b044bda69df306 100644
--- a/modules/audio_filter/resampler/ugly.c
+++ b/modules/audio_filter/resampler/ugly.c
@@ -47,7 +47,6 @@ static block_t *DoWork( filter_t *, block_t * );
 vlc_module_begin ()
     set_description( N_("Nearest-neighbor audio resampler") )
     set_capability( "audio converter", 2 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_RESAMPLER )
     set_callback( Create )
 
diff --git a/modules/audio_filter/rnnoise.c b/modules/audio_filter/rnnoise.c
index 34229f0012487ffe00f932238b8d990e861e3b22..1188d1d7421ca2c54feeb4cfde1493c3846b4b37 100644
--- a/modules/audio_filter/rnnoise.c
+++ b/modules/audio_filter/rnnoise.c
@@ -175,7 +175,6 @@ static int Open (vlc_object_t *obj)
 vlc_module_begin ()
     set_shortname (N_("RNNoise"))
     set_description (N_("RNNoise filter"))
-    set_category (CAT_AUDIO)
     set_subcategory (SUBCAT_AUDIO_AFILTER)
     set_capability ("audio filter", 0)
     set_callback( Open )
diff --git a/modules/audio_filter/scaletempo.c b/modules/audio_filter/scaletempo.c
index 166db017029c634c9b865d81ed8bb19116308cf7..14b60c7ca32c6806d9cfd4b8e9d3193343435dc9 100644
--- a/modules/audio_filter/scaletempo.c
+++ b/modules/audio_filter/scaletempo.c
@@ -59,7 +59,6 @@ vlc_module_begin ()
     set_description( MODULE_DESC )
     set_shortname( MODULES_SHORTNAME )
     set_capability( "audio filter", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
 
     add_integer_with_range( "scaletempo-stride", 30, 1, 2000,
diff --git a/modules/audio_filter/spatializer/spatializer.cpp b/modules/audio_filter/spatializer/spatializer.cpp
index 4b9b82792818f053aa443e5ad425f1f592834e1d..a7bf5007b204c09d3c1ffd378877c95765eb87bb 100644
--- a/modules/audio_filter/spatializer/spatializer.cpp
+++ b/modules/audio_filter/spatializer/spatializer.cpp
@@ -70,7 +70,6 @@ vlc_module_begin ()
     set_description( N_("Audio Spatializer") )
     set_shortname( N_("Spatializer" ) )
     set_capability( "audio filter", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
 
     set_callback( Open )
diff --git a/modules/audio_filter/stereo_pan.c b/modules/audio_filter/stereo_pan.c
index 94e0857095ce52b2b3a3b762c78a4e1bb5faf3fe..1a5b54dfabea9420ad4f9a1aaad0a147b85acb9c 100644
--- a/modules/audio_filter/stereo_pan.c
+++ b/modules/audio_filter/stereo_pan.c
@@ -112,7 +112,6 @@ static int Open (filter_t *p_filter)
 vlc_module_begin()
     set_shortname ( N_("Stereo Pan") )
     set_description ( N_("Perform Stereo Panning") )
-    set_category ( CAT_AUDIO )
     set_subcategory ( SUBCAT_AUDIO_AFILTER )
     add_float_with_range( "pan-control", 0.5, 0, 1,
             PAN_CONTROL_TEXT, PAN_CONTROL_LONGTEXT )
diff --git a/modules/audio_filter/stereo_widen.c b/modules/audio_filter/stereo_widen.c
index c3eda0fec71c95be65fc0ddc98004c7cdf2ac476..9242cc0d690216149ac2cabc4fce32d36e92bebe 100644
--- a/modules/audio_filter/stereo_widen.c
+++ b/modules/audio_filter/stereo_widen.c
@@ -77,7 +77,6 @@ vlc_module_begin ()
     set_shortname( N_("Stereo Enhancer") )
     set_description( N_("Simple stereo widening effect") )
     set_help( HELP_TEXT )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     set_capability( "audio filter", 0 )
     set_callback( Open )
diff --git a/modules/audio_mixer/float.c b/modules/audio_mixer/float.c
index d0d3b70008eb2bf78e360e1019bd0aafd584f0b6..cfc9d3ae1c11d1b546d17b6dd2bdca7320010666 100644
--- a/modules/audio_mixer/float.c
+++ b/modules/audio_mixer/float.c
@@ -43,7 +43,6 @@ static int Create( vlc_object_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AFILTER )
     set_description( N_("Single precision audio volume") )
     set_capability( "audio volume", 10 )
diff --git a/modules/audio_mixer/integer.c b/modules/audio_mixer/integer.c
index aec6deb0265dd1dfedf3b238b566d92006d1a48b..8ea0341eac190d057184036cd08eeda73e95c11f 100644
--- a/modules/audio_mixer/integer.c
+++ b/modules/audio_mixer/integer.c
@@ -33,7 +33,6 @@
 static int Activate (vlc_object_t *);
 
 vlc_module_begin ()
-    set_category (CAT_AUDIO)
     set_subcategory (SUBCAT_AUDIO_AFILTER)
     set_description (N_("Integer audio volume"))
     set_capability ("audio volume", 9)
diff --git a/modules/audio_output/alsa.c b/modules/audio_output/alsa.c
index 3a8f23cdce40d4be361a79addbd5da40ed3eee05..4abc3887d3db69ce7908a849117b3f4772d5c053 100644
--- a/modules/audio_output/alsa.c
+++ b/modules/audio_output/alsa.c
@@ -94,7 +94,6 @@ static const char *const passthrough_modes_text[] = {
 vlc_module_begin ()
     set_shortname( "ALSA" )
     set_description( N_("ALSA audio output") )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_string ("alsa-audio-device", "default",
                 AUDIO_DEV_TEXT, AUDIO_DEV_LONGTEXT)
diff --git a/modules/audio_output/amem.c b/modules/audio_output/amem.c
index 4df823537f74da4dee4f4d3bf4bd8e284d7f71a4..1d92fa410abb80673a504b9cb82ac14a358843b0 100644
--- a/modules/audio_output/amem.c
+++ b/modules/audio_output/amem.c
@@ -41,7 +41,6 @@ vlc_module_begin ()
     set_shortname (N_("Audio memory"))
     set_description (N_("Audio memory output"))
     set_capability ("audio output", 0)
-    set_category (CAT_AUDIO)
     set_subcategory (SUBCAT_AUDIO_AOUT)
     set_callbacks (Open, Close)
 
diff --git a/modules/audio_output/audiotrack.c b/modules/audio_output/audiotrack.c
index 760ed19ea032eafda3d8d7eb9c1e070049c626ad..137a35c7cdc52e095356ae4d1dca600f8f3caeba 100644
--- a/modules/audio_output/audiotrack.c
+++ b/modules/audio_output/audiotrack.c
@@ -185,7 +185,6 @@ vlc_module_begin ()
     set_shortname( "AudioTrack" )
     set_description( "Android AudioTrack audio output" )
     set_capability( "audio output", 180 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_integer( "audiotrack-session-id", 0,
             AUDIOTRACK_SESSION_ID_TEXT, NULL )
diff --git a/modules/audio_output/audiounit_ios.m b/modules/audio_output/audiounit_ios.m
index 27d4e305dda17f8357d22e1f76239ed57a714619..804eeccbbc57173c5f746e2db32fd155c966be59 100644
--- a/modules/audio_output/audiounit_ios.m
+++ b/modules/audio_output/audiounit_ios.m
@@ -773,7 +773,6 @@ vlc_module_begin ()
     set_shortname("audiounit_ios")
     set_description("AudioUnit output for iOS")
     set_capability("audio output", 101)
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AOUT)
     add_sw_gain()
     set_callbacks(Open, Close)
diff --git a/modules/audio_output/auhal.c b/modules/audio_output/auhal.c
index e1bb4b0db3dea85c1bf450ceb7ee9e04f60363cd..99fc4df2edec7115e4a7667c76cbadd6d2622ebe 100644
--- a/modules/audio_output/auhal.c
+++ b/modules/audio_output/auhal.c
@@ -52,7 +52,6 @@ vlc_module_begin ()
     set_shortname("auhal")
     set_description(N_("HAL AudioUnit output"))
     set_capability("audio output", 101)
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AOUT)
     set_callbacks(Open, Close)
     add_integer("auhal-volume", AOUT_VOLUME_DEFAULT,
diff --git a/modules/audio_output/directsound.c b/modules/audio_output/directsound.c
index 4bc2672aff0aec404d8d04b49f05fcae9169ebfd..325b75deca368e4c33848ae432483042538f0c08 100644
--- a/modules/audio_output/directsound.c
+++ b/modules/audio_output/directsound.c
@@ -68,7 +68,6 @@ vlc_module_begin ()
     set_description( N_("DirectX audio output") )
     set_shortname( "DirectX" )
     set_capability( "audio output", 100 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_shortcut( "directx", "aout_directx", "directsound", "dsound" )
 
diff --git a/modules/audio_output/file.c b/modules/audio_output/file.c
index 6c3022577418088dae9e0be6d81638d7c3c378cd..20aa31093057e1378031045b883b64c54e0c6383 100644
--- a/modules/audio_output/file.c
+++ b/modules/audio_output/file.c
@@ -111,7 +111,6 @@ static const int format_int[] = {
 vlc_module_begin ()
     set_description( N_("File audio output") )
     set_shortname( N_("File") )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
 
     add_savefile("audiofile-file", "audiofile.wav", FILE_TEXT, FILE_LONGTEXT)
diff --git a/modules/audio_output/jack.c b/modules/audio_output/jack.c
index 443ac931f538ec5ea3508eedb4507614dfc7e219..403028d71b94aa6510f653b2611d96722c342a5a 100644
--- a/modules/audio_output/jack.c
+++ b/modules/audio_output/jack.c
@@ -99,7 +99,6 @@ vlc_module_begin ()
     set_shortname( "JACK" )
     set_description( N_("JACK audio output") )
     set_capability( "audio output", 100 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_bool( AUTO_CONNECT_OPTION, true, AUTO_CONNECT_TEXT,
               AUTO_CONNECT_LONGTEXT )
diff --git a/modules/audio_output/kai.c b/modules/audio_output/kai.c
index 8cd08a6b64cabd123c89fe44c9b9a6fa5b0f08e3..e3ef0b438b0810abd4ac13623a60d9fa8cc7832c 100644
--- a/modules/audio_output/kai.c
+++ b/modules/audio_output/kai.c
@@ -109,7 +109,6 @@ vlc_module_begin ()
     set_shortname( "KAI" )
     set_description( N_("K Audio Interface audio output") )
     set_capability( "audio output", 100 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_string( "kai-audio-device", ppsz_kai_audio_device[0],
                 KAI_AUDIO_DEVICE_TEXT, KAI_AUDIO_DEVICE_LONGTEXT )
diff --git a/modules/audio_output/mmdevice.c b/modules/audio_output/mmdevice.c
index 08e89e2b433277ac42f2eb3d38db64cecbb6bae5..e10d36212b60103a6a933b43dac22a0edbf2305e 100644
--- a/modules/audio_output/mmdevice.c
+++ b/modules/audio_output/mmdevice.c
@@ -1467,7 +1467,6 @@ vlc_module_begin()
     set_shortname("MMDevice")
     set_description(N_("Windows Multimedia Device output"))
     set_capability("audio output", 150)
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AOUT)
     set_callbacks(Open, Close)
     add_module("mmdevice-backend", "aout stream", "any",
diff --git a/modules/audio_output/opensles_android.c b/modules/audio_output/opensles_android.c
index 72a0ada7ae20093ad7f1c6d4601530f6e43d83ba..b60626b7e689704ee4c7573a5a6dca4be98278b9 100644
--- a/modules/audio_output/opensles_android.c
+++ b/modules/audio_output/opensles_android.c
@@ -135,7 +135,6 @@ static void Close (vlc_object_t *);
 vlc_module_begin ()
     set_description("OpenSLES audio output")
     set_shortname("OpenSLES")
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AOUT)
 
     set_capability("audio output", 170)
diff --git a/modules/audio_output/oss.c b/modules/audio_output/oss.c
index cbf66a318e4025c09c917ae965c3cc9f543fba6d..e8d87a8ef17b1c7c12b8c717e06e3debf1b60772 100644
--- a/modules/audio_output/oss.c
+++ b/modules/audio_output/oss.c
@@ -77,7 +77,6 @@ static void Close (vlc_object_t *);
 vlc_module_begin ()
     set_shortname( "OSS" )
     set_description (N_("Open Sound System audio output"))
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_string ("oss-audio-device", "",
                 AUDIO_DEV_TEXT, AUDIO_DEV_LONGTEXT)
diff --git a/modules/audio_output/pulse.c b/modules/audio_output/pulse.c
index 907f32fab63b9776f890d6cfc0105b97d125ba23..0bd9f71356f225e8730b0d6ac018ef34a9bbc364 100644
--- a/modules/audio_output/pulse.c
+++ b/modules/audio_output/pulse.c
@@ -42,7 +42,6 @@ vlc_module_begin ()
     set_shortname( "PulseAudio" )
     set_description( N_("Pulseaudio audio output") )
     set_capability( "audio output", 160 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_shortcut( "pulseaudio", "pa" )
     set_callbacks( Open, Close )
diff --git a/modules/audio_output/sndio.c b/modules/audio_output/sndio.c
index 69bb0b8a42315626dd493a6f3f094d5e253a6b29..314a77a5479ff52abd9f7961bb3503e56bc8ea4c 100644
--- a/modules/audio_output/sndio.c
+++ b/modules/audio_output/sndio.c
@@ -37,7 +37,6 @@ static void Close (vlc_object_t *);
 vlc_module_begin ()
     set_shortname ("sndio")
     set_description (N_("OpenBSD sndio audio output"))
-    set_category (CAT_AUDIO)
     set_subcategory (SUBCAT_AUDIO_AOUT)
     set_capability ("audio output", 120)
     set_callbacks (Open, Close)
diff --git a/modules/audio_output/wasapi.c b/modules/audio_output/wasapi.c
index f81dedffced1ba3bdbc2e848e2241aa3ba3e8a4b..510db42b3bcdd541ab33040aaf93f1aef59fa44a 100644
--- a/modules/audio_output/wasapi.c
+++ b/modules/audio_output/wasapi.c
@@ -919,7 +919,6 @@ vlc_module_begin()
     set_shortname("WASAPI")
     set_description(N_("Windows Audio Session API output"))
     set_capability("aout stream", 50)
-    set_category(CAT_AUDIO)
     add_bool("wasapi-exclusive", false, WASAPI_EXCLUSIVE_TEXT,
              WASAPI_EXCLUSIVE_LONGTEXT)
     set_subcategory(SUBCAT_AUDIO_AOUT)
diff --git a/modules/audio_output/waveout.c b/modules/audio_output/waveout.c
index 71affc1da5d03cd1c9b0c7beab2a1dd93cb32ad5..9ba2e4094499636d6db5f22ea877809bca060462 100644
--- a/modules/audio_output/waveout.c
+++ b/modules/audio_output/waveout.c
@@ -149,7 +149,6 @@ vlc_module_begin ()
     set_shortname( "WaveOut" )
     set_description( N_("WaveOut audio output") )
     set_capability( "audio output", 50 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
     add_string( "waveout-audio-device", "wavemapper",
                  DEVICE_TEXT, DEVICE_LONG )
diff --git a/modules/audio_output/winstore.c b/modules/audio_output/winstore.c
index 0711eb6afa9c123ea40f8c9f25c8400bbe4037dc..0252c6dd8a63aa41164475e115cb183f3d6f2b92 100644
--- a/modules/audio_output/winstore.c
+++ b/modules/audio_output/winstore.c
@@ -640,7 +640,6 @@ vlc_module_begin()
     set_shortname("winstore")
     set_description("Windows Store audio output")
     set_capability("audio output", 0)
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AOUT)
     add_shortcut("wasapi")
     set_callbacks(Open, Close)
diff --git a/modules/codec/a52.c b/modules/codec/a52.c
index 9db5af583e6e7dbbeba82da106bcae4ae6f206be..e3e318d21e3cf2c658da1d0c37928ef0966c5c4a 100644
--- a/modules/codec/a52.c
+++ b/modules/codec/a52.c
@@ -77,7 +77,6 @@ typedef struct
 vlc_module_begin ()
     set_shortname( "A/52" )
     set_description( N_("ATSC A/52 (AC-3) audio decoder") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     add_bool( "a52-dynrng", true, DYNRNG_TEXT, DYNRNG_LONGTEXT )
     set_capability( "audio decoder", 60 )
diff --git a/modules/codec/adpcm.c b/modules/codec/adpcm.c
index ead71abcd227b847cfce00f3aa229bcd846bc0c3..742a3f16bc98ca7fb0d667d005feeba2073d3dd3 100644
--- a/modules/codec/adpcm.c
+++ b/modules/codec/adpcm.c
@@ -46,7 +46,6 @@ static void Flush( decoder_t * );
 vlc_module_begin ()
     set_description( N_("ADPCM audio decoder") )
     set_capability( "audio decoder", 50 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_callbacks( OpenDecoder, CloseDecoder )
 vlc_module_end ()
diff --git a/modules/codec/aes3.c b/modules/codec/aes3.c
index cc7721458637d617fea80d44d9427c4f4699444b..4b5757e39d51e41bb18a17df3ed550cf07d58524 100644
--- a/modules/codec/aes3.c
+++ b/modules/codec/aes3.c
@@ -40,7 +40,6 @@ static int  OpenPacketizer( vlc_object_t * );
 
 vlc_module_begin ()
 
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_description( N_("AES3/SMPTE 302M audio decoder") )
     set_capability( "audio decoder", 100 )
diff --git a/modules/codec/aom.c b/modules/codec/aom.c
index abe1290ff7ebb5d01dc293fd89cfbda7147e1129..0cae7b5fc4582aa0c97990da0027a0f26c528441 100644
--- a/modules/codec/aom.c
+++ b/modules/codec/aom.c
@@ -75,7 +75,6 @@ vlc_module_begin ()
     set_description(N_("AOM video decoder"))
     set_capability("video decoder", 100)
     set_callbacks(OpenDecoder, CloseDecoder)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
 #ifdef ENABLE_SOUT
     add_submodule()
diff --git a/modules/codec/araw.c b/modules/codec/araw.c
index 012bc64894df9c221b51173398afe8de3af95415..ff348b30e3c5b8e1865ec8c1f078509fd20bc847 100644
--- a/modules/codec/araw.c
+++ b/modules/codec/araw.c
@@ -48,7 +48,6 @@ vlc_module_begin ()
     /* audio decoder module */
     set_description( N_("Raw/Log Audio decoder") )
     set_capability( "audio decoder", 100 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_callback( DecoderOpen )
 
diff --git a/modules/codec/arib/aribsub.c b/modules/codec/arib/aribsub.c
index 450b65c7ea80c60cac08af2c1a3aba2a4dc8079d..c004c84fef588cea858bd1220616c400877a5c6c 100644
--- a/modules/codec/arib/aribsub.c
+++ b/modules/codec/arib/aribsub.c
@@ -51,7 +51,6 @@ vlc_module_begin ()
     set_description( N_("ARIB subtitles decoder") )
     set_shortname( N_("ARIB subtitles") )
     set_capability( "spu decoder", 50 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     set_callbacks( Open, Close )
 
diff --git a/modules/codec/audiotoolbox_midi.c b/modules/codec/audiotoolbox_midi.c
index 774b80087360eb837db8627094d5492457bba0af..873123e9c3f126756af613d1a1cb9acf144c7b84 100644
--- a/modules/codec/audiotoolbox_midi.c
+++ b/modules/codec/audiotoolbox_midi.c
@@ -56,7 +56,6 @@ vlc_module_begin()
     set_description(N_("AudioToolbox MIDI synthesizer"))
     set_capability("audio decoder", 100)
     set_shortname(N_("AUMIDI"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACODEC)
     set_callbacks(Open, Close)
     add_loadfile(CFG_PREFIX "soundfont", "",
diff --git a/modules/codec/avcodec/avcodec.c b/modules/codec/avcodec/avcodec.c
index 31d7bcc89b232e9ea831a55e825e6b0000ddf4db..32d57c6eca5ae515534b471a2cfae43098ff8d8d 100644
--- a/modules/codec/avcodec/avcodec.c
+++ b/modules/codec/avcodec/avcodec.c
@@ -73,7 +73,6 @@ static const char *const enc_hq_list_text[] = {
 
 vlc_module_begin ()
     set_shortname( "FFmpeg")
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     /* decoder main module */
     set_description( N_("FFmpeg audio/video decoder") )
diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c
index 0900e65c4a1b8772f371ae3cca3b67b47887ee62..6d5fb174f1eeb8aa25d72cd16df759ce22f52c42 100644
--- a/modules/codec/avcodec/d3d11va.c
+++ b/modules/codec/avcodec/d3d11va.c
@@ -66,7 +66,6 @@ static int Open(vlc_va_t *, AVCodecContext *, enum AVPixelFormat hwfmt, const AV
 
 vlc_module_begin()
     set_description(N_("Direct3D11 Video Acceleration"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_va_callback(Open, 110)
 vlc_module_end()
diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c
index 4e2c1cb5bc5f3646ff14c7d2c920f62bca974293..4d11b0195fdb0b2f208581f33145766132e0f58c 100644
--- a/modules/codec/avcodec/dxva2.c
+++ b/modules/codec/avcodec/dxva2.c
@@ -54,7 +54,6 @@ static int Open(vlc_va_t *, AVCodecContext *, enum AVPixelFormat hwfmt, const AV
 
 vlc_module_begin()
     set_description(N_("DirectX Video Acceleration (DXVA) 2.0"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_va_callback(Open, 110)
 vlc_module_end()
diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c
index a22fe490ed1085991a37fe089ec909358d9b8a18..774add30daa744167f2afa0124fc52f90856d077 100644
--- a/modules/codec/avcodec/vaapi.c
+++ b/modules/codec/avcodec/vaapi.c
@@ -320,6 +320,5 @@ vlc_module_begin ()
     set_description( N_("VA-API video decoder") )
     set_va_callback( Create, 100 )
     add_shortcut( "vaapi" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
 vlc_module_end ()
diff --git a/modules/codec/bpg.c b/modules/codec/bpg.c
index 316b397e9eeee6adcd52dbf7a2cb4f8b0236298a..81c0eca4dbf67740071c0edf96ff30438ecbb5c2 100644
--- a/modules/codec/bpg.c
+++ b/modules/codec/bpg.c
@@ -43,7 +43,6 @@ static int DecodeBlock(decoder_t *, block_t *);
  * Module descriptor
  */
 vlc_module_begin()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     /* decoder main module */
     set_description( N_("BPG image decoder") )
diff --git a/modules/codec/cc.c b/modules/codec/cc.c
index 747b689f8906a152bb2c109bcfe30642aa8deb73..097de653d4ee80faaf8a9efa9e5640cbd7887383 100644
--- a/modules/codec/cc.c
+++ b/modules/codec/cc.c
@@ -62,8 +62,7 @@ vlc_module_begin ()
     set_shortname( N_("CC 608/708"))
     set_description( N_("Closed Captions decoder") )
     set_capability( "spu decoder", 50 )
-    set_category( CAT_INPUT )
-        set_subcategory( SUBCAT_INPUT_SCODEC )
+    set_subcategory( SUBCAT_INPUT_SCODEC )
     set_callbacks( Open, Close )
 
     add_bool( "cc-opaque", true,
diff --git a/modules/codec/cdg.c b/modules/codec/cdg.c
index 14ece812673fac852f0b83fba26813144412a11b..489197afe73089e81832cfa096ccaf770d4403a5 100644
--- a/modules/codec/cdg.c
+++ b/modules/codec/cdg.c
@@ -81,7 +81,6 @@ static int Render( decoder_sys_t *p_cdg, picture_t *p_picture );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_description( N_("CDG video decoder") )
     set_capability( "video decoder", 1000 )
diff --git a/modules/codec/daala.c b/modules/codec/daala.c
index abc03b503b0ad88e31da9f93c0dbdc4e9230b885..604284278a7a9fd22c52013d496ec63ea20dd471 100644
--- a/modules/codec/daala.c
+++ b/modules/codec/daala.c
@@ -114,7 +114,6 @@ static const char *const enc_chromafmt_list_text[] = {
   "Enforce a keyframe interval between 1 and 1000." )
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_shortname( "Daala" )
     set_description( N_("Daala video decoder") )
diff --git a/modules/codec/dav1d.c b/modules/codec/dav1d.c
index 412e42c6c41b389f1b6415c547d0061362e79967..d048cd69e7fab152214599bae9380ff893530595 100644
--- a/modules/codec/dav1d.c
+++ b/modules/codec/dav1d.c
@@ -62,7 +62,6 @@ vlc_module_begin ()
     set_description(N_("Dav1d video decoder"))
     set_capability("video decoder", 10000)
     set_callbacks(OpenDecoder, CloseDecoder)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
 
     add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
diff --git a/modules/codec/dca.c b/modules/codec/dca.c
index 75defb0edf3bb8b8a12c8ddb5bbbdeb07919d7cc..cb2e66ece05a346f134ffa4d35f0097eca2602e3 100644
--- a/modules/codec/dca.c
+++ b/modules/codec/dca.c
@@ -67,7 +67,6 @@ typedef struct
     "listening room.")
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_shortname( "DCA" )
     set_description( N_("DTS Coherent Acoustics audio decoder") )
diff --git a/modules/codec/ddummy.c b/modules/codec/ddummy.c
index 75cf1495b7cab5dba9bb7fe74128a684ed876f74..61aef2310e15c8e4608c2ffb53e5d944f0eda0e1 100644
--- a/modules/codec/ddummy.c
+++ b/modules/codec/ddummy.c
@@ -46,7 +46,6 @@ vlc_module_begin ()
     set_description( N_("Dummy decoder") )
     set_capability( "spu decoder", 0 )
     set_callbacks( OpenDecoder, CloseDecoder )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     add_bool( "dummy-save-es", false, SAVE_TEXT, SAVE_LONGTEXT )
     add_shortcut( "dummy" )
diff --git a/modules/codec/dmo/dmo.c b/modules/codec/dmo/dmo.c
index 62e83e3102c156134749193cbc53757b917b6b6f..5f9d562d361fe8ee6ff0c1f86c85faff03535691 100644
--- a/modules/codec/dmo/dmo.c
+++ b/modules/codec/dmo/dmo.c
@@ -72,7 +72,6 @@ vlc_module_begin ()
     add_shortcut( "dmo" )
     set_capability( "video decoder", 1 )
     set_callbacks( DecoderOpen, DecoderClose )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
 
     add_submodule()
diff --git a/modules/codec/dvbsub.c b/modules/codec/dvbsub.c
index 7f899e12785d1eb9afa8e714f17f25232c6e8a6b..c31f9c6cae6f8f77ee3aaa1294becc99d0cca9bf 100644
--- a/modules/codec/dvbsub.c
+++ b/modules/codec/dvbsub.c
@@ -120,7 +120,6 @@ vlc_module_begin ()
     set_description( N_("DVB subtitles decoder") )
     set_shortname( N_("DVB subtitles") )
     set_capability( "spu decoder", 80 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     set_callbacks( Open, Close )
 
diff --git a/modules/codec/faad.c b/modules/codec/faad.c
index d797957c4fc41924c18073e75c366656b5081a7b..5c5dac1e26ae8c7eacaf93002ddd35e5746207c5 100644
--- a/modules/codec/faad.c
+++ b/modules/codec/faad.c
@@ -52,7 +52,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("AAC audio decoder (using libfaad2)") )
     set_capability( "audio decoder", 100 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_callbacks( Open, Close )
 vlc_module_end ()
diff --git a/modules/codec/fdkaac.c b/modules/codec/fdkaac.c
index f738284733332319f6fb79b3db8ddb753621bec7..f14c1d52c89f5b0b618761f72b91d5163ff4611b 100644
--- a/modules/codec/fdkaac.c
+++ b/modules/codec/fdkaac.c
@@ -107,7 +107,6 @@ vlc_module_begin ()
     set_capability("audio encoder", 150)
     set_callbacks(OpenEncoder, CloseEncoder)
     add_shortcut("fdkaac")
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACODEC)
     add_integer(ENC_CFG_PREFIX "profile", PROFILE_AAC_LC, AOT_TEXT,
              AOT_LONGTEXT)
diff --git a/modules/codec/flac.c b/modules/codec/flac.c
index 7b6df530a8d551e7a52f8e04c759cde4faa80b17..3b649fe39faafdc4c1bb1f2abad822d191925389 100644
--- a/modules/codec/flac.c
+++ b/modules/codec/flac.c
@@ -156,7 +156,6 @@ static void Flush( decoder_t * );
  *****************************************************************************/
 vlc_module_begin ()
 
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     add_shortcut( "flac" )
 
diff --git a/modules/codec/fluidsynth.c b/modules/codec/fluidsynth.c
index a9bbfaf59597dc697c2cf5b54d1fd482adbcf73d..27565951066492360349aae649e8a77d10a22729 100644
--- a/modules/codec/fluidsynth.c
+++ b/modules/codec/fluidsynth.c
@@ -69,7 +69,6 @@ vlc_module_begin ()
     set_description (N_("FluidSynth MIDI synthesizer"))
     set_capability ("audio decoder", 100)
     set_shortname (N_("FluidSynth"))
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_ACODEC)
     set_callbacks (Open, Close)
     add_loadfile("soundfont", "", SOUNDFONT_TEXT, SOUNDFONT_LONGTEXT)
diff --git a/modules/codec/g711.c b/modules/codec/g711.c
index e6301b1ea2e542de2660e0bfad0e1a4e5a0f6f93..3eb2b18f5187ec5e879f501957779f69e792df54 100644
--- a/modules/codec/g711.c
+++ b/modules/codec/g711.c
@@ -43,7 +43,6 @@ static block_t *EncoderEncode( encoder_t *, block_t * );
 vlc_module_begin ()
     set_description( N_("G.711 decoder") )
     set_capability( "audio decoder", 100 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_callback( DecoderOpen )
 
diff --git a/modules/codec/gstreamer/gstdecode.c b/modules/codec/gstreamer/gstdecode.c
index 9d947d5421afe625c35f06962703c549c145dd19..ba7236599a131ab1e9e25e2f63078676a740eaeb 100644
--- a/modules/codec/gstreamer/gstdecode.c
+++ b/modules/codec/gstreamer/gstdecode.c
@@ -93,7 +93,6 @@ static void Flush( decoder_t * );
 vlc_module_begin( )
     set_shortname( "GstDecode" )
     add_shortcut( "gstdecode" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     /* decoder main module */
     set_description( N_( "GStreamer Based Decoder" ) )
diff --git a/modules/codec/hxxx_helper_testdec.c b/modules/codec/hxxx_helper_testdec.c
index 1adc65ffc834f9f1e85a14be6cd04369c99d4470..6bef2978a443fcf1d39e1d1842debf7c7e083fae 100644
--- a/modules/codec/hxxx_helper_testdec.c
+++ b/modules/codec/hxxx_helper_testdec.c
@@ -150,7 +150,6 @@ OpenDecoder(vlc_object_t *this)
 }
 
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_description(N_("hxxx test decoder"))
     add_shortcut("hxxxhelper")
diff --git a/modules/codec/jpeg.c b/modules/codec/jpeg.c
index 791234c1e8c091ca818e2fb17048aadcc705bf83..d2b76e3a761d5e80a8ab595814c2633eeef3d649 100644
--- a/modules/codec/jpeg.c
+++ b/modules/codec/jpeg.c
@@ -106,7 +106,6 @@ static block_t *EncodeBlock(encoder_t *, picture_t *);
  * Module descriptor
  */
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     /* decoder main module */
     set_description(N_("JPEG image decoder"))
diff --git a/modules/codec/kate.c b/modules/codec/kate.c
index 3f480ba69db0595e7c8e50c7abbe38f9513cda01..657a3855c773f4dfea86c5edd85c1f5f2c2ec4b9 100644
--- a/modules/codec/kate.c
+++ b/modules/codec/kate.c
@@ -270,7 +270,6 @@ vlc_module_begin ()
     set_help( HELP_TEXT )
     set_capability( "spu decoder", 50 )
     set_callbacks( OpenDecoder, CloseDecoder )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     add_shortcut( "kate" )
 
diff --git a/modules/codec/libass.c b/modules/codec/libass.c
index 9fd4f3853fbfd849b659e1cc6f6535f2174077cf..9b13ce0967d7b28880c357b077f9b6ff865bbfd6 100644
--- a/modules/codec/libass.c
+++ b/modules/codec/libass.c
@@ -61,7 +61,6 @@ vlc_module_begin ()
     set_shortname( N_("Subtitles (advanced)"))
     set_description( N_("Subtitle renderers using libass") )
     set_capability( "spu decoder", 100 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     set_callbacks( Create, Destroy )
     add_string("ssa-fontsdir", NULL, TEXT_SSA_FONTSDIR, NULL)
diff --git a/modules/codec/libmpeg2.c b/modules/codec/libmpeg2.c
index 9072dc5194de551b10f1b16923810d117221aa4b..672609eacf453cb422ba346e4f3d880c24bf055b 100644
--- a/modules/codec/libmpeg2.c
+++ b/modules/codec/libmpeg2.c
@@ -135,7 +135,6 @@ static int DpbDisplayPicture( decoder_t *, picture_t * );
 vlc_module_begin ()
     set_description( N_("MPEG I/II video decoder (using libmpeg2)") )
     set_capability( "video decoder", 50 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_callbacks( OpenDecoder, CloseDecoder )
     add_shortcut( "libmpeg2" )
diff --git a/modules/codec/lpcm.c b/modules/codec/lpcm.c
index 4a948102caee0d99014dadfe3452ffc6bef020fe..53538832e73b39d65fefe52a29b68225595445c8 100644
--- a/modules/codec/lpcm.c
+++ b/modules/codec/lpcm.c
@@ -53,7 +53,6 @@ static block_t *EncodeFrames( encoder_t *, block_t * );
 
 vlc_module_begin ()
 
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_description( N_("Linear PCM audio decoder") )
     set_capability( "audio decoder", 100 )
diff --git a/modules/codec/mad.c b/modules/codec/mad.c
index b8a3ac50a276e68eca69550a672ac213803e5261..f4b654b44b34ac6b9f14a58353fa47e0a2b5a545 100644
--- a/modules/codec/mad.c
+++ b/modules/codec/mad.c
@@ -72,7 +72,6 @@ typedef struct
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_description( N_("MPEG audio layer I/II/III decoder") )
     set_capability( "audio decoder", 99 )
diff --git a/modules/codec/mft.c b/modules/codec/mft.c
index f6e8fc37b5bfcd407cae5180f1942d2f71c6f3f1..c1d5bfc03f08717c41e57602da46ba91d3ab3050 100644
--- a/modules/codec/mft.c
+++ b/modules/codec/mft.c
@@ -60,7 +60,6 @@ vlc_module_begin()
     add_shortcut("mft")
     set_capability("video decoder", 1)
     set_callbacks(Open, Close)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
 
     add_submodule()
diff --git a/modules/codec/mpg123.c b/modules/codec/mpg123.c
index 054482832a9f62388b27b42e77f109883be78426..aabc9b28fcfcd3db9b7a11fe2af37457f1e47e4d 100644
--- a/modules/codec/mpg123.c
+++ b/modules/codec/mpg123.c
@@ -62,7 +62,6 @@ typedef struct
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_description( N_("MPEG audio decoder using mpg123") )
     set_capability( "audio decoder", 100 )
diff --git a/modules/codec/oggspots.c b/modules/codec/oggspots.c
index 3dc133229de2b0fae324c2a0ccaceda425624c20..bce93af72dfea44da6b429504044928f5889940d 100644
--- a/modules/codec/oggspots.c
+++ b/modules/codec/oggspots.c
@@ -79,7 +79,6 @@ static picture_t* DecodePacket (decoder_t*, block_t*);
  *****************************************************************************/
 
 vlc_module_begin ()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_shortname("OggSpots")
     set_description(N_("OggSpots video decoder"))
diff --git a/modules/codec/omxil/mediacodec.c b/modules/codec/omxil/mediacodec.c
index 589d5b745deedc4c9c7a25f1ed6af8ea69c83726..50eae5d1ccb3fa2442d7990e2314a035dfdee9b7 100644
--- a/modules/codec/omxil/mediacodec.c
+++ b/modules/codec/omxil/mediacodec.c
@@ -197,7 +197,6 @@ static void ReleaseAllPictureContexts(decoder_sys_t *);
 
 vlc_module_begin ()
     set_description("Video decoder using Android MediaCodec via NDK")
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_section(N_("Decoding"), NULL)
     set_capability("video decoder", 800)
diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c
index ceb4435f2111db3f9e7c436fe613236b92552521..2c4fd44f5352ac23d5041eec10d7c97387a863f8 100644
--- a/modules/codec/omxil/omxil.c
+++ b/modules/codec/omxil/omxil.c
@@ -84,7 +84,6 @@ static OMX_ERRORTYPE OmxFillBufferDone( OMX_HANDLETYPE, OMX_PTR,
 #define CFG_PREFIX "omxil-"
 vlc_module_begin ()
     set_description( N_("Audio/Video decoder (using OpenMAX IL)") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_section( N_("Decoding") , NULL )
     set_capability( "video decoder", 80 )
diff --git a/modules/codec/opus.c b/modules/codec/opus.c
index f170aab972027e44f8efced0bc455cc0739960af..69b9003ade933463c845522354cb549159a2de1b 100644
--- a/modules/codec/opus.c
+++ b/modules/codec/opus.c
@@ -55,7 +55,6 @@ static void CloseEncoder  ( vlc_object_t * );
 #endif
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
 
     set_description( N_("Opus audio decoder") )
diff --git a/modules/codec/png.c b/modules/codec/png.c
index ef855c2bcecdf6ef0a7b9a5a23786caa5d171122..9b60cae86fa5d4f12a7ae263d7dd76726edd5324 100644
--- a/modules/codec/png.c
+++ b/modules/codec/png.c
@@ -83,7 +83,6 @@ static block_t *EncodeBlock(encoder_t *, picture_t *);
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_description( N_("PNG video decoder") )
     set_capability( "video decoder", 1000 )
diff --git a/modules/codec/qsv.c b/modules/codec/qsv.c
index ba856e60ce1c6804bd57a6d42934794b11b43a13..fbaccce70b3a71735c5d76039aefd6f116d6f754 100644
--- a/modules/codec/qsv.c
+++ b/modules/codec/qsv.c
@@ -193,7 +193,6 @@ static const char *const rc_method_text[] =
     { "cbr", "vbr", "qp", "avbr" };
 
 vlc_module_begin ()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_description(N_("Intel QuickSync Video encoder for MPEG4-Part10/MPEG2 (aka H.264/H.262)"))
     set_shortname("qsv")
diff --git a/modules/codec/rav1e.c b/modules/codec/rav1e.c
index ae56f1d79b9d55398f49ab96a8beef6238383d81..8e3faeb82ba7924b15f9c2e2fa14d24dc6de7547 100644
--- a/modules/codec/rav1e.c
+++ b/modules/codec/rav1e.c
@@ -295,7 +295,6 @@ vlc_module_begin()
     set_description(N_("rav1e video encoder"))
     set_capability("video encoder", 105)
     set_callbacks(OpenEncoder, CloseEncoder)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     add_integer(SOUT_CFG_PREFIX "profile", 0, "Profile", NULL)
         change_integer_range(0, 3)
diff --git a/modules/codec/rawvideo.c b/modules/codec/rawvideo.c
index 43f864ad29c72a7f550f1562fab2afd6650cbc70..6c70df7942b73f332c1aef7aa4f8e04056ad9afb 100644
--- a/modules/codec/rawvideo.c
+++ b/modules/codec/rawvideo.c
@@ -61,7 +61,6 @@ static int  OpenPacketizer( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("Pseudo raw video decoder") )
     set_capability( "video decoder", 50 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_callback( OpenDecoder )
 
diff --git a/modules/codec/rtpvideo.c b/modules/codec/rtpvideo.c
index e1c27b1d3ce92391d5f5026ff4df593fd99e37f0..50ab587640c34f407b9f073e844966d48ec28cb2 100644
--- a/modules/codec/rtpvideo.c
+++ b/modules/codec/rtpvideo.c
@@ -43,7 +43,6 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict );
 vlc_module_begin ()
     set_description( N_("Raw video encoder for RTP") )
     set_capability( "video encoder", 50 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_callback( OpenEncoder )
     add_shortcut( "rtpvideo" )
diff --git a/modules/codec/schroedinger.c b/modules/codec/schroedinger.c
index 9269ab37dedb92ee73c4316134f27cfda692d90b..7fe68ad5a1a8ed1088106f6337dc9bf99ecb3c0c 100644
--- a/modules/codec/schroedinger.c
+++ b/modules/codec/schroedinger.c
@@ -358,7 +358,6 @@ static const char *const ppsz_enc_options[] = {
 /* Module declaration */
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_shortname( "Schroedinger" )
     set_description( N_("Dirac video decoder using libschroedinger") )
diff --git a/modules/codec/scte18.c b/modules/codec/scte18.c
index 73ee7cda210e62b58fe9b91d13f3f98772c74d65..f6c27eaa71f6d7aa5f892f7734b97cb4cd7219c7 100644
--- a/modules/codec/scte18.c
+++ b/modules/codec/scte18.c
@@ -41,7 +41,6 @@ vlc_module_begin ()
     set_description(N_("SCTE-18 decoder"))
     set_shortname(N_("SCTE-18"))
     set_capability( "spu decoder", 51)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_SCODEC)
     set_callbacks(Open, Close)
 vlc_module_end ()
diff --git a/modules/codec/scte27.c b/modules/codec/scte27.c
index 372dc01d9e0006da24fbf2f1cf4f3be22fef9414..4987e8e79136b00a75244d367b671d37cc62a5e4 100644
--- a/modules/codec/scte27.c
+++ b/modules/codec/scte27.c
@@ -41,7 +41,6 @@ vlc_module_begin ()
     set_description(N_("SCTE-27 decoder"))
     set_shortname(N_("SCTE-27"))
     set_capability( "spu decoder", 51)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_SCODEC)
     set_callbacks(Open, Close)
 vlc_module_end ()
diff --git a/modules/codec/shine.c b/modules/codec/shine.c
index 153488705a9b5156aa80b9b8f65747234b9140b5..625ec44a9dac6b9cdaefbe4d881883768b89358d 100644
--- a/modules/codec/shine.c
+++ b/modules/codec/shine.c
@@ -61,7 +61,6 @@ static void CloseEncoder  ( vlc_object_t * );
 static block_t *EncodeFrame  ( encoder_t *, block_t * );
 
 vlc_module_begin();
-    set_category( CAT_INPUT );
     set_subcategory( SUBCAT_INPUT_ACODEC );
     set_description( N_("MP3 fixed point audio encoder") );
     set_capability( "audio encoder", 50 );
diff --git a/modules/codec/spdif.c b/modules/codec/spdif.c
index 093d862c7b5451def0c950637bd302b55b979add..c7ab3b7c4451baf4e5e0a9c5f57d02b3c7809f3c 100644
--- a/modules/codec/spdif.c
+++ b/modules/codec/spdif.c
@@ -31,7 +31,6 @@
 static int OpenDecoder(vlc_object_t *);
 
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACODEC)
     set_description(N_("S/PDIF pass-through decoder"))
     set_capability("audio decoder", 120)
diff --git a/modules/codec/speex.c b/modules/codec/speex.c
index e8d62613ed6558eafa511cd5e3e8036d14f27e1e..f333f5f21941868112205265b0e22bc5a10b291c 100644
--- a/modules/codec/speex.c
+++ b/modules/codec/speex.c
@@ -91,7 +91,6 @@ static const char * const ppsz_enc_mode_descriptions[] = {
 };
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
 
     set_description( N_("Speex audio decoder") )
diff --git a/modules/codec/spudec/spudec.c b/modules/codec/spudec/spudec.c
index 4acbfcaed351047fbf95fdeb576303c5eded4be5..0ee9448ba6c3d397ad4c1abf47817a9e70e90462 100644
--- a/modules/codec/spudec/spudec.c
+++ b/modules/codec/spudec/spudec.c
@@ -49,7 +49,6 @@ vlc_module_begin ()
     set_description( N_("DVD subtitles decoder") )
     set_shortname( N_("DVD subtitles") )
     set_capability( "spu decoder", 75 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     set_callbacks( DecoderOpen, Close )
 
diff --git a/modules/codec/stl.c b/modules/codec/stl.c
index a00e0290a1147f208866d4b8f601815c934f3788..5ab49e64586f69a90d6a80c68be570c3e66df26a 100644
--- a/modules/codec/stl.c
+++ b/modules/codec/stl.c
@@ -43,7 +43,6 @@ static void Close(vlc_object_t *);
 
 vlc_module_begin()
     set_description(N_("EBU STL subtitles decoder"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_SCODEC)
     set_capability("spu decoder", 10)
     set_callbacks(Open, Close)
diff --git a/modules/codec/subsdec.c b/modules/codec/subsdec.c
index d1abc033687793f4731e2b5c6abca4fffe34dede..7e4dd6a1424d825904ddbb8628644c8361c355b5 100644
--- a/modules/codec/subsdec.c
+++ b/modules/codec/subsdec.c
@@ -182,7 +182,6 @@ vlc_module_begin ()
     set_description( N_("Text subtitle decoder") )
     set_capability( "spu decoder", 50 )
     set_callbacks( OpenDecoder, CloseDecoder )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
 
     add_integer( "subsdec-align", -1, ALIGN_TEXT, ALIGN_LONGTEXT )
diff --git a/modules/codec/substx3g.c b/modules/codec/substx3g.c
index bc74c6fcd390f568a5086b578ae48fb5c02a032d..3ce2374fed0539f9ff41749e9cce4da7e36cc876 100644
--- a/modules/codec/substx3g.c
+++ b/modules/codec/substx3g.c
@@ -46,7 +46,6 @@ vlc_module_begin ()
     set_description( N_("tx3g subtitles decoder") )
     set_shortname( N_("tx3g subtitles") )
     set_capability( "spu decoder", 100 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     set_callbacks( OpenDecoder, CloseDecoder )
 #ifdef ENABLE_SOUT
diff --git a/modules/codec/subsusf.c b/modules/codec/subsusf.c
index 46825bc4c605cc134875480344fbc3d96b2c7888..2010e328a44903ce237e042dd436457e5eb915a0 100644
--- a/modules/codec/subsusf.c
+++ b/modules/codec/subsusf.c
@@ -49,7 +49,6 @@ vlc_module_begin ()
     set_shortname( N_("USFSubs"))
     set_description( N_("USF subtitles decoder") )
     set_callbacks( OpenDecoder, CloseDecoder )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     add_bool( "subsdec-formatted", true, FORMAT_TEXT, FORMAT_LONGTEXT )
 vlc_module_end ()
diff --git a/modules/codec/svcdsub.c b/modules/codec/svcdsub.c
index c49666dfee1b138d23cf7cd52d558a98b60d8945..21bf77a547886ac1f88f5c07f30787e19b639f24 100644
--- a/modules/codec/svcdsub.c
+++ b/modules/codec/svcdsub.c
@@ -47,7 +47,6 @@ static void DecoderClose  ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("Philips OGT (SVCD subtitle) decoder") )
     set_shortname( N_("SVCD subtitles") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     set_capability( "spu decoder", 50 )
     set_callbacks( DecoderOpen, DecoderClose )
diff --git a/modules/codec/svg.c b/modules/codec/svg.c
index fd5bf4f3b71451452971a1b4c8733fe818c17231..26499a1a8884007a300c39f38cbea8fce3dbca23 100644
--- a/modules/codec/svg.c
+++ b/modules/codec/svg.c
@@ -58,7 +58,6 @@ static int DecodeBlock  ( decoder_t *, block_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_description( N_("SVG video decoder") )
     set_capability( "video decoder", 100 )
diff --git a/modules/codec/telx.c b/modules/codec/telx.c
index b3952917bdf7ef64e081b9b673cf0f738b828741..d612a8783a0730ffc0f2e84c24ac94031fb5f0c1 100644
--- a/modules/codec/telx.c
+++ b/modules/codec/telx.c
@@ -69,7 +69,6 @@ vlc_module_begin ()
     set_description( N_("Teletext subtitles decoder") )
     set_shortname( "Teletext" )
     set_capability( "spu decoder", 50 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     set_callback( Open )
 
diff --git a/modules/codec/textst.c b/modules/codec/textst.c
index 26852f924851831b9bc1173c4a4559e7e65b530e..d1b9d357485276678efacf4602dbd4039a222c6f 100644
--- a/modules/codec/textst.c
+++ b/modules/codec/textst.c
@@ -48,7 +48,6 @@ typedef struct
 
 vlc_module_begin()
     set_description(N_("HDMV TextST subtitles decoder"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_SCODEC)
     set_capability("spu decoder", 10)
     set_callback(Open)
diff --git a/modules/codec/theora.c b/modules/codec/theora.c
index 8e84cade8f3092306179cffc5012144e6a877df2..c21091fd2efdb88408d0be5bedb5b85d35274e3d 100644
--- a/modules/codec/theora.c
+++ b/modules/codec/theora.c
@@ -109,7 +109,6 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict );
 #define ENC_POSTPROCESS_TEXT N_("Post processing quality")
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_shortname( "Theora" )
     set_description( N_("Theora video decoder") )
diff --git a/modules/codec/ttml/ttml.c b/modules/codec/ttml/ttml.c
index 3f451744730462baf0ba47c287f55df5a6d842e9..3e2732260703951aa58a395a65dbbbd24fd8e699 100644
--- a/modules/codec/ttml/ttml.c
+++ b/modules/codec/ttml/ttml.c
@@ -45,7 +45,6 @@ vlc_module_begin ()
     set_shortname( N_("TTML decoder"))
     set_description( N_("TTML subtitles decoder") )
     set_callback( tt_OpenDecoder )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     add_integer( "ttml-align", 0, ALIGN_TEXT, ALIGN_LONGTEXT )
 
@@ -53,7 +52,6 @@ vlc_module_begin ()
         set_shortname( N_("TTML") )
         set_description( N_("TTML demuxer") )
         set_capability( "demux", 11 )
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_DEMUX )
         set_callbacks( tt_OpenDemux, tt_CloseDemux )
         add_shortcut( "ttml" )
diff --git a/modules/codec/twolame.c b/modules/codec/twolame.c
index 61b6244da7076141fa624aaa60e968b7c1166ad4..e07908e32b6ac457d78a2a8226c0c3bd29c9b3b6 100644
--- a/modules/codec/twolame.c
+++ b/modules/codec/twolame.c
@@ -74,7 +74,6 @@ vlc_module_begin ()
     set_description( N_("Libtwolame audio encoder") )
     set_capability( "audio encoder", 120 )
     set_callbacks( OpenEncoder, CloseEncoder )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
 
     add_float( ENC_CFG_PREFIX "quality", 0.0, ENC_QUALITY_TEXT,
diff --git a/modules/codec/uleaddvaudio.c b/modules/codec/uleaddvaudio.c
index 5b91c2e97250fb5630af76481e67adf1ed52b529..24a71e8699c180795dca31b6f808efee32a6034d 100644
--- a/modules/codec/uleaddvaudio.c
+++ b/modules/codec/uleaddvaudio.c
@@ -38,7 +38,6 @@ static int  Open(vlc_object_t *);
 vlc_module_begin()
     set_description(N_("Ulead DV audio decoder"))
     set_capability("audio decoder", 50)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACODEC)
     set_callback(Open)
 vlc_module_end()
diff --git a/modules/codec/videotoolbox.c b/modules/codec/videotoolbox.c
index 8fd2859fe2343d0224f070e6e78dc428cfec6798..5f856f9e0052ace100a3ea3a723714cd0137488b 100644
--- a/modules/codec/videotoolbox.c
+++ b/modules/codec/videotoolbox.c
@@ -2289,7 +2289,6 @@ static const char *const chroma_list_names[] =
     };
 
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_description(N_("VideoToolbox video decoder"))
     set_capability("video decoder", 800)
diff --git a/modules/codec/vorbis.c b/modules/codec/vorbis.c
index 6ddacb4a30724cd3ef41ff0c5b4921d842f34adf..37cefa58930b15422c99089631f96258a4bdf062 100644
--- a/modules/codec/vorbis.c
+++ b/modules/codec/vorbis.c
@@ -191,7 +191,6 @@ vlc_module_begin ()
 #else
     set_capability( "audio decoder", 100 )
 #endif
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_callbacks( OpenDecoder, CloseDecoder )
 
diff --git a/modules/codec/vpx.c b/modules/codec/vpx.c
index 2fc32e84bc7cf2c56f0d80689ed14810223233af..521d3e1fe233a44a416d77fa2d688ad62b420d2c 100644
--- a/modules/codec/vpx.c
+++ b/modules/codec/vpx.c
@@ -67,7 +67,6 @@ vlc_module_begin ()
     set_description(N_("WebM video decoder"))
     set_capability("video decoder", 60)
     set_callbacks(OpenDecoder, CloseDecoder)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
 #ifdef ENABLE_SOUT
     add_submodule()
diff --git a/modules/codec/webvtt/webvtt.c b/modules/codec/webvtt/webvtt.c
index 8da5f6d4e026b065e3ecf2c20f6ad52ae77156d1..7878fc50def396df9a27f0aa3ce25d7da724f1fa 100644
--- a/modules/codec/webvtt/webvtt.c
+++ b/modules/codec/webvtt/webvtt.c
@@ -40,13 +40,11 @@ vlc_module_begin ()
     set_shortname( N_("WEBVTT decoder"))
     set_description( N_("WEBVTT subtitles decoder") )
     set_callbacks( webvtt_OpenDecoder, webvtt_CloseDecoder )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     add_submodule()
         set_shortname( "WEBVTT" )
         set_description( N_("WEBVTT subtitles parser") )
         set_capability( "demux", 11 )
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_DEMUX )
         set_callbacks( webvtt_OpenDemux, webvtt_CloseDemux )
         add_shortcut( "webvtt" )
@@ -54,7 +52,6 @@ vlc_module_begin ()
         set_shortname( "WEBVTT" )
         set_description( N_("WEBVTT subtitles parser") )
         set_capability( "demux", 0 )
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_DEMUX )
         set_callbacks( webvtt_OpenDemuxStream, webvtt_CloseDemux )
         add_shortcut( "webvttstream" )
diff --git a/modules/codec/x264.c b/modules/codec/x264.c
index 173cd8228c6d2980ff6988473f8b9d7c512b4e62..b019bcc8d77aa1770b5f647e26e12b581c0b04d5 100644
--- a/modules/codec/x264.c
+++ b/modules/codec/x264.c
@@ -446,7 +446,6 @@ vlc_module_begin ()
     set_capability( "video encoder", 200 )
 #endif
     set_callbacks( Open, Close )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
 
 /* Frame-type options */
diff --git a/modules/codec/x265.c b/modules/codec/x265.c
index 7a39797fb806234eb593776c35981260110c1870..b76d24722e202a15b125743a6106ccd7f403c369 100644
--- a/modules/codec/x265.c
+++ b/modules/codec/x265.c
@@ -46,7 +46,6 @@ vlc_module_begin ()
     set_description(N_("H.265/HEVC encoder (x265)"))
     set_capability("video encoder", 200)
     set_callbacks(Open, Close)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
 vlc_module_end ()
 
diff --git a/modules/codec/xwd.c b/modules/codec/xwd.c
index f75c1d513b284d1124214c7ff8ba423dd19e6558..bb39258e29cecd64fe2c5e80ee3101382f91c67d 100644
--- a/modules/codec/xwd.c
+++ b/modules/codec/xwd.c
@@ -144,7 +144,6 @@ static int Open(vlc_object_t *obj)
 vlc_module_begin()
     set_description(N_("XWD image decoder"))
     set_capability("video decoder", 50)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_callback(Open)
 vlc_module_end()
diff --git a/modules/codec/zvbi.c b/modules/codec/zvbi.c
index bbf53935bd7e425cd4de9894d2d4b03857a81601..8e5b52b826ee50021369eb89f19c40a714859af7 100644
--- a/modules/codec/zvbi.c
+++ b/modules/codec/zvbi.c
@@ -94,7 +94,6 @@ vlc_module_begin ()
     set_description( N_("VBI and Teletext decoder") )
     set_shortname( N_("VBI & Teletext") )
     set_capability( "spu decoder", 51 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     set_callbacks( Open, Close )
 
diff --git a/modules/control/cli/cli.c b/modules/control/cli/cli.c
index b44279c326823ce2e4bff1bd3eba22d492449c69..888d6ddf9cb714f4f33f17018b9e748fed8ed778 100644
--- a/modules/control/cli/cli.c
+++ b/modules/control/cli/cli.c
@@ -1039,7 +1039,6 @@ static void Deactivate( vlc_object_t *p_this )
 
 vlc_module_begin()
     set_shortname(N_("RC"))
-    set_category(CAT_INTERFACE)
     set_subcategory(SUBCAT_INTERFACE_MAIN)
     set_description(N_("Remote control interface"))
     add_bool("rc-show-pos", false, POS_TEXT, POS_LONGTEXT)
diff --git a/modules/control/dbus/dbus.c b/modules/control/dbus/dbus.c
index 76e9a699d2ac50b646ed10bbbe2bb3a3c21b027c..5950145102486821aadf6db3cb08e3a8f2a0b683 100644
--- a/modules/control/dbus/dbus.c
+++ b/modules/control/dbus/dbus.c
@@ -161,7 +161,6 @@ static void player_timer_on_update(const struct vlc_player_timer_point *, void *
  *****************************************************************************/
 vlc_module_begin ()
     set_shortname( N_("DBus"))
-    set_category( CAT_INTERFACE )
     set_description( N_("D-Bus control interface") )
     set_capability( "interface", 0 )
     set_callbacks( Open, Close )
diff --git a/modules/control/gestures.c b/modules/control/gestures.c
index 78a5e3da9dc11d484ad013c0cf8b02105fc7738d..9c7ebc099d402a311de581dccd93682e5795dbc3 100644
--- a/modules/control/gestures.c
+++ b/modules/control/gestures.c
@@ -89,7 +89,6 @@ static const char *const button_list_text[] =
 
 vlc_module_begin ()
     set_shortname( N_("Gestures"))
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_CONTROL )
     add_integer( "gestures-threshold", 30,
                  THRESHOLD_TEXT, THRESHOLD_LONGTEXT )
diff --git a/modules/control/globalhotkeys/win32.c b/modules/control/globalhotkeys/win32.c
index ce886a7346ad79747342dfe55e96b32fd8d892e4..926c6fc1749becacca4f8081ea13afdf2af1c1f4 100644
--- a/modules/control/globalhotkeys/win32.c
+++ b/modules/control/globalhotkeys/win32.c
@@ -45,7 +45,6 @@ LRESULT CALLBACK WMHOTKEYPROC( HWND, UINT, WPARAM, LPARAM );
  *****************************************************************************/
 vlc_module_begin()
     set_shortname( N_("Global Hotkeys") )
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_HOTKEYS )
     set_description( N_("Global Hotkeys interface") )
     set_capability( "interface", 0 )
diff --git a/modules/control/globalhotkeys/xcb.c b/modules/control/globalhotkeys/xcb.c
index fa10b308c04b16fedb6291a9701ba52ea15618c4..d82620954eea20475ebb7c96c4657bcef2837ac7 100644
--- a/modules/control/globalhotkeys/xcb.c
+++ b/modules/control/globalhotkeys/xcb.c
@@ -53,7 +53,6 @@ static void AutoRun(libvlc_int_t *libvlc)
  *****************************************************************************/
 vlc_module_begin()
     set_shortname( N_("Global Hotkeys") )
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_HOTKEYS )
     set_description( N_("Global Hotkeys interface") )
     set_capability( "interface", 0 )
diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c
index 5e31fec292e34e36e2ab47e3d08096210ceb2723..95f101782854d3c17b05d5fb1d2c9b3157625185 100644
--- a/modules/control/hotkeys.c
+++ b/modules/control/hotkeys.c
@@ -1278,7 +1278,6 @@ vlc_module_begin ()
     set_description(N_("Hotkeys management interface"))
     set_capability("interface", 0)
     set_callbacks(Open, Close)
-    set_category(CAT_INTERFACE)
     set_subcategory(SUBCAT_INTERFACE_HOTKEYS)
 
     add_submodule()
diff --git a/modules/control/lirc.c b/modules/control/lirc.c
index 61fe603ae752929fbc23ca3342a399f1668371ab..dc96932e641b33f2eba1c54e11be2b6fe134f090 100644
--- a/modules/control/lirc.c
+++ b/modules/control/lirc.c
@@ -56,7 +56,6 @@ static void Close   ( vlc_object_t * );
 
 vlc_module_begin ()
     set_shortname( N_("Infrared") )
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_CONTROL )
     set_description( N_("Infrared remote control interface") )
     set_capability( "interface", 0 )
diff --git a/modules/control/netsync.c b/modules/control/netsync.c
index 4af54d34344e18d4430578b715e7bf5319e255dc..fbe448102cc7573228494bda5d05a78897184064 100644
--- a/modules/control/netsync.c
+++ b/modules/control/netsync.c
@@ -78,7 +78,6 @@ static void AutoRun(libvlc_int_t *libvlc)
 vlc_module_begin()
     set_shortname(N_("Network Sync"))
     set_description(N_("Network synchronization"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
 
     add_bool("network-synchronisation", false, NETSYNC_TEXT, NETSYNC_LONGTEXT)
diff --git a/modules/control/ntservice.c b/modules/control/ntservice.c
index 9dc2061905779fe11b674d4597541cf4367e7d5f..a5f60914475ea5957749eb5f3d864fd7f41d450d 100644
--- a/modules/control/ntservice.c
+++ b/modules/control/ntservice.c
@@ -66,7 +66,6 @@ static void Close   ( vlc_object_t * );
 vlc_module_begin ()
     set_shortname( N_("NT Service"))
     set_description( N_("Windows Service interface") )
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_CONTROL )
     add_bool( "ntservice-install", false,
               INSTALL_TEXT, INSTALL_LONGTEXT )
diff --git a/modules/control/win_msg.c b/modules/control/win_msg.c
index 0e7ae1ba7006377656f70081cc35c0ce5b300f4e..e658efaf6781de2d5c853ccec7ee5dc74ff1f704 100644
--- a/modules/control/win_msg.c
+++ b/modules/control/win_msg.c
@@ -205,7 +205,6 @@ static void Close(vlc_object_t *obj)
 vlc_module_begin()
     set_shortname(N_("WinMsg"))
     set_description(N_("Windows messages interface"))
-    set_category(CAT_INTERFACE)
     set_subcategory(SUBCAT_INTERFACE_CONTROL)
     set_capability("interface", 0)
     set_callbacks(Open, Close)
diff --git a/modules/demux/adaptive/adaptive.cpp b/modules/demux/adaptive/adaptive.cpp
index e71a4d414ec4881417abe5db235a747319c161cb..4bc565b9b296bb6e521442f7ffde121987084c35 100644
--- a/modules/demux/adaptive/adaptive.cpp
+++ b/modules/demux/adaptive/adaptive.cpp
@@ -127,7 +127,6 @@ vlc_module_begin ()
         set_shortname( N_("Adaptive"))
         set_description( N_("Unified adaptive streaming for DASH/HLS") )
         set_capability( "demux", 12 )
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_DEMUX )
         add_string( "adaptive-logic",  "", ADAPT_LOGIC_TEXT, nullptr )
             change_string_list( ppsz_logics_values, ppsz_logics )
diff --git a/modules/demux/aiff.c b/modules/demux/aiff.c
index 05a2ca50afe1b11790f837de2042495cd7d4f36a..485671528a195026d20b9f2c2fe208bbe67e78c0 100644
--- a/modules/demux/aiff.c
+++ b/modules/demux/aiff.c
@@ -46,7 +46,6 @@
 static int  Open    ( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("AIFF demuxer" ) )
     set_capability( "demux", 10 )
diff --git a/modules/demux/asf/asf.c b/modules/demux/asf/asf.c
index 5beacb3147e9b029fe1cf952764e6d4e6ec95a94..6f39f2da47fd3cf706a6e2ba024f96f10ea55906 100644
--- a/modules/demux/asf/asf.c
+++ b/modules/demux/asf/asf.c
@@ -56,7 +56,6 @@ static int  Open  ( vlc_object_t * );
 static void Close ( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("ASF/WMV demuxer") )
     set_capability( "demux", 200 )
diff --git a/modules/demux/au.c b/modules/demux/au.c
index a271dea127d4721d8aa5fd7991ad198a52a1138b..04f23be301c2f37b51dcc6fac28b035ce6ce71b9 100644
--- a/modules/demux/au.c
+++ b/modules/demux/au.c
@@ -44,7 +44,6 @@
 static int  Open ( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("AU demuxer") )
     set_capability( "demux", 10 )
diff --git a/modules/demux/avformat/avformat.c b/modules/demux/avformat/avformat.c
index 49ccdd42d5bf637b528f821212db56dec178880e..f41d558a59ed5c6072ad68c084d7925e9383c7cf 100644
--- a/modules/demux/avformat/avformat.c
+++ b/modules/demux/avformat/avformat.c
@@ -37,7 +37,6 @@ vlc_module_begin ()
 #endif /* MERGE_FFMPEG */
     add_shortcut( "ffmpeg", "avformat" )
     add_file_extension("rm")
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("Avformat demuxer" ) )
     set_shortname( N_("Avformat") )
diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c
index 2b9f6db666177cbb22efa1e27d1e8ad4401ea4cc..beb252c924b7ba5f1070a0a6638f57954122a97d 100644
--- a/modules/demux/avi/avi.c
+++ b/modules/demux/avi/avi.c
@@ -71,7 +71,6 @@ vlc_module_begin ()
     set_shortname( "AVI" )
     set_description( N_("AVI demuxer") )
     set_capability( "demux", 212 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     add_file_extension("avi")
 
diff --git a/modules/demux/caf.c b/modules/demux/caf.c
index 268c5ae27029012de78e87b02cc078feab6a9ee0..0f9ac9401d546bc4fa8ebb564e173d8fd18196a8 100644
--- a/modules/demux/caf.c
+++ b/modules/demux/caf.c
@@ -47,7 +47,6 @@ static int  Open    ( vlc_object_t * );
 static void Close  ( vlc_object_t * );
 
 vlc_module_begin ()
-set_category( CAT_INPUT )
 set_subcategory( SUBCAT_INPUT_DEMUX )
 set_description( N_( "CAF demuxer" ))
 set_capability( "demux", 140 )
diff --git a/modules/demux/cdg.c b/modules/demux/cdg.c
index ae5cc1c2a4fb433c65749e108a7c925005c4317a..6f2f1f95fe4af100522de05e818b2e3c02ad54d2 100644
--- a/modules/demux/cdg.c
+++ b/modules/demux/cdg.c
@@ -39,7 +39,6 @@ static int  Open ( vlc_object_t * );
 
 vlc_module_begin ()
     set_description( N_("CDG demuxer") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability( "demux", 3 )
     set_callback( Open )
diff --git a/modules/demux/demuxdump.c b/modules/demux/demuxdump.c
index 3a1a8c7fd5e2235db169fe2471d20c05ad7567cb..f7be5ad5dba7ce13e2295486bb42835d45655ac1 100644
--- a/modules/demux/demuxdump.c
+++ b/modules/demux/demuxdump.c
@@ -42,7 +42,6 @@ static void Close ( vlc_object_t * );
 
 vlc_module_begin ()
     set_shortname("Dump")
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("File dumper") )
     set_capability( "demux", 0 )
diff --git a/modules/demux/directory.c b/modules/demux/directory.c
index cc9ac61d46bd3c187f5bb4a05a6959d77a1ddcea..d47e82f75be6c7a0981deebfce811ffd27691e45 100644
--- a/modules/demux/directory.c
+++ b/modules/demux/directory.c
@@ -69,7 +69,6 @@ static int Import_Dir( vlc_object_t *p_this )
 }
 
 vlc_module_begin()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_shortname( N_("Directory") )
     set_description( N_("Directory import") )
diff --git a/modules/demux/dmxmus.c b/modules/demux/dmxmus.c
index 84110bdf1c0b09942ccb6cd37c59232b16e6d8ad..c300e7b4462c19df27bc48713db91d9ec2105eef 100644
--- a/modules/demux/dmxmus.c
+++ b/modules/demux/dmxmus.c
@@ -472,7 +472,6 @@ static int Open(vlc_object_t *obj)
 
 vlc_module_begin()
     set_description(N_("DMX music demuxer"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_DEMUX)
     set_capability("demux", 20)
     set_callbacks(Open, NULL)
diff --git a/modules/demux/filter/noseek.c b/modules/demux/filter/noseek.c
index ed6d9ba1513c691c051d33f05b2ca1a897f9d695..5878945821e95f0786ff46bf08f93fe96ee938ea 100644
--- a/modules/demux/filter/noseek.c
+++ b/modules/demux/filter/noseek.c
@@ -73,7 +73,6 @@ static int Open(vlc_object_t *obj)
 
 vlc_module_begin ()
     set_description(N_("Seek prevention demux filter"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_STREAM_FILTER)
     set_capability("demux_filter", 0)
     set_callback(Open)
diff --git a/modules/demux/flac.c b/modules/demux/flac.c
index 52850562f5f9f7e186277306f72034af8eb1ca13..9e6ab72981d3758ad74359620e026ffd66f77bdf 100644
--- a/modules/demux/flac.c
+++ b/modules/demux/flac.c
@@ -50,7 +50,6 @@ static void Close ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("FLAC demuxer") )
     set_capability( "demux", 155 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_callbacks( Open, Close )
     add_shortcut( "flac" )
diff --git a/modules/demux/gme.c b/modules/demux/gme.c
index 5bf2244b8b747373e48631f9a181605948246ec4..ffc976f32149fbacc01b02438ba5e7fd5d7a1f17 100644
--- a/modules/demux/gme.c
+++ b/modules/demux/gme.c
@@ -41,7 +41,6 @@ static void Close (vlc_object_t *);
 vlc_module_begin ()
     set_shortname ("GME")
     set_description ("Game Music Emu")
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_DEMUX)
     set_capability ("demux", 10)
     set_callbacks (Open, Close)
diff --git a/modules/demux/image.c b/modules/demux/image.c
index 2e962c6fff5ef350631f5286fad16eecbf406f25..3eac1fe2e51d6f00dd2ddf91f0f65df5acd6438a 100644
--- a/modules/demux/image.c
+++ b/modules/demux/image.c
@@ -76,7 +76,6 @@ static void Close(vlc_object_t *);
 vlc_module_begin()
     set_description(N_("Image demuxer"))
     set_shortname(N_("Image"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_DEMUX)
     add_integer("image-id", -1, ID_TEXT, ID_LONGTEXT)
         change_safe()
diff --git a/modules/demux/mjpeg.c b/modules/demux/mjpeg.c
index 91fd0df1378cd7481fe4e8824a4c02fa1504592a..7e6aed88bff86a118764b8f6c7bcd26bfe22a825 100644
--- a/modules/demux/mjpeg.c
+++ b/modules/demux/mjpeg.c
@@ -51,7 +51,6 @@ vlc_module_begin ()
     set_description( N_("M-JPEG camera demuxer") )
     set_capability( "demux", 5 )
     set_callback( Open )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     add_float( "mjpeg-fps", 0.0, FPS_TEXT, FPS_LONGTEXT )
 vlc_module_end ()
diff --git a/modules/demux/mkv/mkv.cpp b/modules/demux/mkv/mkv.cpp
index 2c9788fd0e7143499cf7c1b442b3c140f1270e9e..edb3d90fa3014998c4992f9a71ad9885efb4c1fc 100644
--- a/modules/demux/mkv/mkv.cpp
+++ b/modules/demux/mkv/mkv.cpp
@@ -55,7 +55,6 @@ vlc_module_begin ()
     set_description( N_("Matroska stream demuxer" ) )
     set_capability( "demux", 50 )
     set_callbacks( Open, Close )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
 
     add_bool( "mkv-use-ordered-chapters", true,
diff --git a/modules/demux/mock.c b/modules/demux/mock.c
index 3767d7b0ffa6987e80ebf8cb8618727cd9de1be2..f2c1f123dc331aa456a66a01e79556a7a67b861b 100644
--- a/modules/demux/mock.c
+++ b/modules/demux/mock.c
@@ -1136,7 +1136,6 @@ error:
 vlc_module_begin()
     set_description("mock access demux")
     set_capability("access", 0)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_ACCESS)
     set_callbacks(Open, Close)
     OPTIONS_GLOBAL(DECLARE_MODULE_OPTIONS)
diff --git a/modules/demux/mod.c b/modules/demux/mod.c
index 1dab36b47f570e7accaa482cd74964e08c15b029..8b8175c03409a549cc352d5462dd94f13cde4bf9 100644
--- a/modules/demux/mod.c
+++ b/modules/demux/mod.c
@@ -72,7 +72,6 @@ vlc_module_begin ()
     set_shortname( "MOD")
     set_description( N_("MOD demuxer (libmodplug)" ) )
     set_capability( "demux", 10 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
 
     add_bool( "mod-noisereduction", true, N_("Noise reduction"),
diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index 59c04e983f81775c049daae51818b0ad51dcfd7b..9bd80f49a0223cddfaf157d3ca5a87a2674d5533 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -61,7 +61,6 @@ static void Close( vlc_object_t * );
     "A negative value means an unlimited play time.")
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("MP4 stream demuxer") )
     set_shortname( N_("MP4") )
@@ -78,7 +77,6 @@ vlc_module_begin ()
     add_bool( CFG_PREFIX"editlist", true, MP4_ELST_TEXT, MP4_ELST_TEXT )
 
     add_submodule()
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_DEMUX )
         set_description( N_("HEIF demuxer") )
         set_shortname( "heif" )
diff --git a/modules/demux/mpc.c b/modules/demux/mpc.c
index bd8891d2fcc23ca61e5e5be10369392017a6a01b..096e7708b4805b0957197f36f822d39b9164b116 100644
--- a/modules/demux/mpc.c
+++ b/modules/demux/mpc.c
@@ -50,7 +50,6 @@
 static int  Open  ( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("MusePack demuxer") )
     set_capability( "demux", 145 )
diff --git a/modules/demux/mpeg/es.c b/modules/demux/mpeg/es.c
index 2435638045823211683f14a149089bb6847c2601..298a353ab331d9bdaf168b680faa60bd4bce1020 100644
--- a/modules/demux/mpeg/es.c
+++ b/modules/demux/mpeg/es.c
@@ -54,7 +54,6 @@ static void Close    ( vlc_object_t * );
     "playing MPEG video elementary streams.")
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("MPEG-I/II/4 / A52 / DTS / MLP audio" ) )
     set_shortname( N_("Audio ES") )
diff --git a/modules/demux/mpeg/h26x.c b/modules/demux/mpeg/h26x.c
index 326954c9f25b48ef174fda53d087190524eb7c37..0a0106b1d313c899c903d1fefd24b1fba60a52fc 100644
--- a/modules/demux/mpeg/h26x.c
+++ b/modules/demux/mpeg/h26x.c
@@ -48,7 +48,6 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin ()
     set_shortname( "H264")
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("H264 video demuxer" ) )
     set_capability( "demux", 6 )
@@ -60,7 +59,6 @@ vlc_module_begin ()
 
     add_submodule()
         set_shortname( "HEVC")
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_DEMUX )
         set_description( N_("HEVC/H.265 video demuxer" ) )
         set_capability( "demux", 6 )
diff --git a/modules/demux/mpeg/mpgv.c b/modules/demux/mpeg/mpgv.c
index 48a029c5dcec90254522ede91c2febdc6bf4f7c2..15fae34295426be2d95ba1379126100605a50d3b 100644
--- a/modules/demux/mpeg/mpgv.c
+++ b/modules/demux/mpeg/mpgv.c
@@ -40,7 +40,6 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("MPEG-I/II video demuxer" ) )
     set_capability( "demux", 5 )
diff --git a/modules/demux/mpeg/ps.c b/modules/demux/mpeg/ps.c
index cd8c5b3cbce1c3e07e34b67fc2b6dc000b76f399..e58bbe3ff64fae722ecc4db141af65295a5755ba 100644
--- a/modules/demux/mpeg/ps.c
+++ b/modules/demux/mpeg/ps.c
@@ -60,7 +60,6 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("MPEG-PS demuxer") )
     set_shortname( N_("PS") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability( "demux", 1 )
     set_callbacks( OpenForce, Close )
diff --git a/modules/demux/mpeg/ts.c b/modules/demux/mpeg/ts.c
index cfe2b7fe4e2fc5c93edd8b3024a248c6fdcc4757..1860e60c23ed294d12d3c48b029153670dd2fb6e 100644
--- a/modules/demux/mpeg/ts.c
+++ b/modules/demux/mpeg/ts.c
@@ -138,7 +138,6 @@ static const char *const ts_standards_list_text[] =
 vlc_module_begin ()
     set_description( N_("MPEG Transport Stream demuxer") )
     set_shortname ( "MPEG-TS" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
 
     add_string( "ts-standard", "auto", STANDARD_TEXT, STANDARD_LONGTEXT )
diff --git a/modules/demux/nsv.c b/modules/demux/nsv.c
index f540b103b253b2bcbb76fc41ad5b45c69696bf4e..abef56e3423704ea34770f0ee8717c8a56f25a27 100644
--- a/modules/demux/nsv.c
+++ b/modules/demux/nsv.c
@@ -49,7 +49,6 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("NullSoft demuxer" ) )
     set_capability( "demux", 10 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_callbacks( Open, Close )
     add_shortcut( "nsv" )
diff --git a/modules/demux/nuv.c b/modules/demux/nuv.c
index 0b0600d50875cc321e8ee1d472b62fc606f70fe8..520c323e140cee685b45ff3c4ca894fa09de345b 100644
--- a/modules/demux/nuv.c
+++ b/modules/demux/nuv.c
@@ -46,7 +46,6 @@ static int  Open  ( vlc_object_t * );
 static void Close ( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("Nuv demuxer") )
     set_capability( "demux", 145 )
diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c
index 0de94d46a85542d62ab145c87053b25a82170b73..999cf59589ef02111b13d78f39d202c49e3f69b7 100644
--- a/modules/demux/ogg.c
+++ b/modules/demux/ogg.c
@@ -59,7 +59,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin ()
     set_shortname ( "OGG" )
     set_description( N_("OGG demuxer" ) )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability( "demux", 50 )
     set_callbacks( Open, Close )
diff --git a/modules/demux/playlist/playlist.c b/modules/demux/playlist/playlist.c
index 26e23d3c6aef3f3f871783d04fa06c3d6aff88b0..69f6c10018026f847905bca28fc1f29d8a26cdc2 100644
--- a/modules/demux/playlist/playlist.c
+++ b/modules/demux/playlist/playlist.c
@@ -53,7 +53,6 @@
 
 vlc_module_begin ()
     add_shortcut( "playlist" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
 
     add_bool( "playlist-skip-ads", true,
diff --git a/modules/demux/pva.c b/modules/demux/pva.c
index f87a86be890e3ebb3119f52ad7812f6e8dc4d606..7dba576a138879ce1230f6f321f25e36ac42cc54 100644
--- a/modules/demux/pva.c
+++ b/modules/demux/pva.c
@@ -43,7 +43,6 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("PVA demuxer" ) )
     set_capability( "demux", 10 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_callbacks( Open, Close )
     add_shortcut( "pva" )
diff --git a/modules/demux/rawaud.c b/modules/demux/rawaud.c
index afebf2a4323590f8f44d5d5e0392231f67896aad..e28f6dc5adcc84477cf08df3a9b6437ca389e842 100644
--- a/modules/demux/rawaud.c
+++ b/modules/demux/rawaud.c
@@ -62,7 +62,6 @@ vlc_module_begin();
     set_shortname( "Raw Audio" );
     set_description( N_("Raw audio demuxer") );
     set_capability( "demux", 0 );
-    set_category( CAT_INPUT );
     set_subcategory( SUBCAT_INPUT_DEMUX );
     set_callbacks( Open, Close );
     add_shortcut( "rawaud" );
diff --git a/modules/demux/rawdv.c b/modules/demux/rawdv.c
index 71bd918f669d246e62f180580ca1c15215357b96..08f9721b7e31f65b01eb583728ae1b854a5232e3 100644
--- a/modules/demux/rawdv.c
+++ b/modules/demux/rawdv.c
@@ -49,7 +49,6 @@ vlc_module_begin ()
     set_shortname( "DV" )
     set_description( N_("DV (Digital Video) demuxer") )
     set_capability( "demux", 0 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     add_bool( "rawdv-hurry-up", false, HURRYUP_TEXT, HURRYUP_LONGTEXT )
     set_callbacks( Open, Close )
diff --git a/modules/demux/rawvid.c b/modules/demux/rawvid.c
index 57eb6bb8890e0b7d6aaac58f021555700e726786..d4bccff888544160fedf2de8cac99cc2ed2df5c7 100644
--- a/modules/demux/rawvid.c
+++ b/modules/demux/rawvid.c
@@ -62,7 +62,6 @@ vlc_module_begin ()
     set_shortname( "Raw Video" )
     set_description( N_("Raw video demuxer") )
     set_capability( "demux", 10 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_callbacks( Open, Close )
     add_shortcut( "rawvideo" )
diff --git a/modules/demux/sid.cpp b/modules/demux/sid.cpp
index de56629cd269930e12b2e2ac178a1bdbd3cf1511..e9383319851c6551a7c855789916997e1bcb445f 100644
--- a/modules/demux/sid.cpp
+++ b/modules/demux/sid.cpp
@@ -52,7 +52,6 @@ static void Close (vlc_object_t *);
 vlc_module_begin ()
     set_shortname ("sid")
     set_description ( N_("C64 sid demuxer") )
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_DEMUX)
     set_capability ("demux", 100)
     set_callbacks (Open, Close)
diff --git a/modules/demux/smf.c b/modules/demux/smf.c
index f2dae114394fcd99a8ebb3e87c913efcb28e9ae3..774f40a061edac91c20a071fa5fd863ece85ab4a 100644
--- a/modules/demux/smf.c
+++ b/modules/demux/smf.c
@@ -731,7 +731,6 @@ static void Close (vlc_object_t * p_this)
 
 vlc_module_begin ()
     set_description (N_("SMF demuxer"))
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_DEMUX)
     set_capability ("demux", 20)
     set_callbacks (Open, Close)
diff --git a/modules/demux/stl.c b/modules/demux/stl.c
index a635766872749a22e655ab20417fbd2f3273c683..94b481e282487771cf27e2c82ea4c319a1eced0e 100644
--- a/modules/demux/stl.c
+++ b/modules/demux/stl.c
@@ -40,7 +40,6 @@ static void Close(vlc_object_t *);
 
 vlc_module_begin()
     set_description(N_("EBU STL subtitles parser"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_DEMUX)
     set_capability("demux", 1)
     set_callbacks(Open, Close)
diff --git a/modules/demux/subtitle.c b/modules/demux/subtitle.c
index 4f4c2d05876644caae8657f2753fcb7e298b660c..2aafe01380d0da6baefef226bb659f7a928f1f58 100644
--- a/modules/demux/subtitle.c
+++ b/modules/demux/subtitle.c
@@ -63,7 +63,6 @@ vlc_module_begin ()
     set_shortname( N_("Subtitles"))
     set_description( N_("Text subtitle parser") )
     set_capability( "demux", 0 )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     add_string( "sub-type", "auto", N_("Subtitle format"),
                 SUB_TYPE_LONGTEXT )
diff --git a/modules/demux/tta.c b/modules/demux/tta.c
index 81c162cd254caa9715ceb218355862c1eda1f2a8..d348d6f473c3fe8be98b9ba31e30036acab87fc1 100644
--- a/modules/demux/tta.c
+++ b/modules/demux/tta.c
@@ -43,7 +43,6 @@ static void Close ( vlc_object_t * );
 vlc_module_begin ()
     set_shortname( "TTA" )
     set_description( N_("TTA demuxer") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability( "demux", 145 )
 
diff --git a/modules/demux/ty.c b/modules/demux/ty.c
index dd196111254810f4ced27f113fbae635f4de7951..7acb53fca8cf3d0d862e05bddcaf1a06ef40e209 100644
--- a/modules/demux/ty.c
+++ b/modules/demux/ty.c
@@ -61,7 +61,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin ()
     set_shortname( N_("TY") )
     set_description(N_("TY Stream audio/video demux"))
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability("demux", 6)
     /* FIXME: there seems to be a segfault when using PVR access
diff --git a/modules/demux/vc1.c b/modules/demux/vc1.c
index dcdf2092092b36561e29fe6fcada05d939ff78df..1a9bf0bde31c94da6a5bd4e4b5b5295e4f1fa489 100644
--- a/modules/demux/vc1.c
+++ b/modules/demux/vc1.c
@@ -44,7 +44,6 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin ()
     set_shortname( "VC-1")
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_("VC1 video demuxer" ) )
     set_capability( "demux", 0 )
diff --git a/modules/demux/vobsub.c b/modules/demux/vobsub.c
index 157264612b8808e822f5b2319b4bf4f1b5611d9e..9b9e1bd81abb3f5b99a94495f1f649b1e6e500cc 100644
--- a/modules/demux/vobsub.c
+++ b/modules/demux/vobsub.c
@@ -48,7 +48,6 @@ static void Close( vlc_object_t *p_this );
 
 vlc_module_begin ()
     set_description( N_("Vobsub subtitles parser") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability( "demux", 1 )
 
diff --git a/modules/demux/voc.c b/modules/demux/voc.c
index 106303c3c2e8f30a9678a1e4720c303e0ef32cac..1a113e6c86d1025259515617b565a3ad9da66905 100644
--- a/modules/demux/voc.c
+++ b/modules/demux/voc.c
@@ -41,7 +41,6 @@ static int  Open ( vlc_object_t * );
 
 vlc_module_begin ()
     set_description( N_("VOC demuxer") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability( "demux", 10 )
     set_callback( Open )
diff --git a/modules/demux/wav.c b/modules/demux/wav.c
index 4b0623412f86764a35352bd0a729744e998182e4..3c11d37f6d2791e2226a456d338c00520a24a75a 100644
--- a/modules/demux/wav.c
+++ b/modules/demux/wav.c
@@ -718,7 +718,6 @@ error:
 
 vlc_module_begin ()
     set_description( N_("WAV demuxer") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability( "demux", 142 )
     set_callbacks( Open, Close )
diff --git a/modules/demux/xa.c b/modules/demux/xa.c
index 21e050b71873ae773159503104d0c1c2bd5e14fd..2dd64d0d01fe60fafc106404647be377dfda81a1 100644
--- a/modules/demux/xa.c
+++ b/modules/demux/xa.c
@@ -40,7 +40,6 @@ static int  Open ( vlc_object_t * );
 
 vlc_module_begin ()
     set_description( N_("XA demuxer") )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_capability( "demux", 10 )
     set_callback( Open )
diff --git a/modules/demux/ytdl.c b/modules/demux/ytdl.c
index 88d08526fa341ae712cebaa6604d58205b65babb..16e2371dd1d336a9a43c690b5e72813e20039a04 100644
--- a/modules/demux/ytdl.c
+++ b/modules/demux/ytdl.c
@@ -435,7 +435,6 @@ static int OpenFilter(vlc_object_t *obj)
 vlc_module_begin()
     set_shortname("YT-DL")
     set_description("YT-DL extractor")
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_STREAM_FILTER)
     set_capability("demux", 5)
     set_callbacks(OpenFilter, Close)
diff --git a/modules/gui/macosx/main/macosx.m b/modules/gui/macosx/main/macosx.m
index c785c141ded862562f5b0f2da84b3a07da9cf341..a2953091c35127157d9ff27d0f84aeeef87ebb42 100644
--- a/modules/gui/macosx/main/macosx.m
+++ b/modules/gui/macosx/main/macosx.m
@@ -135,7 +135,6 @@ vlc_module_begin()
     set_description(N_("Mac OS X interface"))
     set_capability("interface", 200)
     set_callbacks(OpenIntf, CloseIntf)
-    set_category(CAT_INTERFACE)
     set_subcategory(SUBCAT_INTERFACE_MAIN)
     cannot_unload_broken_library()
 
diff --git a/modules/gui/minimal_macosx/macosx.c b/modules/gui/minimal_macosx/macosx.c
index 0b31f7c66aed501eec085fe2ce5caf4ef6d4672a..80038b687f6b17b566b3ea8bab99075bc3f3b5a2 100644
--- a/modules/gui/minimal_macosx/macosx.c
+++ b/modules/gui/minimal_macosx/macosx.c
@@ -55,7 +55,6 @@ vlc_module_begin ()
     set_description( N_("Minimal Mac OS X interface") )
     set_capability( "interface", 50 )
     set_callbacks( OpenIntf, CloseIntf )
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_MAIN )
 
     add_submodule ()
diff --git a/modules/gui/ncurses.c b/modules/gui/ncurses.c
index 5c95073fb38e6118eefd149b9c631c66bfecf8df..021b857f0df278f478020e33dd30f6c052576673 100644
--- a/modules/gui/ncurses.c
+++ b/modules/gui/ncurses.c
@@ -79,7 +79,6 @@ vlc_module_begin ()
     set_shortname("Ncurses")
     set_description(N_("Ncurses interface"))
     set_capability("interface", 10)
-    set_category(CAT_INTERFACE)
     set_subcategory(SUBCAT_INTERFACE_MAIN)
     set_callbacks(Open, Close)
     add_shortcut("curses")
diff --git a/modules/gui/qt/qt.cpp b/modules/gui/qt/qt.cpp
index e72bbfde3182875caf35130bd3dc8f47b30accbb..5d78c025e35b30c5d50e8f3261e57eb7b7796c21 100644
--- a/modules/gui/qt/qt.cpp
+++ b/modules/gui/qt/qt.cpp
@@ -290,7 +290,6 @@ static const char *const compositor_user[] = {
 vlc_module_begin ()
     set_shortname( "Qt" )
     set_description( N_("Qt interface") )
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_MAIN )
     set_capability( "interface", 151 )
     set_callbacks( OpenIntf, Close )
diff --git a/modules/gui/skins2/src/skin_main.cpp b/modules/gui/skins2/src/skin_main.cpp
index 7134fa83ec7562bc34c94448de43198918392df5..35d536cd484283b506ce87ea6c6e7776249d7b72 100644
--- a/modules/gui/skins2/src/skin_main.cpp
+++ b/modules/gui/skins2/src/skin_main.cpp
@@ -475,7 +475,6 @@ static void WindowClose( vout_window_t *pWnd )
     " to play back video even though no video tag is implemented")
 
 vlc_module_begin ()
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_MAIN )
     add_loadfile("skins2-last", "", SKINS2_LAST, SKINS2_LAST_LONG)
     add_string( "skins2-config", "", SKINS2_CONFIG, SKINS2_CONFIG_LONG )
diff --git a/modules/hw/d3d11/d3d11_filters.c b/modules/hw/d3d11/d3d11_filters.c
index a3b808bc28e55104a17a02d1855c2b672315f628..613f9b71ebcc82c751edf004278b601ff1b1272c 100644
--- a/modules/hw/d3d11/d3d11_filters.c
+++ b/modules/hw/d3d11/d3d11_filters.c
@@ -565,7 +565,6 @@ error:
 
 vlc_module_begin()
     set_description(N_("Direct3D11 adjust filter"))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     set_callback_video_filter(D3D11OpenAdjust)
     add_shortcut( "adjust" )
diff --git a/modules/hw/d3d9/d3d9_filters.c b/modules/hw/d3d9/d3d9_filters.c
index 579985186027b9b6d76aa4c7d7a08704026dfef3..6577ca13a1742c4f57d094886c6442d9be194bdb 100644
--- a/modules/hw/d3d9/d3d9_filters.c
+++ b/modules/hw/d3d9/d3d9_filters.c
@@ -487,7 +487,6 @@ error:
 
 vlc_module_begin()
     set_description(N_("Direct3D9 adjust filter"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     set_callback_video_filter(D3D9OpenAdjust)
     add_shortcut( "adjust" )
diff --git a/modules/hw/mmal/codec.c b/modules/hw/mmal/codec.c
index ea36d1060a03dff763e081e217681bdfa4500fbe..de919aad300c3d50235c74ad34fe96f6916bd602 100644
--- a/modules/hw/mmal/codec.c
+++ b/modules/hw/mmal/codec.c
@@ -48,7 +48,6 @@ static int OpenDecoder(vlc_object_t *);
 static void CloseDecoder(vlc_object_t *);
 
 vlc_module_begin()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_VCODEC )
     set_shortname(N_("MMAL decoder"))
     set_description(N_("MMAL-based decoder plugin for Raspberry Pi"))
diff --git a/modules/hw/mmal/converter.c b/modules/hw/mmal/converter.c
index 3842e87f7ff6dff114780aa691b4fe444aa2f35a..d7a70594feeb1980bb84cc25c4847d5fc9366851 100644
--- a/modules/hw/mmal/converter.c
+++ b/modules/hw/mmal/converter.c
@@ -64,7 +64,6 @@ static const char * const  ppsz_converter_text[] = {
 static int OpenConverter(filter_t *);
 
 vlc_module_begin()
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     set_shortname(N_("MMAL resizer"))
     set_description(N_("MMAL resizing conversion filter"))
diff --git a/modules/hw/mmal/deinterlace.c b/modules/hw/mmal/deinterlace.c
index 87f7a25c243505e2b4e62d6de321ad6447a349be..68304717e91d3cbabd4904916dca1182bef5e423 100644
--- a/modules/hw/mmal/deinterlace.c
+++ b/modules/hw/mmal/deinterlace.c
@@ -65,7 +65,6 @@ static int OpenMmalDeinterlace(filter_t *);
 vlc_module_begin()
     set_shortname(N_("MMAL deinterlace"))
     set_description(N_("MMAL-based deinterlace filter plugin"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     set_deinterlace_callback(OpenMmalDeinterlace)
     add_bool(MMAL_DEINTERLACE_NO_QPU, false, MMAL_DEINTERLACE_NO_QPU_TEXT,
diff --git a/modules/hw/mmal/vout.c b/modules/hw/mmal/vout.c
index 90ed9b4f9a7693e5446418a38797d84343255f1f..c00266ee6cf4f668321aa9487f0e8787f2d94529 100644
--- a/modules/hw/mmal/vout.c
+++ b/modules/hw/mmal/vout.c
@@ -72,7 +72,6 @@ vlc_module_begin()
     set_shortname(N_("MMAL vout"))
     set_description(N_("MMAL-based vout plugin for Raspberry Pi"))
     add_shortcut("mmal_vout")
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VOUT )
 
     add_integer(MMAL_LAYER_NAME, 1, MMAL_LAYER_TEXT, MMAL_LAYER_LONGTEXT)
diff --git a/modules/hw/nvdec/chroma.c b/modules/hw/nvdec/chroma.c
index 1cc647c0a1c853540d27989f6372fcab51e3da66..67db054a24d2cbe4d1a68071f6153cb208fad16e 100644
--- a/modules/hw/nvdec/chroma.c
+++ b/modules/hw/nvdec/chroma.c
@@ -36,7 +36,6 @@ static int OpenCUDAToCPU( filter_t * );
 vlc_module_begin()
     set_shortname(N_("CUDA converter"))
     set_description(N_("CUDA/NVDEC Chroma Converter filter"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     set_callback_video_converter(OpenCUDAToCPU, 10)
 vlc_module_end()
diff --git a/modules/hw/nvdec/nvdec.c b/modules/hw/nvdec/nvdec.c
index 5b9087ce4ca751d04e0d337ea5a756e39babd8fb..a4ab2388a497dcbeb6f289a5e850157cb384d715 100644
--- a/modules/hw/nvdec/nvdec.c
+++ b/modules/hw/nvdec/nvdec.c
@@ -61,7 +61,6 @@ vlc_module_begin ()
     set_description(N_("NVDEC video decoder"))
     set_shortname("nvdec")
     set_capability("video decoder", 60)
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     add_integer( "nvdec-deint", cudaVideoDeinterlaceMode_Bob,
                  DEINTERLACE_MODULE_TEXT, DEINTERLACE_MODULE_LONGTEXT )
diff --git a/modules/hw/nvdec/nvdec_gl.c b/modules/hw/nvdec/nvdec_gl.c
index 16e456781792dea784929ba6683174f887d65c4a..c7fa33e6376bd3e0169f0865666f479f6cb1756d 100644
--- a/modules/hw/nvdec/nvdec_gl.c
+++ b/modules/hw/nvdec/nvdec_gl.c
@@ -49,7 +49,6 @@ vlc_module_begin ()
     set_description("NVDEC OpenGL surface converter")
     set_capability("glinterop", 2)
     set_callbacks(Open, Close)
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     add_shortcut("nvdec")
 vlc_module_end ()
diff --git a/modules/hw/vaapi/decoder_device.c b/modules/hw/vaapi/decoder_device.c
index bde1e62115266d63a0e4730197bdc27891dfffd8..4bfb518264563b30d0ea11ce401e128e87d9426e 100644
--- a/modules/hw/vaapi/decoder_device.c
+++ b/modules/hw/vaapi/decoder_device.c
@@ -265,7 +265,6 @@ Open(vlc_decoder_device *device, vout_window_t *window)
 vlc_module_begin ()
     set_description("VA-API decoder device for " DESCRIPTION_SUFFIX)
     set_callback_dec_device(Open, PRIORITY)
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     add_shortcut("vaapi", SHORTCUT)
 vlc_module_end ()
diff --git a/modules/hw/vaapi/filters.c b/modules/hw/vaapi/filters.c
index f62af498ac916a8283d60eabb80df0dddbcde666..d02e9cb535045cdc218e38c4a9d0084790108086 100644
--- a/modules/hw/vaapi/filters.c
+++ b/modules/hw/vaapi/filters.c
@@ -1129,7 +1129,6 @@ error:
 vlc_module_begin()
     set_shortname(N_("VAAPI filters"))
     set_description(N_("Video Accelerated API filters"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
 
     add_submodule()
diff --git a/modules/hw/vdpau/adjust.c b/modules/hw/vdpau/adjust.c
index 8703bb27f7fcc348f290c128a74a2b653c02c55b..ce9618b2aed2ee7ca44138b0659be092468865fa 100644
--- a/modules/hw/vdpau/adjust.c
+++ b/modules/hw/vdpau/adjust.c
@@ -203,7 +203,6 @@ static int Open(filter_t *filter)
 
 vlc_module_begin()
     set_description(N_("VDPAU adjust video filter"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     add_shortcut("adjust")
     set_callback_video_filter(Open)
diff --git a/modules/hw/vdpau/avcodec.c b/modules/hw/vdpau/avcodec.c
index 51a4d21a564d5bb24689fc011f522915c3439bed..c92906906f200bea2d6cb2ac47894fe69ed7c9ca 100644
--- a/modules/hw/vdpau/avcodec.c
+++ b/modules/hw/vdpau/avcodec.c
@@ -273,7 +273,6 @@ error:
 
 vlc_module_begin()
     set_description(N_("VDPAU video decoder"))
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_VCODEC)
     set_va_callback(Open, 100)
     add_shortcut("vdpau")
diff --git a/modules/hw/vdpau/chroma.c b/modules/hw/vdpau/chroma.c
index 83733fb474375e4acb70d7d9db054691ebba64df..0cdd85303332913a1e964b9f5d38c67a19b8c945 100644
--- a/modules/hw/vdpau/chroma.c
+++ b/modules/hw/vdpau/chroma.c
@@ -934,7 +934,6 @@ static const char *const algo_names[] = {
 vlc_module_begin()
     set_shortname(N_("VDPAU"))
     set_description(N_("VDPAU surface conversions"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     set_callback_video_converter(OutputOpen, 10)
 
diff --git a/modules/hw/vdpau/deinterlace.c b/modules/hw/vdpau/deinterlace.c
index 842110c87aad7c322efb3190725c45e0c96668cc..ef8db2d177929f69f63f54c4b6230396ac01fd8a 100644
--- a/modules/hw/vdpau/deinterlace.c
+++ b/modules/hw/vdpau/deinterlace.c
@@ -142,7 +142,6 @@ static int Open(filter_t *filter)
 
 vlc_module_begin()
     set_description(N_("VDPAU deinterlacing filter"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     set_deinterlace_callback(Open)
 vlc_module_end()
diff --git a/modules/hw/vdpau/display.c b/modules/hw/vdpau/display.c
index 333f2529953bc5bb6f3520574fa4e68b7e060ef5..da9c65e1fdb1fd55519b46a7258ea118b5d3824b 100644
--- a/modules/hw/vdpau/display.c
+++ b/modules/hw/vdpau/display.c
@@ -43,7 +43,6 @@ static void Close(vout_display_t *vd);
 vlc_module_begin()
     set_shortname(N_("VDPAU"))
     set_description(N_("VDPAU output"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_callback_display(Open, 0)
 
diff --git a/modules/hw/vdpau/sharpen.c b/modules/hw/vdpau/sharpen.c
index ea893aee0729809cfff6997bddcf4b53db5b3659..7ec448805179ca1a2a35a21d9190c319992652df 100644
--- a/modules/hw/vdpau/sharpen.c
+++ b/modules/hw/vdpau/sharpen.c
@@ -150,7 +150,6 @@ static int Open(filter_t *filter)
 
 vlc_module_begin()
     set_description(N_("VDPAU sharpen video filter"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     add_shortcut("sharpen")
     set_callback_video_filter(Open)
diff --git a/modules/keystore/file.c b/modules/keystore/file.c
index b60718558361509905378269998e482ebd7a4a61..2bbabb19da3c5e52e8852d727ba6214ffc96231b 100644
--- a/modules/keystore/file.c
+++ b/modules/keystore/file.c
@@ -52,7 +52,6 @@ static void CloseCrypt(vlc_object_t *);
 vlc_module_begin()
     set_shortname(N_("File keystore (plaintext)"))
     set_description(N_("Secrets are stored on a file without any encryption"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_callbacks(Open, Close)
     add_savefile("keystore-file", NULL, NULL, NULL)
@@ -63,7 +62,6 @@ vlc_module_begin()
     add_submodule()
         set_shortname(N_("Crypt keystore"))
         set_description(N_("Secrets are stored encrypted on a file"))
-        set_category(CAT_ADVANCED)
         set_subcategory(SUBCAT_ADVANCED_MISC)
         set_callbacks(OpenCrypt, CloseCrypt)
         set_capability("keystore", 1)
diff --git a/modules/keystore/keychain.m b/modules/keystore/keychain.m
index a5ef5f873715568d1598be638b48bc866b172ea8..f7765e59422838a894cc916eea06b5193f4bff1f 100644
--- a/modules/keystore/keychain.m
+++ b/modules/keystore/keychain.m
@@ -72,7 +72,6 @@ static const char *const accessibility_list_text[] = {
 vlc_module_begin()
     set_shortname(N_("Keychain keystore"))
     set_description(N_("Keystore for iOS, macOS and tvOS"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     add_integer("keychain-synchronize", 1, SYNC_ITEMS_TEXT, SYNC_ITEMS_LONGTEXT)
     change_integer_list(sync_list, sync_list_text)
diff --git a/modules/keystore/kwallet.c b/modules/keystore/kwallet.c
index 98707ee2479657be322461230d0214723c4d822d..0aea93671b9dc6577b5ba2794aabbdaf1a58e0f6 100644
--- a/modules/keystore/kwallet.c
+++ b/modules/keystore/kwallet.c
@@ -47,7 +47,6 @@ static void Close( vlc_object_t * );
 vlc_module_begin()
     set_shortname( N_("KWallet keystore") )
     set_description( N_("Secrets are stored via KWallet") )
-    set_category( CAT_ADVANCED )
     set_subcategory( SUBCAT_ADVANCED_MISC )
     set_capability( "keystore", 100 )
     set_callbacks( Open, Close )
diff --git a/modules/keystore/memory.c b/modules/keystore/memory.c
index 7981bc7ffc5f845b9ca0bccdd266164e4973ccf2..dc0b563bc1e93147e8a29b7017ea610c5277f7c8 100644
--- a/modules/keystore/memory.c
+++ b/modules/keystore/memory.c
@@ -39,7 +39,6 @@ static void Close(vlc_object_t *);
 vlc_module_begin()
     set_shortname(N_("Memory keystore"))
     set_description(N_("Secrets are stored in memory"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("keystore", 0)
     set_callbacks(Open, Close)
diff --git a/modules/keystore/secret.c b/modules/keystore/secret.c
index c590af7dc97eaada0edb7327678078458eee3301..13a0b5f67531eb5487a409c8ab9e5531ea76878b 100644
--- a/modules/keystore/secret.c
+++ b/modules/keystore/secret.c
@@ -38,7 +38,6 @@ static void Close(vlc_object_t *);
 vlc_module_begin()
     set_shortname(N_("libsecret keystore"))
     set_description(N_("Secrets are stored via libsecret"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("keystore", 100)
     set_callbacks(Open, Close)
diff --git a/modules/logger/android.c b/modules/logger/android.c
index c5ddd5cdce60941ef9c116de4157673fffb55fce..37e6c0982bbad3bddcc13278857a6e0bd05c83ea 100644
--- a/modules/logger/android.c
+++ b/modules/logger/android.c
@@ -86,7 +86,6 @@ static const struct vlc_logger_operations *Open(vlc_object_t *obj, void **sysp)
 vlc_module_begin()
     set_shortname(N_("Android log"))
     set_description(N_("Android log using logcat"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("logger", 30)
     set_callback(Open)
diff --git a/modules/logger/console.c b/modules/logger/console.c
index d611dd84656d2da060e72a052e42c1df10acbc1a..2030e3d59b4f2808482003926aea5bb4acb6b7a8 100644
--- a/modules/logger/console.c
+++ b/modules/logger/console.c
@@ -167,7 +167,6 @@ static const struct vlc_logger_operations *Open(vlc_object_t *obj,
 vlc_module_begin()
     set_shortname(N_("Console log"))
     set_description(N_("Console logger"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("logger", 10)
     set_callback(Open)
diff --git a/modules/logger/file.c b/modules/logger/file.c
index cd440c6de725e85fd52ed23ba382fffc9fd42633..cd787c53687733de9ec42403f0a9196f3be5b3e8 100644
--- a/modules/logger/file.c
+++ b/modules/logger/file.c
@@ -231,7 +231,6 @@ static const char *const verbosity_text[] = { N_("Default"), N_("Info"), N_("Err
 vlc_module_begin()
     set_shortname(N_("Logger"))
     set_description(N_("File logger"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("logger", 15)
     set_callback(Open)
diff --git a/modules/logger/journal.c b/modules/logger/journal.c
index f28c57892dec8a91370cb8acf1b6c683f030e522..48e5cf57891ee2b10b2ba7552b7ebe1227c8a191 100644
--- a/modules/logger/journal.c
+++ b/modules/logger/journal.c
@@ -78,7 +78,6 @@ static const struct vlc_logger_operations *Open(vlc_object_t *obj, void **sysp)
 vlc_module_begin()
     set_shortname(N_("Journal"))
     set_description(N_("SystemD journal logger"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("logger", 30)
     set_callback(Open)
diff --git a/modules/logger/json.c b/modules/logger/json.c
index 4f638964407512f1175e6ce5c04bddeddcd012d4..888be4289dcc002871ef9b356132a6115a029af2 100644
--- a/modules/logger/json.c
+++ b/modules/logger/json.c
@@ -261,7 +261,6 @@ static const struct vlc_tracer_operations *Open(vlc_object_t *obj,
 vlc_module_begin()
     set_shortname(N_("Tracer"))
     set_description(N_("JSON tracer"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("tracer", 0)
     set_callback(Open)
diff --git a/modules/logger/syslog.c b/modules/logger/syslog.c
index 5f34dd95350591e1b804c97dc4aedc4b2211a19c..1a41bb2322022624d668e3e0060a3d84197367b2 100644
--- a/modules/logger/syslog.c
+++ b/modules/logger/syslog.c
@@ -153,7 +153,6 @@ static const struct vlc_logger_operations *Open(vlc_object_t *obj,
 vlc_module_begin()
     set_shortname(N_( "syslog" ))
     set_description(N_("System logger (syslog)"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("logger", 20)
     set_callback(Open)
diff --git a/modules/lua/vlc.c b/modules/lua/vlc.c
index f20f931f1895d7939a67b3550eb0f38c0bb3297d..1271d570f89414ae45272f437bafd3eb03741090 100644
--- a/modules/lua/vlc.c
+++ b/modules/lua/vlc.c
@@ -77,7 +77,6 @@ static int vlc_sd_probe_Open( vlc_object_t * );
 vlc_module_begin ()
         set_shortname( N_("Lua") )
         set_description( N_("Lua interpreter") )
-        set_category( CAT_INTERFACE )
         set_subcategory( SUBCAT_INTERFACE_MAIN )
 
         add_bool( "lua", true, LUA_TEXT, NULL );
diff --git a/modules/meta_engine/folder.c b/modules/meta_engine/folder.c
index 9d7e72b3f11afb3c64c9e6f8c1299b5200b676e7..58150cf543bf4079460fdd464f8f19e01c91dd24 100644
--- a/modules/meta_engine/folder.c
+++ b/modules/meta_engine/folder.c
@@ -66,7 +66,6 @@ static int FindMeta( vlc_object_t * );
 vlc_module_begin ()
     set_shortname( N_( "Folder" ) )
     set_description( N_("Folder meta data") )
-    set_category( CAT_PLAYLIST )
     set_subcategory( SUBCAT_PLAYLIST_GENERAL )
     add_loadfile("album-art-filename", NULL, N_("Album art filename"),
                  N_("Filename to look for album art in current directory"))
diff --git a/modules/misc/addons/fsstorage.c b/modules/misc/addons/fsstorage.c
index b76bff7186a8a3b6c05a3048ca46917ad4b3b5ff..40c3c0e3cc25fdae798b3a41296216df57ff58ee 100644
--- a/modules/misc/addons/fsstorage.c
+++ b/modules/misc/addons/fsstorage.c
@@ -78,7 +78,6 @@ static bool  FileBelongsToManagedAddon( addons_finder_t *p_finder,
  ****************************************************************************/
 
 vlc_module_begin ()
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_shortname(N_("addons local storage"))
     add_shortcut("addons.store.install")
@@ -87,7 +86,6 @@ vlc_module_begin ()
     set_callbacks(OpenStorage, CloseStorage)
 
 add_submodule ()
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     add_shortcut("addons.store.list")
     set_description( N_("Addons local storage lister") )
diff --git a/modules/misc/addons/vorepository.c b/modules/misc/addons/vorepository.c
index 06f02ce2399aa2a7636ba1a417a6014fd6ea239b..694c0cd5958c715f6c747dfbd29ca8e36cc8f25a 100644
--- a/modules/misc/addons/vorepository.c
+++ b/modules/misc/addons/vorepository.c
@@ -57,7 +57,6 @@ static int   FindDesignated ( addons_finder_t *p_finder );
  ****************************************************************************/
 
 vlc_module_begin ()
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_shortname(N_("Videolan.org's addons finder"))
     add_shortcut(ADDONS_MODULE_SHORTCUT)
@@ -65,7 +64,6 @@ vlc_module_begin ()
     set_capability("addons finder", 100)
     set_callbacks(Open, Close)
 add_submodule ()
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_shortname(N_("Videolan.org's single archive addons finder"))
     add_shortcut(ADDONS_MODULE_SHORTCUT".vlp")
diff --git a/modules/misc/audioscrobbler.c b/modules/misc/audioscrobbler.c
index 985b08ae590064df6c3c9e5ee7ae477ec5b47291..3da9b372fcf0e6779d642e1d3cf29df92f443b27 100644
--- a/modules/misc/audioscrobbler.c
+++ b/modules/misc/audioscrobbler.c
@@ -129,7 +129,6 @@ static void *Run            (void *);
 #define CLIENT_VERSION  VERSION
 
 vlc_module_begin ()
-    set_category(CAT_INTERFACE)
     set_subcategory(SUBCAT_INTERFACE_CONTROL)
     set_shortname(N_("Audioscrobbler"))
     set_description(N_("Submission of played songs to last.fm"))
diff --git a/modules/misc/fingerprinter.c b/modules/misc/fingerprinter.c
index 3b51e5b23b2453b77e6e3a0c714b04b36e010495..dcda08f693c790a1afa671e541271fae8c14da3a 100644
--- a/modules/misc/fingerprinter.c
+++ b/modules/misc/fingerprinter.c
@@ -73,7 +73,6 @@ static void *Run(void *);
  * Module descriptor
  ****************************************************************************/
 vlc_module_begin ()
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_shortname(N_("acoustid"))
     set_description(N_("Track fingerprinter (based on Acoustid)"))
diff --git a/modules/misc/gnutls.c b/modules/misc/gnutls.c
index a51cfc775d56c10c6a784e0a7685037de3b62f3b..44d45df71138b5058ecb66f1e7aa204883c18e47 100644
--- a/modules/misc/gnutls.c
+++ b/modules/misc/gnutls.c
@@ -754,7 +754,6 @@ vlc_module_begin ()
     set_description( N_("GNU TLS transport layer security") )
     set_capability( "tls client", 1 )
     set_callback(OpenClient)
-    set_category( CAT_ADVANCED )
     set_subcategory( SUBCAT_ADVANCED_NETWORK )
     add_bool("gnutls-system-trust", true, SYSTEM_TRUST_TEXT,
              SYSTEM_TRUST_LONGTEXT)
@@ -767,7 +766,6 @@ vlc_module_begin ()
     add_submodule ()
         set_description( N_("GNU TLS server") )
         set_capability( "tls server", 1 )
-        set_category( CAT_ADVANCED )
         set_subcategory( SUBCAT_ADVANCED_NETWORK )
         set_callback(OpenServer)
 #endif
diff --git a/modules/misc/inhibit/dbus.c b/modules/misc/inhibit/dbus.c
index 15a324acc30d5f544a3a170fee24ac02afe15a8e..7b34576574aaa481f86160bf3222fb04cf822ec3 100644
--- a/modules/misc/inhibit/dbus.c
+++ b/modules/misc/inhibit/dbus.c
@@ -232,7 +232,6 @@ static void Close (vlc_object_t *obj)
 vlc_module_begin ()
     set_shortname (N_("D-Bus screensaver"))
     set_description (N_("D-Bus screen saver inhibition"))
-    set_category (CAT_ADVANCED)
     set_subcategory (SUBCAT_ADVANCED_MISC)
     set_capability ("inhibit", 20)
     set_callbacks (Open, Close)
diff --git a/modules/misc/inhibit/iokit-inhibit.c b/modules/misc/inhibit/iokit-inhibit.c
index a361fe8bcb6e9f493add8d2921c5fd62c63eb070..b0c9fc9324ee1bd47e4f5c2ec5941fae1b5c88ae 100644
--- a/modules/misc/inhibit/iokit-inhibit.c
+++ b/modules/misc/inhibit/iokit-inhibit.c
@@ -153,7 +153,6 @@ static void CloseInhibit(vlc_object_t *obj)
 vlc_module_begin()
     set_shortname(N_("macOS sleep inhibition"))
     set_description(N_("macOS screen and idle sleep inhibition"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("inhibit", 10)
     set_callbacks(OpenInhibit, CloseInhibit)
diff --git a/modules/misc/inhibit/uikit-inhibit.m b/modules/misc/inhibit/uikit-inhibit.m
index e8e516deb6d1417f0e08852cf859482e8fd91e91..713ae8d89b7ce12d16049dddc8fdbb4da2d2a93b 100644
--- a/modules/misc/inhibit/uikit-inhibit.m
+++ b/modules/misc/inhibit/uikit-inhibit.m
@@ -62,7 +62,6 @@ static int OpenInhibit(vlc_object_t *obj)
 vlc_module_begin()
     set_shortname("UIKit sleep inhibition")
     set_description("UIKit screen sleep inhibition for iOS and tvOS")
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("inhibit", 10)
     set_callback(OpenInhibit)
diff --git a/modules/misc/inhibit/wl-idle-inhibit.c b/modules/misc/inhibit/wl-idle-inhibit.c
index 9e51f8f9173b961442d058f00c39128b3c426696..0e1d6219153b8319d6e4de1c675cc61ce627bf4f 100644
--- a/modules/misc/inhibit/wl-idle-inhibit.c
+++ b/modules/misc/inhibit/wl-idle-inhibit.c
@@ -145,7 +145,6 @@ static void Close(vlc_object_t *obj)
 vlc_module_begin()
     set_shortname(N_("WL idle"))
     set_description(N_("Wayland idle inhibitor"))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("inhibit", 30)
     set_callbacks(Open, Close)
diff --git a/modules/misc/inhibit/xdg.c b/modules/misc/inhibit/xdg.c
index 016d01439414c85dd66dcbf13989e44d1617e8b1..b7b79eaa6447fd70d1f7d36e8644ec3e7bf91dcc 100644
--- a/modules/misc/inhibit/xdg.c
+++ b/modules/misc/inhibit/xdg.c
@@ -35,7 +35,6 @@ vlc_module_begin ()
     set_description (N_("XDG screen saver inhibition") )
     set_capability ("inhibit", 10 )
     set_callbacks (Open, Close)
-    set_category (CAT_ADVANCED)
     set_subcategory (SUBCAT_ADVANCED_MISC)
 vlc_module_end ()
 
diff --git a/modules/misc/medialibrary/medialibrary.cpp b/modules/misc/medialibrary/medialibrary.cpp
index 0a16ebb6ff562ca1a6ff926f59559b88f44937c1..4614785cd46c615e7500c0a5f6411c5c4e4bdd0f 100644
--- a/modules/misc/medialibrary/medialibrary.cpp
+++ b/modules/misc/medialibrary/medialibrary.cpp
@@ -2008,7 +2008,6 @@ static void Close( vlc_object_t* obj )
 vlc_module_begin()
     set_shortname(N_("media library"))
     set_description(N_( "Organize your media" ))
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_MISC)
     set_capability("medialibrary", 100)
     set_callbacks(Open, Close)
diff --git a/modules/misc/playlist/export.c b/modules/misc/playlist/export.c
index f812d60026131c46e00f1a2f235f51e37083601c..e2bbe18e6f8b44b66065f6e00b31266646b2ea5b 100644
--- a/modules/misc/playlist/export.c
+++ b/modules/misc/playlist/export.c
@@ -44,7 +44,6 @@ int xspf_export_playlist( vlc_object_t *p_intf );
  *****************************************************************************/
 vlc_module_begin ()
 
-    set_category( CAT_PLAYLIST )
     set_subcategory( SUBCAT_PLAYLIST_EXPORT )
     add_submodule ()
         set_description( N_("M3U playlist export") )
diff --git a/modules/misc/securetransport.c b/modules/misc/securetransport.c
index e4bb5cb9cbce196f6644857628c54279ef1a8f23..ccfed2035a365117de26c651af4237edf3cd5bf1 100644
--- a/modules/misc/securetransport.c
+++ b/modules/misc/securetransport.c
@@ -96,7 +96,6 @@ vlc_module_begin ()
     set_description(N_("TLS support for OS X and iOS"))
     set_capability("tls client", 2)
     set_callback(OpenClient)
-    set_category(CAT_ADVANCED)
     set_subcategory(SUBCAT_ADVANCED_NETWORK)
 
     /*
@@ -109,7 +108,6 @@ vlc_module_begin ()
         set_description(N_("TLS server support for OS X"))
         set_capability("tls server", 2)
         set_callback(OpenServer)
-        set_category(CAT_ADVANCED)
         set_subcategory(SUBCAT_ADVANCED_NETWORK)
 #endif /* !TARGET_OS_IPHONE */
 
diff --git a/modules/mux/asf.c b/modules/mux/asf.c
index c1ae51d3e764736f0e99054bbff867a69b285447..250b18e3d12592d794f174d30f963895083d9509 100644
--- a/modules/mux/asf.c
+++ b/modules/mux/asf.c
@@ -69,7 +69,6 @@ static void Close  ( vlc_object_t * );
 
 vlc_module_begin ()
     set_description( N_("ASF muxer") )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_MUX )
     set_shortname( "ASF" )
 
diff --git a/modules/mux/avi.c b/modules/mux/avi.c
index 3617803d7e3c0e5dfd4a5e9cc12fa11f3e54c063..32300d67a0b2a01eaa2e82f455e6f4b1601247f7 100644
--- a/modules/mux/avi.c
+++ b/modules/mux/avi.c
@@ -58,7 +58,6 @@ static void Close  ( vlc_object_t * );
 
 vlc_module_begin ()
     set_description( N_("AVI muxer") )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_MUX )
     set_capability( "sout mux", 5 )
     add_shortcut( "avi" )
diff --git a/modules/mux/dummy.c b/modules/mux/dummy.c
index d9600f41e97d59d1c4b849e52c932b027a2ae786..9c9122a1721ae214d10520154c1ea91ec837cb3a 100644
--- a/modules/mux/dummy.c
+++ b/modules/mux/dummy.c
@@ -43,7 +43,6 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("Dummy/Raw muxer") )
     set_capability( "sout mux", 5 )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_MUX )
     add_shortcut( "dummy", "raw", "es" )
     set_callbacks( Open, Close )
diff --git a/modules/mux/mp4/mp4.c b/modules/mux/mp4/mp4.c
index 6f3ac40fa70353cd1c57fca1525b6ab24e5bf7db..cf20750fdbbcdf9727dcbfca6b828dccee32b1f4 100644
--- a/modules/mux/mp4/mp4.c
+++ b/modules/mux/mp4/mp4.c
@@ -62,7 +62,6 @@ static void CloseFrag  (vlc_object_t *);
 
 vlc_module_begin ()
     set_description(N_("MP4/MOV muxer"))
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_MUX)
     set_shortname("MP4")
 
@@ -74,7 +73,6 @@ vlc_module_begin ()
 
 add_submodule ()
     set_description(N_("Fragmented and streamable MP4 muxer"))
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_MUX)
     set_shortname("MP4 Frag")
     add_shortcut("mp4frag", "mp4stream")
diff --git a/modules/mux/mpeg/ps.c b/modules/mux/mpeg/ps.c
index 3a12182015361737a780d874a74b21a2ec7a40a0..d76e86e2ff115feffd6e135a7ce1ad605a8bdb69 100644
--- a/modules/mux/mpeg/ps.c
+++ b/modules/mux/mpeg/ps.c
@@ -64,7 +64,6 @@ static void    Close  ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("PS muxer") )
     set_shortname( "MPEG-PS" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_MUX )
     set_capability( "sout mux", 50 )
     add_shortcut( "ps", "mpeg1", "dvd" )
diff --git a/modules/mux/mpeg/ts.c b/modules/mux/mpeg/ts.c
index 2ac90b928140ae70d033975e0d6340920530e059..b9939a93282317c35813bf8c9816280803919d46 100644
--- a/modules/mux/mpeg/ts.c
+++ b/modules/mux/mpeg/ts.c
@@ -193,7 +193,6 @@ static const char *const ts_standards_list_text[] =
 vlc_module_begin ()
     set_description( N_("TS muxer (libdvbpsi)") )
     set_shortname( "MPEG-TS")
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_MUX )
     set_capability( "sout mux", 120 )
     add_shortcut( "ts" )
diff --git a/modules/mux/mpjpeg.c b/modules/mux/mpjpeg.c
index 70ea28a35bdc32dd8cce34c443b092c683fe6abf..36cba6668b2e8bd0ff7955d68e74ae498e233014 100644
--- a/modules/mux/mpjpeg.c
+++ b/modules/mux/mpjpeg.c
@@ -45,7 +45,6 @@ vlc_module_begin ()
     set_shortname( "MPJPEG" )
     set_description( N_("Multipart JPEG muxer") )
     set_capability( "sout mux", 5 )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_MUX )
     set_callbacks( Open, Close )
     add_shortcut( "mpjpeg" )
diff --git a/modules/mux/ogg.c b/modules/mux/ogg.c
index 3c8261d198e7456f25bfec1cfcee0804786ab43a..0d671f23f7c487c78f795d2cb4a34d9a082fbec5 100644
--- a/modules/mux/ogg.c
+++ b/modules/mux/ogg.c
@@ -58,7 +58,6 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("Ogg/OGM muxer") )
     set_capability( "sout mux", 10 )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_MUX )
     add_shortcut( "ogg", "ogm" )
     add_integer_with_range( SOUT_CFG_PREFIX "indexintvl", 1000, 0, INT_MAX,
diff --git a/modules/mux/wav.c b/modules/mux/wav.c
index a80e916e8971ace12cbf24f71b5c35bbb84cb5bb..dc44c13e256f544ec155eb2e90a1f77b8e6c3906 100644
--- a/modules/mux/wav.c
+++ b/modules/mux/wav.c
@@ -44,7 +44,6 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin ()
     set_description( N_("WAV muxer") )
     set_capability( "sout mux", 5 )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_MUX )
     set_callbacks( Open, Close )
     add_shortcut( "wav" )
diff --git a/modules/notify/notify.c b/modules/notify/notify.c
index 5d509b294d71915af3cae8f2f6b12c32dfb1323a..14f59d97bbf4706bdda655e1ba3383bb74546bae 100644
--- a/modules/notify/notify.c
+++ b/modules/notify/notify.c
@@ -61,7 +61,6 @@ static void Close   ( vlc_object_t * );
 #define TIMEOUT_LONGTEXT N_("How long the notification will be displayed.")
 
 vlc_module_begin ()
-    set_category( CAT_INTERFACE )
     set_subcategory( SUBCAT_INTERFACE_CONTROL )
     set_shortname( N_( "Notify" ) )
     set_description( N_("LibNotify Notification Plugin") )
diff --git a/modules/notify/osx_notifications.m b/modules/notify/osx_notifications.m
index ab666d1714db9e2304f81e4aece46f0c2d417267..9e4ed25f3ce9665aa12fae9cf1403b0536c2b7b3 100644
--- a/modules/notify/osx_notifications.m
+++ b/modules/notify/osx_notifications.m
@@ -334,7 +334,6 @@ vlc_module_begin()
     set_shortname("OSX-Notifications")
     set_description(N_("macOS notifications plugin"))
     add_shortcut("growl") // Kept for backwards compatibility
-    set_category(CAT_INTERFACE)
     set_subcategory(SUBCAT_INTERFACE_CONTROL)
     set_capability("interface", 0)
     set_callbacks(Open, Close)
diff --git a/modules/packetizer/a52.c b/modules/packetizer/a52.c
index bf30edaa6122f17005c081dbf68146638d949636..1292833adb53b14cf714e7353ebad4d6dbd800ca 100644
--- a/modules/packetizer/a52.c
+++ b/modules/packetizer/a52.c
@@ -45,7 +45,6 @@ static int  Open( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_PACKETIZER)
     set_description( N_("A/52 audio packetizer") )
     set_capability( "packetizer", 10 )
diff --git a/modules/packetizer/av1.c b/modules/packetizer/av1.c
index 9782aaa3d5d25c832ace671c1e0cd9ed306fb731..9b192b8d1894699f73c010ca15b13bec55c8ebf2 100644
--- a/modules/packetizer/av1.c
+++ b/modules/packetizer/av1.c
@@ -552,7 +552,6 @@ static int Open(vlc_object_t *p_this)
  *****************************************************************************/
 
 vlc_module_begin ()
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_PACKETIZER)
     set_description(N_("AV1 video packetizer"))
     set_capability("packetizer", 50)
diff --git a/modules/packetizer/avparser.h b/modules/packetizer/avparser.h
index 320615a6914f1a66e8f88a724b0b6529fd6173b3..4b74e8ed8bc8bb0ac6a67ef87b879ac363b135e7 100644
--- a/modules/packetizer/avparser.h
+++ b/modules/packetizer/avparser.h
@@ -43,7 +43,6 @@ int  avparser_OpenPacketizer ( vlc_object_t * );
 void avparser_ClosePacketizer( vlc_object_t * );
 
 #define AVPARSER_MODULE \
-    set_category( CAT_SOUT )                            \
     set_subcategory( SUBCAT_SOUT_PACKETIZER )           \
     set_description( N_("avparser packetizer") )        \
     set_capability( "packetizer", 20 )                   \
diff --git a/modules/packetizer/copy.c b/modules/packetizer/copy.c
index 2207bc73f0d8659c57fb998883a424000d6a1a68..c66a3b519320b366159e6c3faa3a6b890be8309c 100644
--- a/modules/packetizer/copy.c
+++ b/modules/packetizer/copy.c
@@ -42,7 +42,6 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_PACKETIZER )
     set_description( N_("Copy packetizer") )
     set_capability( "packetizer", 1 )
diff --git a/modules/packetizer/dts.c b/modules/packetizer/dts.c
index 0500009d5715d21a6dbaf0ae5c669b222cee722b..0087a763e032e7a18150351fa81ad8b97b53f650 100644
--- a/modules/packetizer/dts.c
+++ b/modules/packetizer/dts.c
@@ -42,7 +42,6 @@ static int  Open( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_PACKETIZER )
     set_description( N_("DTS audio packetizer") )
     set_capability( "packetizer", 10 )
diff --git a/modules/packetizer/flac.c b/modules/packetizer/flac.c
index e7556d87b10ca3a678c14e2ae9d61b309becbed7..1f1069473e8563a7e9a2a990e1d81a3fc9766def 100644
--- a/modules/packetizer/flac.c
+++ b/modules/packetizer/flac.c
@@ -44,7 +44,6 @@ static int  Open (vlc_object_t *);
 static void Close(vlc_object_t *);
 
 vlc_module_begin()
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_PACKETIZER)
     set_description(N_("Flac audio packetizer"))
     set_capability("packetizer", 50)
diff --git a/modules/packetizer/h264.c b/modules/packetizer/h264.c
index d0dbe623d594bdcdbcf2cd4bb7bea6e47b2cf0ab..88a393a98d209533de1349dec9de03512e22a2c6 100644
--- a/modules/packetizer/h264.c
+++ b/modules/packetizer/h264.c
@@ -56,7 +56,6 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_PACKETIZER )
     set_description( N_("H.264 video packetizer") )
     set_capability( "packetizer", 50 )
diff --git a/modules/packetizer/hevc.c b/modules/packetizer/hevc.c
index 9b064a638a99e53e25612badc24f405f1bceb77c..af4bd11babcd8444559a52a094ed8e0babde93e0 100644
--- a/modules/packetizer/hevc.c
+++ b/modules/packetizer/hevc.c
@@ -51,7 +51,6 @@ static int  Open (vlc_object_t *);
 static void Close(vlc_object_t *);
 
 vlc_module_begin ()
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_PACKETIZER)
     set_description(N_("HEVC/H.265 video packetizer"))
     set_capability("packetizer", 50)
diff --git a/modules/packetizer/mjpeg.c b/modules/packetizer/mjpeg.c
index fa015f3828b5d4b8fa2c6b3e32fc7f03664796a5..e8ab2be0f698995e6e27573162b9d6192f6bb046 100644
--- a/modules/packetizer/mjpeg.c
+++ b/modules/packetizer/mjpeg.c
@@ -217,7 +217,6 @@ static int Open( vlc_object_t *p_this )
  *****************************************************************************/
 
 vlc_module_begin ()
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_PACKETIZER )
     set_description( N_("MJPEG video packetizer") )
     set_capability( "packetizer", 50 )
diff --git a/modules/packetizer/mlp.c b/modules/packetizer/mlp.c
index 308e7fca04fc99be1b5d61245cb1837e453c7b54..e962fda796a2d67c18bce02f86e31c8ba018503b 100644
--- a/modules/packetizer/mlp.c
+++ b/modules/packetizer/mlp.c
@@ -44,7 +44,6 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_PACKETIZER )
     set_description( N_("MLP/TrueHD parser") )
     set_capability( "packetizer", 50 )
diff --git a/modules/packetizer/mpeg4audio.c b/modules/packetizer/mpeg4audio.c
index 55b0445e4d71f9d26fd316c5436bde7109c5f663..9e310758dc68f38e6d427c00b776f74bf7780634 100644
--- a/modules/packetizer/mpeg4audio.c
+++ b/modules/packetizer/mpeg4audio.c
@@ -224,7 +224,6 @@ static int Mpeg4ReadAudioSpecificConfig(bs_t *s, mpeg4_asc_t *p_cfg, bool);
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_PACKETIZER)
     set_description(N_("MPEG4 audio packetizer"))
     set_capability("packetizer", 50)
diff --git a/modules/packetizer/mpeg4video.c b/modules/packetizer/mpeg4video.c
index 46b2e7c706def7c5e817a062809390767e883b8a..a3b25c945525409cf5d73091b815a55670c1fcc3 100644
--- a/modules/packetizer/mpeg4video.c
+++ b/modules/packetizer/mpeg4video.c
@@ -49,7 +49,6 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_PACKETIZER )
     set_description( N_("MPEG4 video packetizer") )
     set_capability( "packetizer", 50 )
diff --git a/modules/packetizer/mpegaudio.c b/modules/packetizer/mpegaudio.c
index 6d4ee148b31374abec5bb48abdbee22761c02258..05aaf44d61f12944befadb0e656f3178d1e7fbc8 100644
--- a/modules/packetizer/mpegaudio.c
+++ b/modules/packetizer/mpegaudio.c
@@ -83,7 +83,6 @@ static void Close(  vlc_object_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACODEC )
     set_description( N_("MPEG audio layer I/II/III packetizer") )
     set_capability( "packetizer", 10 )
diff --git a/modules/packetizer/mpegvideo.c b/modules/packetizer/mpegvideo.c
index b8491ac5696c73b21ad1fd276e992d74192d800c..9f2abab1b65fc1291a1334dd123d34ee995bdf8e 100644
--- a/modules/packetizer/mpegvideo.c
+++ b/modules/packetizer/mpegvideo.c
@@ -70,7 +70,6 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_PACKETIZER )
     set_description( N_("MPEG-I/II video packetizer") )
     set_shortname( N_("MPEG Video") )
diff --git a/modules/packetizer/vc1.c b/modules/packetizer/vc1.c
index d8f43f306062da4ac1c6ae9c58faf671716e98ca..e72d2444aa9924b3913edd3422c06abf690a48eb 100644
--- a/modules/packetizer/vc1.c
+++ b/modules/packetizer/vc1.c
@@ -50,7 +50,6 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin ()
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_PACKETIZER )
     set_description( N_("VC-1 packetizer") )
     set_capability( "packetizer", 50 )
diff --git a/modules/services_discovery/avahi.c b/modules/services_discovery/avahi.c
index 77bb9f37119862b295ba48c7df9adc41b00dd238..4a22ccc18eeb7611e54b5a9d9dd6c028c8642b12 100644
--- a/modules/services_discovery/avahi.c
+++ b/modules/services_discovery/avahi.c
@@ -58,7 +58,6 @@ VLC_RD_PROBE_HELPER( "avahi_renderer", "Avahi Zeroconf renderer Discovery" )
 vlc_module_begin ()
     set_shortname( "Avahi" )
     set_description( N_("Zeroconf services") )
-    set_category( CAT_PLAYLIST )
     set_subcategory( SUBCAT_PLAYLIST_SD )
     set_capability( "services_discovery", 0 )
     set_callbacks( OpenSD, CloseSD )
@@ -67,7 +66,6 @@ vlc_module_begin ()
     VLC_SD_PROBE_SUBMODULE
     add_submodule() \
         set_description( N_( "Avahi Renderer Discovery" ) )
-        set_category( CAT_SOUT )
         set_subcategory( SUBCAT_SOUT_RENDERER )
         set_capability( "renderer_discovery", 0 )
         set_callbacks( OpenRD, CloseRD )
diff --git a/modules/services_discovery/bonjour.m b/modules/services_discovery/bonjour.m
index a885e8d1d98f99253f58c4ca13872cd526a5817e..f7db4d2f01c0b0f29e5b26e80e989a75448fd1c8 100644
--- a/modules/services_discovery/bonjour.m
+++ b/modules/services_discovery/bonjour.m
@@ -60,7 +60,6 @@ struct vlc_renderer_discovery_sys
 vlc_module_begin()
     set_shortname( "Bonjour" )
     set_description( N_( "Bonjour Network Discovery" ) )
-    set_category( CAT_PLAYLIST )
     set_subcategory( SUBCAT_PLAYLIST_SD )
     set_capability( "services_discovery", 0 )
     set_callbacks( OpenSD, CloseSD )
@@ -68,7 +67,6 @@ vlc_module_begin()
     VLC_SD_PROBE_SUBMODULE
     add_submodule() \
         set_description( N_( "Bonjour Renderer Discovery" ) )
-        set_category( CAT_SOUT )
         set_subcategory( SUBCAT_SOUT_RENDERER )
         set_capability( "renderer_discovery", 0 )
         set_callbacks( OpenRD, CloseRD )
diff --git a/modules/services_discovery/microdns.c b/modules/services_discovery/microdns.c
index 16f23d914c39387272a81389f21aa44c64538536..2bb536c038b04aba5cb16ee6141a0eedab0658af 100644
--- a/modules/services_discovery/microdns.c
+++ b/modules/services_discovery/microdns.c
@@ -55,7 +55,6 @@ VLC_RD_PROBE_HELPER( "microdns_renderer", "mDNS renderer Discovery" )
 vlc_module_begin()
     set_shortname( "mDNS" )
     set_description( N_( "mDNS Network Discovery" ) )
-    set_category( CAT_PLAYLIST )
     set_subcategory( SUBCAT_PLAYLIST_SD )
     set_capability( "services_discovery", 0 )
     set_callbacks( OpenSD, CloseSD )
@@ -63,7 +62,6 @@ vlc_module_begin()
     VLC_SD_PROBE_SUBMODULE
     add_submodule() \
         set_description( N_( "mDNS Renderer Discovery" ) )
-        set_category( CAT_SOUT )
         set_subcategory( SUBCAT_SOUT_RENDERER )
         set_capability( "renderer_discovery", 0 )
         set_callbacks( OpenRD, CloseRD )
diff --git a/modules/services_discovery/mtp.c b/modules/services_discovery/mtp.c
index 223318642b73d4aa58e9ceacae524ba7c46031dd..b7159689743947970a7ad7d2ef8b2fd161fd2586 100644
--- a/modules/services_discovery/mtp.c
+++ b/modules/services_discovery/mtp.c
@@ -356,7 +356,6 @@ VLC_SD_PROBE_HELPER("mtp", N_("MTP devices"), SD_CAT_DEVICES)
 vlc_module_begin()
     set_shortname( "MTP" )
     set_description( N_( "MTP devices" ) )
-    set_category( CAT_PLAYLIST )
     set_subcategory( SUBCAT_PLAYLIST_SD )
     set_capability( "services_discovery", 0 )
     set_callbacks( Open, Close )
diff --git a/modules/services_discovery/os2drive.c b/modules/services_discovery/os2drive.c
index 6a3ae2b5f189ffb1ddb32df78ed81d42260f2587..d1c84b629cf0c2cb0b3e49c1bb4874aba8df1fd6 100644
--- a/modules/services_discovery/os2drive.c
+++ b/modules/services_discovery/os2drive.c
@@ -41,7 +41,6 @@ VLC_SD_PROBE_HELPER("disc", N_("Discs"), SD_CAT_DEVICES)
 vlc_module_begin ()
     set_shortname (N_("Discs"))
     set_description (N_("Discs"))
-    set_category (CAT_PLAYLIST)
     set_subcategory (SUBCAT_PLAYLIST_SD)
     set_capability ("services_discovery", 0)
     set_callback(Open)
diff --git a/modules/services_discovery/podcast.c b/modules/services_discovery/podcast.c
index 312e7b016119cfb523ec1b827ccbc6baf20a364b..ac3a987f187ae787e4673f8b780d1c4b1a7849df 100644
--- a/modules/services_discovery/podcast.c
+++ b/modules/services_discovery/podcast.c
@@ -58,7 +58,6 @@ VLC_SD_PROBE_HELPER("podcast", N_("Podcasts"), SD_CAT_INTERNET)
 vlc_module_begin ()
     set_shortname( "Podcast")
     set_description( N_("Podcasts") )
-    set_category( CAT_PLAYLIST )
     set_subcategory( SUBCAT_PLAYLIST_SD )
 
     add_string( "podcast-urls", NULL,
diff --git a/modules/services_discovery/pulse.c b/modules/services_discovery/pulse.c
index 7a5098c0b042b56937b7d5a9850ca95a56a9971d..b815babdcbf9b47de5842003b605cdb0c7667542 100644
--- a/modules/services_discovery/pulse.c
+++ b/modules/services_discovery/pulse.c
@@ -41,7 +41,6 @@ VLC_SD_PROBE_HELPER("pulse", N_("Audio capture"), SD_CAT_DEVICES);
 vlc_module_begin ()
     set_shortname (N_("Audio capture"))
     set_description (N_("Audio capture (PulseAudio)"))
-    set_category (CAT_PLAYLIST)
     set_subcategory (SUBCAT_PLAYLIST_SD)
     set_capability ("services_discovery", 0)
     set_callbacks (Open, Close)
diff --git a/modules/services_discovery/sap.c b/modules/services_discovery/sap.c
index b87f666ebfef6470d3ef486851c92aff331be25d..96e47ce590f126dddc29527c56bea583fd306674 100644
--- a/modules/services_discovery/sap.c
+++ b/modules/services_discovery/sap.c
@@ -639,7 +639,6 @@ VLC_SD_PROBE_HELPER("sap", N_("Network streams (SAP)"), SD_CAT_LAN)
 vlc_module_begin()
     set_shortname(N_("SAP"))
     set_description(N_("Network streams (SAP)") )
-    set_category(CAT_PLAYLIST)
     set_subcategory(SUBCAT_PLAYLIST_SD)
 
     add_string("sap-addr", NULL, SAP_ADDR_TEXT, SAP_ADDR_LONGTEXT)
diff --git a/modules/services_discovery/udev.c b/modules/services_discovery/udev.c
index cda59f37741c99089de9506608e0c345193eb17f..7c544152fc791ff8a82237b0313bd320ed9afade 100644
--- a/modules/services_discovery/udev.c
+++ b/modules/services_discovery/udev.c
@@ -55,7 +55,6 @@ static int vlc_sd_probe_Open (vlc_object_t *);
 vlc_module_begin ()
     set_shortname (N_("Video capture"))
     set_description (N_("Video capture (Video4Linux)"))
-    set_category (CAT_PLAYLIST)
     set_subcategory (SUBCAT_PLAYLIST_SD)
     set_capability ("services_discovery", 0)
     set_callbacks (OpenV4L, Close)
@@ -64,7 +63,6 @@ vlc_module_begin ()
     add_submodule ()
     set_shortname (N_("Audio capture"))
     set_description (N_("Audio capture (ALSA)"))
-    set_category (CAT_PLAYLIST)
     set_subcategory (SUBCAT_PLAYLIST_SD)
     set_capability ("services_discovery", 0)
     set_callbacks (OpenALSA, Close)
@@ -73,7 +71,6 @@ vlc_module_begin ()
     add_submodule ()
     set_shortname (N_("Discs"))
     set_description (N_("Discs"))
-    set_category (CAT_PLAYLIST)
     set_subcategory (SUBCAT_PLAYLIST_SD)
     set_capability ("services_discovery", 0)
     set_callbacks (OpenDisc, Close)
diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp
index 044ccc17890a711e886c6411fc9c2507f2a63097..8b5c508d0a68b4b2b445a97ac9579a9297b850b7 100644
--- a/modules/services_discovery/upnp.cpp
+++ b/modules/services_discovery/upnp.cpp
@@ -135,7 +135,6 @@ VLC_RD_PROBE_HELPER( "upnp_renderer", N_("UPnP Renderer Discovery") )
 vlc_module_begin()
     set_shortname( "UPnP" );
     set_description( N_( "Universal Plug'n'Play" ) );
-    set_category( CAT_PLAYLIST );
     set_subcategory( SUBCAT_PLAYLIST_SD );
     set_capability( "services_discovery", 0 );
     set_callbacks( SD::OpenSD, SD::CloseSD );
@@ -147,7 +146,6 @@ vlc_module_begin()
                 nullptr )
 
     add_submodule()
-        set_category( CAT_INPUT )
         set_subcategory( SUBCAT_INPUT_ACCESS )
         set_callbacks( Access::OpenAccess, Access::CloseAccess )
         set_capability( "access", 0 )
@@ -156,7 +154,6 @@ vlc_module_begin()
 
     add_submodule()
         set_description( N_( "UPnP Renderer Discovery" ) )
-        set_category( CAT_SOUT )
         set_subcategory( SUBCAT_SOUT_RENDERER )
         set_callbacks( RD::OpenRD, RD::CloseRD )
         set_capability( "renderer_discovery", 0 )
@@ -169,7 +166,6 @@ vlc_module_begin()
         set_description(N_("UPnP/DLNA stream output"))
         set_capability("sout output", 0)
         add_shortcut("dlna")
-        set_category(CAT_SOUT)
         set_subcategory(SUBCAT_SOUT_STREAM)
         set_callbacks(DLNA::OpenSout, DLNA::CloseSout)
 
diff --git a/modules/services_discovery/windrive.c b/modules/services_discovery/windrive.c
index c741eeb07014c1aa53d8c7d5b446ac7bf6038ab6..6ca4a814a1bb2323148b8d894b719c8b1afc310b 100644
--- a/modules/services_discovery/windrive.c
+++ b/modules/services_discovery/windrive.c
@@ -38,7 +38,6 @@ VLC_SD_PROBE_HELPER("disc", N_("Discs"), SD_CAT_DEVICES)
 vlc_module_begin ()
     set_shortname (N_("Discs"))
     set_description (N_("Discs"))
-    set_category (CAT_PLAYLIST)
     set_subcategory (SUBCAT_PLAYLIST_SD)
     set_capability ("services_discovery", 0)
     set_callback(Open)
diff --git a/modules/services_discovery/xcb_apps.c b/modules/services_discovery/xcb_apps.c
index d22ea63933b7106e3d30f3a131d0dbee6442a2e8..57aa8a50e0abbc65097790a5e24431b257271564 100644
--- a/modules/services_discovery/xcb_apps.c
+++ b/modules/services_discovery/xcb_apps.c
@@ -52,7 +52,6 @@ static int vlc_sd_probe_Open (vlc_object_t *);
 vlc_module_begin ()
     set_shortname (N_("Screen capture"))
     set_description (N_("Screen capture"))
-    set_category (CAT_PLAYLIST)
     set_subcategory (SUBCAT_PLAYLIST_SD)
     set_capability ("services_discovery", 0)
     set_callbacks (Open, Close)
diff --git a/modules/spu/audiobargraph_v.c b/modules/spu/audiobargraph_v.c
index 9ee61f5f4aa01fec3175f1e3d6cd2f795999e2a4..f19523d83d3cf7e77bd03d90d77dbb8b1ed40e7c 100644
--- a/modules/spu/audiobargraph_v.c
+++ b/modules/spu/audiobargraph_v.c
@@ -56,7 +56,6 @@ static void Close    (filter_t *);
 
 vlc_module_begin ()
 
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_SUBPIC)
 
     set_callback_sub_source(OpenSub, 0)
diff --git a/modules/spu/dynamicoverlay/dynamicoverlay.c b/modules/spu/dynamicoverlay/dynamicoverlay.c
index 4dc34642a0ad999aab7184dcfe2b8db781ae5e36..83a9eaa799a037b69f03314454b9149ee1a16042 100644
--- a/modules/spu/dynamicoverlay/dynamicoverlay.c
+++ b/modules/spu/dynamicoverlay/dynamicoverlay.c
@@ -65,7 +65,6 @@ static int AdjustCallback( vlc_object_t *p_this, char const *psz_var,
 vlc_module_begin ()
     set_description( N_("Dynamic video overlay") )
     set_shortname( N_("Overlay" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_loadfile("overlay-input", NULL, INPUT_TEXT, INPUT_LONGTEXT)
diff --git a/modules/spu/logo.c b/modules/spu/logo.c
index 03bd1f4935ada4b103bf798606cb7ee40daab8fb..f828cb85beacf171d2db1ecab284f3c4d3d521bd 100644
--- a/modules/spu/logo.c
+++ b/modules/spu/logo.c
@@ -73,7 +73,6 @@ static int  OpenVideo( filter_t * );
 static void Close    ( filter_t * );
 
 vlc_module_begin ()
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_SUBPIC )
     set_help(LOGO_HELP)
     set_callback_sub_source( OpenSub, 0 )
diff --git a/modules/spu/marq.c b/modules/spu/marq.c
index a745d93abe6e0266f10a8ca084d9972ef567c2a1..916e7ae37e1b1e9c4f526b67e35501c6e45fed87 100644
--- a/modules/spu/marq.c
+++ b/modules/spu/marq.c
@@ -125,7 +125,6 @@ vlc_module_begin ()
     set_description( N_("Marquee display") )
     set_help(MARQUEE_HELP)
     set_callback_sub_source( CreateFilter, 0 )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_SUBPIC )
     add_string( CFG_PREFIX "marquee", "VLC", MSG_TEXT, MSG_LONGTEXT )
     add_loadfile(CFG_PREFIX "file", NULL, FILE_TEXT, FILE_LONGTEXT)
diff --git a/modules/spu/mosaic.c b/modules/spu/mosaic.c
index d3ed3a2300034202b0d690669d98366c31153173..fd5daf21d4bf90b518e1e0c49f7eca9dca568146 100644
--- a/modules/spu/mosaic.c
+++ b/modules/spu/mosaic.c
@@ -174,7 +174,6 @@ static const char *const ppsz_align_descriptions[] =
 vlc_module_begin ()
     set_description( N_("Mosaic video sub source") )
     set_shortname( N_("Mosaic") )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_SUBPIC)
     set_callback_sub_source( CreateFilter, 0 )
 
diff --git a/modules/spu/rss.c b/modules/spu/rss.c
index dc5774866ba6d56a9e5aca43707f2057aefafda2..4e916d3d08eadcf5e0d7ab623536438011b2909d 100644
--- a/modules/spu/rss.c
+++ b/modules/spu/rss.c
@@ -175,7 +175,6 @@ vlc_module_begin ()
     set_shortname( N_("RSS / Atom") )
     set_help(RSS_HELP)
     set_callback_sub_source( CreateFilter, 1 )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_SUBPIC )
     add_string( CFG_PREFIX "urls", NULL, MSG_TEXT, MSG_LONGTEXT )
 
diff --git a/modules/spu/subsdelay.c b/modules/spu/subsdelay.c
index fce553ce47eb4e6a0ca3031192b58935a7b9cc5b..8462715cbe2701fd89d689e077b55eaab70a1c06 100644
--- a/modules/spu/subsdelay.c
+++ b/modules/spu/subsdelay.c
@@ -266,7 +266,6 @@ vlc_module_begin()
         set_description( N_("Subtitle delay") )
         set_help( SUBSDELAY_HELP )
         set_callback_sub_filter( SubsdelayCreate )
-        set_category( CAT_VIDEO )
         set_subcategory( SUBCAT_VIDEO_SUBPIC )
 
         add_integer( CFG_MODE, 1, MODE_TEXT, MODE_LONGTEXT )
diff --git a/modules/stream_extractor/archive.c b/modules/stream_extractor/archive.c
index 3f075a70e02aaa58d94dd270ef2b2a5c1d0db706..8bdd1a01341f53d50b49ded8c62f06b848644c38 100644
--- a/modules/stream_extractor/archive.c
+++ b/modules/stream_extractor/archive.c
@@ -47,7 +47,6 @@ static  int DirectoryOpen( vlc_object_t* );
 static void DirectoryClose( vlc_object_t* );
 
 vlc_module_begin()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_STREAM_FILTER )
     set_capability( "stream_directory", 99 )
     set_description( N_( "libarchive based stream directory" ) )
diff --git a/modules/stream_filter/accesstweaks.c b/modules/stream_filter/accesstweaks.c
index 981a85efb2d9685a1b2560807a88f52d9b99f36c..7ab005971a21c659a8a1c432d63a39b4edc9f079 100644
--- a/modules/stream_filter/accesstweaks.c
+++ b/modules/stream_filter/accesstweaks.c
@@ -34,7 +34,6 @@ static int  Open(vlc_object_t *);
 
 vlc_module_begin ()
     set_shortname("accesstweaks")
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_STREAM_FILTER)
     set_capability ("stream_filter", 301)
     /* Developers only module, no translation please */
diff --git a/modules/stream_filter/adf.c b/modules/stream_filter/adf.c
index 71ccf1c3051f04fc0c1e0aaec73222ed4499264e..06a9c9a0d212e30f2d6e74514dbae095ba617eda 100644
--- a/modules/stream_filter/adf.c
+++ b/modules/stream_filter/adf.c
@@ -36,7 +36,6 @@ static int Open( vlc_object_t * );
 
 vlc_module_begin()
     set_shortname( "adf" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_STREAM_FILTER )
     set_capability( "stream_filter", 330 )
     set_description( N_( "ADF stream filter" ) )
diff --git a/modules/stream_filter/aribcam.c b/modules/stream_filter/aribcam.c
index f1a3c61dc2a86f9af351f95dd8677b85c8e3e5ea..e60958ff11b28e071b08047c6004a25abda1f218 100644
--- a/modules/stream_filter/aribcam.c
+++ b/modules/stream_filter/aribcam.c
@@ -38,7 +38,6 @@ static int  Open(vlc_object_t *);
 static void Close(vlc_object_t *);
 
 vlc_module_begin ()
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_STREAM_FILTER)
     set_capability ("stream_filter", 0)
     add_shortcut("aribcam")
diff --git a/modules/stream_filter/cache_block.c b/modules/stream_filter/cache_block.c
index 4d6cb363bbd2faa52c89903997f2e11aad720b4f..ceec70e863f86a34ada7bd20babbcfc3817c4e15 100644
--- a/modules/stream_filter/cache_block.c
+++ b/modules/stream_filter/cache_block.c
@@ -320,7 +320,6 @@ static void Close(vlc_object_t *obj)
 }
 
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_STREAM_FILTER)
     set_capability("stream_filter", 0)
     add_shortcut("cache")
diff --git a/modules/stream_filter/cache_read.c b/modules/stream_filter/cache_read.c
index 046c1d9279e17becccdc92854ee0f5e153c3c7e5..a333904c41a7a62b32c979c5567cbcc71407b5c5 100644
--- a/modules/stream_filter/cache_read.c
+++ b/modules/stream_filter/cache_read.c
@@ -564,7 +564,6 @@ static void Close(vlc_object_t *obj)
 }
 
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_STREAM_FILTER)
     set_capability("stream_filter", 0)
     add_shortcut("cache")
diff --git a/modules/stream_filter/decomp.c b/modules/stream_filter/decomp.c
index ebd39295453e3cef8b997d81338d3e50a2c30d1d..480d89b26f6b80257a5e437372911fc6e6afab91 100644
--- a/modules/stream_filter/decomp.c
+++ b/modules/stream_filter/decomp.c
@@ -48,7 +48,6 @@ static int  OpenXZ (vlc_object_t *);
 static void Close (vlc_object_t *);
 
 vlc_module_begin ()
-    set_category (CAT_INPUT)
     set_subcategory (SUBCAT_INPUT_STREAM_FILTER)
     set_capability ("stream_filter", 320)
 
diff --git a/modules/stream_filter/hds/hds.c b/modules/stream_filter/hds/hds.c
index acdc7f9791c9525e4e9c0bd6f040974028cd6f82..d1103472276eb88962fcab0f361f993a9efafe32 100644
--- a/modules/stream_filter/hds/hds.c
+++ b/modules/stream_filter/hds/hds.c
@@ -203,7 +203,6 @@ static int  Open( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_STREAM_FILTER )
     set_description( N_("HTTP Dynamic Streaming") )
     set_shortname( "Dynamic Streaming")
diff --git a/modules/stream_filter/inflate.c b/modules/stream_filter/inflate.c
index 862cbddc319996e23fa40d673a631f4d9d92f975..4ed72827a1f74f781df52980b18c28298f871672 100644
--- a/modules/stream_filter/inflate.c
+++ b/modules/stream_filter/inflate.c
@@ -186,7 +186,6 @@ static void Close (vlc_object_t *obj)
 }
 
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_STREAM_FILTER)
     set_capability("stream_filter", 330)
 
diff --git a/modules/stream_filter/prefetch.c b/modules/stream_filter/prefetch.c
index cd240e3e47d515e492254c20f2c3557ea12b8c77..195831884e216c3db7b119b07c3badda4ca60430 100644
--- a/modules/stream_filter/prefetch.c
+++ b/modules/stream_filter/prefetch.c
@@ -536,7 +536,6 @@ static void Close (vlc_object_t *obj)
 }
 
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_STREAM_FILTER)
     set_capability("stream_filter", 0)
 
diff --git a/modules/stream_filter/record.c b/modules/stream_filter/record.c
index b6bc9151c477f88d21a214914fe1369645448a94..94a5b748d1dd389b31ca73a0f72bc3bab0d44615 100644
--- a/modules/stream_filter/record.c
+++ b/modules/stream_filter/record.c
@@ -43,7 +43,6 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_STREAM_FILTER )
     set_description( N_("Internal stream record") )
     set_capability( "stream_filter", 0 )
diff --git a/modules/stream_filter/skiptags.c b/modules/stream_filter/skiptags.c
index 71f25140670c47e0b08df8e979a4639a815ac596..02eae61b59760c1a9fa5aae8b035815694541592 100644
--- a/modules/stream_filter/skiptags.c
+++ b/modules/stream_filter/skiptags.c
@@ -234,7 +234,6 @@ static void Close(vlc_object_t *obj)
 }
 
 vlc_module_begin()
-    set_category(CAT_INPUT)
     set_subcategory(SUBCAT_INPUT_STREAM_FILTER)
     set_capability("stream_filter", 330)
 
diff --git a/modules/stream_out/bridge.c b/modules/stream_out/bridge.c
index eda8780a7a15a05d5382db6abc18f454b33965ec..8d982b35b4810f05aa0380a3775606d224641419 100644
--- a/modules/stream_out/bridge.c
+++ b/modules/stream_out/bridge.c
@@ -95,7 +95,6 @@ vlc_module_begin ()
     set_capability( "sout output", 50 )
     add_shortcut( "bridge-out" )
     /* Only usable with VLM. No category so not in gui preferences
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )*/
     add_integer( SOUT_CFG_PREFIX_OUT "id", 0, ID_TEXT, ID_LONGTEXT )
     add_string( SOUT_CFG_PREFIX_OUT "in-name", "default",
@@ -106,8 +105,7 @@ vlc_module_begin ()
     set_section( N_("Bridge in"), NULL )
     set_capability( "sout filter", 50 )
     add_shortcut( "bridge-in" )
-    /*set_category( CAT_SOUT )
-    set_subcategory( SUBCAT_SOUT_STREAM )*/
+    /*set_subcategory( SUBCAT_SOUT_STREAM )*/
     add_integer( SOUT_CFG_PREFIX_IN "delay", 0, DELAY_TEXT,
                  DELAY_LONGTEXT )
     add_integer( SOUT_CFG_PREFIX_IN "id-offset", 8192, ID_OFFSET_TEXT,
diff --git a/modules/stream_out/chromaprint.c b/modules/stream_out/chromaprint.c
index 740d9a26cbd5e6f15fa51d273efab2cb7b4e84d5..4ff411219cdaadbb78a80ce9f6626f46ef2b02a7 100644
--- a/modules/stream_out/chromaprint.c
+++ b/modules/stream_out/chromaprint.c
@@ -60,7 +60,6 @@ vlc_module_begin ()
     set_description( N_("Chromaprint stream output") )
     set_capability( "sout output", 0 )
     add_shortcut( "chromaprint" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
     add_integer( "duration", 90, DURATION_TEXT, DURATION_LONGTEXT )
     set_callbacks( Open, Close )
diff --git a/modules/stream_out/chromecast/cast.cpp b/modules/stream_out/chromecast/cast.cpp
index 90b38234463e43ecbf1f64707ad0c2c923146b17..7febdcb3b15cfda3a1972d59084abb2262281fbe 100644
--- a/modules/stream_out/chromecast/cast.cpp
+++ b/modules/stream_out/chromecast/cast.cpp
@@ -214,7 +214,6 @@ vlc_module_begin ()
     set_description(N_("Chromecast stream output"))
     set_capability("sout output", 0)
     add_shortcut("chromecast")
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_STREAM)
     set_callbacks(Open, Close)
 
diff --git a/modules/stream_out/chromecast/chromecast_demux.cpp b/modules/stream_out/chromecast/chromecast_demux.cpp
index 026d03f4ab3e215864d81571510df74238af385c..931f66b460bd707b98b082e6a3709ec80a961fc3 100644
--- a/modules/stream_out/chromecast/chromecast_demux.cpp
+++ b/modules/stream_out/chromecast/chromecast_demux.cpp
@@ -491,7 +491,6 @@ void Close(vlc_object_t *p_this)
 
 vlc_module_begin ()
     set_shortname( "cc_demux" )
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_DEMUX )
     set_description( N_( "Chromecast demux wrapper" ) )
     set_capability( "demux_filter", 0 )
diff --git a/modules/stream_out/cycle.c b/modules/stream_out/cycle.c
index 427a06150fd231e77e131f85a7ebea6b3bc2de39..ee286a1291c060f2e326664e74448d06aaa29515 100644
--- a/modules/stream_out/cycle.c
+++ b/modules/stream_out/cycle.c
@@ -314,7 +314,6 @@ vlc_module_begin()
     set_shortname(N_("cycle"))
     set_description(N_("Cyclic stream output"))
     set_capability("sout output", 0)
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_STREAM)
     set_callbacks(Open, Close)
     add_shortcut("cycle")
diff --git a/modules/stream_out/delay.c b/modules/stream_out/delay.c
index 6792898b4a34a20deeadf678d2df24cb697dbb69..5a413e2acdf46c70a9781e455bc745146d04df10 100644
--- a/modules/stream_out/delay.c
+++ b/modules/stream_out/delay.c
@@ -146,7 +146,6 @@ vlc_module_begin()
     set_description(N_("Delay a stream"))
     set_capability("sout filter", 50)
     add_shortcut("delay")
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_STREAM)
     set_callbacks(Open, Close)
     add_integer(SOUT_CFG_PREFIX "id", 0, ID_TEXT, ID_LONGTEXT)
diff --git a/modules/stream_out/display.c b/modules/stream_out/display.c
index b39872b9b58a9baf54797727de1a63ef59ec2f54..1f510dbed27dc4f657b240ca4ce61178b41391a9 100644
--- a/modules/stream_out/display.c
+++ b/modules/stream_out/display.c
@@ -54,7 +54,6 @@ vlc_module_begin ()
     set_description( N_("Display stream output") )
     set_capability( "sout output", 50 )
     add_shortcut( "display" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
 
     add_bool( SOUT_CFG_PREFIX "audio", true, AUDIO_TEXT,
diff --git a/modules/stream_out/duplicate.c b/modules/stream_out/duplicate.c
index 21302f5e4634d2d7cddb23f34f8875fa5960a2ac..2805098a469a834aeb08edc6bda9779d99314887 100644
--- a/modules/stream_out/duplicate.c
+++ b/modules/stream_out/duplicate.c
@@ -43,7 +43,6 @@ vlc_module_begin ()
     set_description( N_("Duplicate stream output") )
     set_capability( "sout output", 50 )
     add_shortcut( "duplicate", "dup" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
     set_callbacks( Open, Close )
     add_submodule()
diff --git a/modules/stream_out/es.c b/modules/stream_out/es.c
index 8943f096e13a07dc12d183d80f763c0462ab8474..7a3fb595cf4a1d9ead176689dc8cfee4441b8ac4 100644
--- a/modules/stream_out/es.c
+++ b/modules/stream_out/es.c
@@ -372,7 +372,6 @@ vlc_module_begin()
     set_description(N_("Elementary stream output"))
     set_capability("sout output", 50)
     add_shortcut("es")
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_STREAM)
 
     set_section(N_("Generic"), NULL)
diff --git a/modules/stream_out/mosaic_bridge.c b/modules/stream_out/mosaic_bridge.c
index cc9e6b5e6e46b009db2c6f99e010d99b5c0ed453..3812038e541a65344bf57fe84299703b6b79a256 100644
--- a/modules/stream_out/mosaic_bridge.c
+++ b/modules/stream_out/mosaic_bridge.c
@@ -143,7 +143,6 @@ vlc_module_begin ()
     set_capability( "sout output", 0 )
     add_shortcut( "mosaic-bridge" )
 
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
 
     add_string( CFG_PREFIX "id", "Id", ID_TEXT, ID_LONGTEXT )
diff --git a/modules/stream_out/record.c b/modules/stream_out/record.c
index 456c68e82bd195af4fe9cc443c676cf0bc754a68..4fe00c52031d5022a98a55ca9eee0f5f9c867e6f 100644
--- a/modules/stream_out/record.c
+++ b/modules/stream_out/record.c
@@ -58,7 +58,6 @@ vlc_module_begin ()
     add_shortcut( "record" )
     set_shortname( N_("Record") )
 
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
 
     add_string( SOUT_CFG_PREFIX "dst-prefix", "", DST_PREFIX_TEXT,
diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c
index bf6851f1816730905b57fb5816a5a9a1b0152e10..496c159bfddffd54c806cc0c0c756ed92b766cec 100644
--- a/modules/stream_out/rtp.c
+++ b/modules/stream_out/rtp.c
@@ -180,7 +180,6 @@ vlc_module_begin ()
     set_description( N_("RTP stream output") )
     set_capability( "sout output", 0 )
     add_shortcut( "rtp" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
 
     add_string( SOUT_CFG_PREFIX "dst", "", DEST_TEXT,
diff --git a/modules/stream_out/sdi/sdiout.cpp b/modules/stream_out/sdi/sdiout.cpp
index 18e0fee580e030c6a9bed2c9c89f0311fb01d689..5d0411d991f2fba5957fc46679d921a9db0ee95e 100644
--- a/modules/stream_out/sdi/sdiout.cpp
+++ b/modules/stream_out/sdi/sdiout.cpp
@@ -166,7 +166,6 @@ vlc_module_begin ()
     set_description(N_("SDI stream output"))
     set_capability("sout output", 0)
     add_shortcut("sdiout")
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_STREAM)
     set_callbacks(OpenSDIOutput, CloseSDIOutput)
 
diff --git a/modules/stream_out/setid.c b/modules/stream_out/setid.c
index 30874d4d4be38d03937862f128fa7e5e6bd5ca22..8f570f998dd48f65208c3b20782415c987cc8937 100644
--- a/modules/stream_out/setid.c
+++ b/modules/stream_out/setid.c
@@ -63,7 +63,6 @@ vlc_module_begin()
     set_description( N_("Change the id of an elementary stream"))
     set_capability( "sout filter", 50 )
     add_shortcut( "setid" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
     set_callbacks( OpenId, Close )
     add_integer( SOUT_CFG_PREFIX_ID "id", 0, ID_TEXT, ID_LONGTEXT )
diff --git a/modules/stream_out/smem.c b/modules/stream_out/smem.c
index 566ecc1b071c5de92ea9d1095a1088fefd614f7c..3c1910ee54d939f45f7d6722aef164aa5e301477 100644
--- a/modules/stream_out/smem.c
+++ b/modules/stream_out/smem.c
@@ -96,7 +96,6 @@ vlc_module_begin ()
     set_description( N_("Stream output to memory buffer") )
     set_capability( "sout output", 0 )
     add_shortcut( "smem" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
     add_string( SOUT_PREFIX_VIDEO "prerender-callback", "0", T_VIDEO_PRERENDER_CALLBACK, LT_VIDEO_PRERENDER_CALLBACK )
         change_volatile()
diff --git a/modules/stream_out/standard.c b/modules/stream_out/standard.c
index 5fcab06f90fd8304da3e80fa2153a5bd8ac64c24..c53677aea8fe36a5e025ece04c1a3aa601328eb4 100644
--- a/modules/stream_out/standard.c
+++ b/modules/stream_out/standard.c
@@ -71,7 +71,6 @@ vlc_module_begin ()
     set_description( N_("Standard stream output") )
     set_capability( "sout output", 50 )
     add_shortcut( "standard", "std", "file", "http", SRT_SHORTCUT )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
 
     add_string( SOUT_CFG_PREFIX "access", "", ACCESS_TEXT, ACCESS_LONGTEXT )
diff --git a/modules/stream_out/stats.c b/modules/stream_out/stats.c
index 3df94f9a7c9a0d836945f56bebde130f4dde4a96..c97879b1b1c64f09d9d3bb0554232065cd0381b9 100644
--- a/modules/stream_out/stats.c
+++ b/modules/stream_out/stats.c
@@ -297,7 +297,6 @@ vlc_module_begin()
     set_description( N_("Writes statistic info about stream"))
     set_capability( "sout output", 0 )
     add_shortcut( "stats" )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
     set_callbacks( OutputOpen, Close )
     add_string( SOUT_CFG_PREFIX "output", "", OUTPUT_TEXT,OUTPUT_LONGTEXT );
diff --git a/modules/stream_out/transcode/transcode.c b/modules/stream_out/transcode/transcode.c
index 4c4ad8f04706e4e3f4563ba5a368ce2c4fec3f1f..e2bd5a5d046865cd85a838bdaa22c2757f0480ef 100644
--- a/modules/stream_out/transcode/transcode.c
+++ b/modules/stream_out/transcode/transcode.c
@@ -147,7 +147,6 @@ vlc_module_begin ()
     set_capability( "sout filter", 50 )
     add_shortcut( "transcode" )
     set_callbacks( Open, Close )
-    set_category( CAT_SOUT )
     set_subcategory( SUBCAT_SOUT_STREAM )
     set_section( N_("Video"), NULL )
     add_module(SOUT_CFG_PREFIX "venc", "video encoder", NULL,
diff --git a/modules/stream_out/udp.c b/modules/stream_out/udp.c
index 53d5a7808a4cbc5efad0dc0cf0d3cdc3a4ad1fdf..37816d7b097229eb5b592cb6f6868269f612b650 100644
--- a/modules/stream_out/udp.c
+++ b/modules/stream_out/udp.c
@@ -352,7 +352,6 @@ vlc_module_begin()
     set_description(N_("UDP stream output"))
     set_capability("sout output", 40)
     add_shortcut("standard", "std", "udp")
-    set_category(CAT_SOUT)
     set_subcategory(SUBCAT_SOUT_STREAM)
 
     add_bool(SOUT_CFG_PREFIX "avformat", false, AVF_TEXT, AVF_LONGTEXT)
diff --git a/modules/text_renderer/freetype/freetype.c b/modules/text_renderer/freetype/freetype.c
index 90c754c6dc75124f354d98a648956622d5a88ac9..566ac6390a428235fd568ab9322676414265874d 100644
--- a/modules/text_renderer/freetype/freetype.c
+++ b/modules/text_renderer/freetype/freetype.c
@@ -125,7 +125,6 @@ static const char *const ppsz_text_direction[] = {
 vlc_module_begin ()
     set_shortname( N_("Text renderer"))
     set_description( N_("Freetype2 font renderer") )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_SUBPIC )
 
 #ifdef HAVE_GET_FONT_BY_FAMILY_NAME
diff --git a/modules/text_renderer/nsspeechsynthesizer.m b/modules/text_renderer/nsspeechsynthesizer.m
index 5d8a683ec4f2e37621cf7cf766d0f356aa433289..3908d571924c092ae4e82bcd8ec75800e57c60ee 100644
--- a/modules/text_renderer/nsspeechsynthesizer.m
+++ b/modules/text_renderer/nsspeechsynthesizer.m
@@ -44,7 +44,6 @@ static int RenderText(filter_t *,
 
 vlc_module_begin ()
 set_description(N_("Speech synthesis for Mac OS X"))
-set_category(CAT_VIDEO)
 set_subcategory(SUBCAT_VIDEO_SUBPIC)
 
 set_callback_text_renderer(Create, 0)
diff --git a/modules/text_renderer/sapi.cpp b/modules/text_renderer/sapi.cpp
index bdc44cd1fdb86217d00a2d6b5fcdd6d04ac6ae74..f0ef8a35c791f1a7e9bd8554e1838ce9686d1995 100644
--- a/modules/text_renderer/sapi.cpp
+++ b/modules/text_renderer/sapi.cpp
@@ -54,7 +54,6 @@ static int RenderText(filter_t *,
 vlc_module_begin ()
  set_description(N_("Speech synthesis for Windows"))
 
- set_category(CAT_VIDEO)
  set_subcategory(SUBCAT_VIDEO_SUBPIC)
 
  set_callback_text_renderer(Create, 0)
diff --git a/modules/text_renderer/svg.c b/modules/text_renderer/svg.c
index 84f0cc075363b4aafd42daabb4357d8e0b73c1a2..c9bc901bbcf727c5c11cb078129b2b6a8a4251d8 100644
--- a/modules/text_renderer/svg.c
+++ b/modules/text_renderer/svg.c
@@ -71,7 +71,6 @@ typedef struct
         "for automatic string conversion" )
 
 vlc_module_begin ()
-    set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_SCODEC )
     add_shortcut( "svg" )
     add_string( "svg-template-file", "", TEMPLATE_TEXT, TEMPLATE_LONGTEXT )
diff --git a/modules/video_chroma/swscale.c b/modules/video_chroma/swscale.c
index a3d0579b1b2cef357208382143e5e5a3d58d6713..a5f2b11ab329ec7325009df509013b7d4587d4c6 100644
--- a/modules/video_chroma/swscale.c
+++ b/modules/video_chroma/swscale.c
@@ -67,7 +67,6 @@ static const char *const ppsz_mode_descriptions[] =
 vlc_module_begin ()
     set_description( N_("Video scaling filter") )
     set_shortname( N_("Swscale" ) )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     set_callback_video_converter( OpenScaler, 150 )
     add_integer( "swscale-mode", 2, SCALEMODE_TEXT, SCALEMODE_LONGTEXT )
diff --git a/modules/video_filter/adjust.c b/modules/video_filter/adjust.c
index 93a78d8c110d9fd35e7cc7a858877a530d3f6ad2..894b3a239f8766c84448119d27f2ed08de15a046 100644
--- a/modules/video_filter/adjust.c
+++ b/modules/video_filter/adjust.c
@@ -70,7 +70,6 @@ static picture_t *FilterPacked( filter_t *, picture_t * );
 vlc_module_begin ()
     set_description( N_("Image properties filter") )
     set_shortname( N_("Image adjust" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_float_with_range( "contrast", 1.0, 0.0, 2.0,
diff --git a/modules/video_filter/alphamask.c b/modules/video_filter/alphamask.c
index 166c0de604f8fe7bad844661b02321aa6c0a565e..9a9a22648df50ddc221d2eaa60f8f18e4a96b6e0 100644
--- a/modules/video_filter/alphamask.c
+++ b/modules/video_filter/alphamask.c
@@ -63,7 +63,6 @@ vlc_module_begin ()
     set_description( N_("Alpha mask video filter") )
     set_shortname( N_("Alpha mask" ))
     set_help( ALPHAMASK_HELP )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_shortcut( "alphamask", "mask" )
     set_callback_video_filter( Create )
diff --git a/modules/video_filter/anaglyph.c b/modules/video_filter/anaglyph.c
index 0ff5a35fdeb86a41bfa142456a0cb886eaff9a12..16f27f68e5d1046bf60bc936de600af3d7ac73dc 100644
--- a/modules/video_filter/anaglyph.c
+++ b/modules/video_filter/anaglyph.c
@@ -67,7 +67,6 @@ static const char *const ppsz_scheme_descriptions[] = {
 vlc_module_begin()
     set_description(N_("Convert 3D picture to anaglyph image video filter"));
     set_shortname(N_("Anaglyph"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     add_string(FILTER_PREFIX "scheme", "red-cyan", SCHEME_TEXT, SCHEME_LONGTEXT)
         change_string_list(ppsz_scheme_values, ppsz_scheme_descriptions)
diff --git a/modules/video_filter/antiflicker.c b/modules/video_filter/antiflicker.c
index 4318e313c5b27514e06de3f5f1db9f621900ad52..4502980f79614cf32e1e31e6b92bfa8a2ff472b8 100644
--- a/modules/video_filter/antiflicker.c
+++ b/modules/video_filter/antiflicker.c
@@ -65,7 +65,6 @@ VIDEO_FILTER_WRAPPER_CLOSE( Filter, Destroy )
 vlc_module_begin ()
     set_description( N_("Antiflicker video filter") )
     set_shortname( N_( "antiflicker" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_integer_with_range( FILTER_PREFIX "window-size", 10, 0, MAX_WINDOW_SZ,
diff --git a/modules/video_filter/ball.c b/modules/video_filter/ball.c
index eb0837b802d7522f5a978d54848b29e14e97465f..0bfac79fab8d1456fe1e0c2c80df2439e7e19cf4 100644
--- a/modules/video_filter/ball.c
+++ b/modules/video_filter/ball.c
@@ -124,7 +124,6 @@ vlc_module_begin ()
     set_description( N_("Ball video filter") )
     set_shortname( N_( "Ball" ))
     set_help(BALL_HELP)
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_string( FILTER_PREFIX "color", "red",
diff --git a/modules/video_filter/blendbench.c b/modules/video_filter/blendbench.c
index 68315007746892468fa64385aac25aa7027196b1..cd068e52b7ac32b70c4e063365f027cdf2142728 100644
--- a/modules/video_filter/blendbench.c
+++ b/modules/video_filter/blendbench.c
@@ -73,7 +73,6 @@ static picture_t *Filter( filter_t *, picture_t * );
 vlc_module_begin ()
     set_description( N_("Blending benchmark filter") )
     set_shortname( N_("Blendbench" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     set_section( N_("Benchmarking"), NULL )
diff --git a/modules/video_filter/bluescreen.c b/modules/video_filter/bluescreen.c
index a094b1f982a4590f5a37021af9c3491242b21ff9..02c1e7077849e828ea86c4ad1d9186888881dce0 100644
--- a/modules/video_filter/bluescreen.c
+++ b/modules/video_filter/bluescreen.c
@@ -77,7 +77,6 @@ vlc_module_begin ()
     set_description( N_("Bluescreen video filter") )
     set_shortname( N_("Bluescreen" ))
     set_help( BLUESCREEN_HELP )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_shortcut( "bluescreen" )
     set_callback_video_filter( Create )
diff --git a/modules/video_filter/canvas.c b/modules/video_filter/canvas.c
index 74dcf315f850bf49ab67be2167f8941fa39503cc..4d65fda0392acf5b038a6c01d23e1043b076c83b 100644
--- a/modules/video_filter/canvas.c
+++ b/modules/video_filter/canvas.c
@@ -107,7 +107,6 @@ vlc_module_begin ()
     set_help( CANVAS_HELP )
     set_callback_video_filter( Activate )
 
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_integer_with_range( CFG_PREFIX "width", 0, 0, INT_MAX,
diff --git a/modules/video_filter/ci_filters.m b/modules/video_filter/ci_filters.m
index 5886e839c38ad1f04b789bbb2653240f522f2dd8..645674a3e7d3dd1359f5d38bfa8d169c38c7dff3 100644
--- a/modules/video_filter/ci_filters.m
+++ b/modules/video_filter/ci_filters.m
@@ -779,7 +779,6 @@ OpenCustom(filter_t *filter)
     "Example: 'CICrystallize', 'CIBumpDistortion', 'CIThermal', 'CIComicEffect'")
 
 vlc_module_begin()
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     set_description(N_("Mac OS X hardware video filters"))
 
diff --git a/modules/video_filter/colorthres.c b/modules/video_filter/colorthres.c
index fbe82d89837f86f8a93c924bc69e52c477ab51eb..2473d34f5aab28a3a022e5551e0bd946a5a2bae8 100644
--- a/modules/video_filter/colorthres.c
+++ b/modules/video_filter/colorthres.c
@@ -68,7 +68,6 @@ vlc_module_begin ()
     set_description( N_("Color threshold filter") )
     set_shortname( N_("Color threshold" ))
     set_help(COLOR_HELP)
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_rgb(CFG_PREFIX "color", 0x00FF0000, COLOR_TEXT, COLOR_LONGTEXT)
         change_integer_list( pi_color_values, ppsz_color_descriptions )
diff --git a/modules/video_filter/croppadd.c b/modules/video_filter/croppadd.c
index f45c8b04140e663a0aa8cf9a5003b43e00ebb252..5f8fff18c3fa412322d84d7282c8ec87d211ea68 100644
--- a/modules/video_filter/croppadd.c
+++ b/modules/video_filter/croppadd.c
@@ -77,7 +77,6 @@ vlc_module_begin ()
     set_description( N_("Video cropping filter") )
     set_callback_video_filter( OpenFilter )
 
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER );
 
     set_section( N_("Crop"), NULL )
diff --git a/modules/video_filter/deinterlace/deinterlace.c b/modules/video_filter/deinterlace/deinterlace.c
index db6b1886404e54da4ad01ef6078221b1e3599e93..dfdfe810ca9e6dc462aaf7d8e50a92e1e9eb7c3f 100644
--- a/modules/video_filter/deinterlace/deinterlace.c
+++ b/modules/video_filter/deinterlace/deinterlace.c
@@ -290,7 +290,6 @@ static int Mouse( filter_t *p_filter,
 vlc_module_begin ()
     set_description( N_("Deinterlacing video filter") )
     set_shortname( N_("Deinterlace" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_string( FILTER_CFG_PREFIX "mode", "blend", SOUT_MODE_TEXT,
diff --git a/modules/video_filter/deinterlace/glblend.c b/modules/video_filter/deinterlace/glblend.c
index 11ca65a8e255628b645e40ae5d23557b318d3714..2a7f87d88d3c07d2fa06a1950dd992ea273be6c7 100644
--- a/modules/video_filter/deinterlace/glblend.c
+++ b/modules/video_filter/deinterlace/glblend.c
@@ -269,7 +269,6 @@ static int OpenVideoFilter(vlc_object_t *obj)
 vlc_module_begin()
     set_shortname("blend")
     set_description("OpenGL blend deinterlace filter")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
 
     set_capability("video filter", 0)
diff --git a/modules/video_filter/edgedetection.c b/modules/video_filter/edgedetection.c
index 84b6dbe8faa5070eb726043c1d05d95a41661473..db3b7adbdca8993924137d35463bf39ef73c40ad 100644
--- a/modules/video_filter/edgedetection.c
+++ b/modules/video_filter/edgedetection.c
@@ -70,7 +70,6 @@ vlc_module_begin ()
     set_description( EDGE_DETECTION_DESCRIPTION )
     set_shortname( EDGE_DETECTION_TEXT )
     set_help( EDGE_DETECTION_LONGTEXT )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     set_callback_video_filter( Open )
 
diff --git a/modules/video_filter/erase.c b/modules/video_filter/erase.c
index 7549bab47d0ea6202021c947be5c15a436c67a0d..8c942d462d7037da06722fa18096cdd9cef269c9 100644
--- a/modules/video_filter/erase.c
+++ b/modules/video_filter/erase.c
@@ -65,7 +65,6 @@ vlc_module_begin ()
     set_description( N_("Erase video filter") )
     set_shortname( N_( "Erase" ))
     set_help(ERASE_HELP)
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_loadfile(CFG_PREFIX "mask", NULL, MASK_TEXT, MASK_LONGTEXT)
diff --git a/modules/video_filter/extract.c b/modules/video_filter/extract.c
index bbab399a798cd805fc31c9ef34eb3cda39a66017..d2a535e81429f773a7b0ea9df2d1049544311b5e 100644
--- a/modules/video_filter/extract.c
+++ b/modules/video_filter/extract.c
@@ -64,7 +64,6 @@ static const char *const ppsz_component_descriptions[] = {
 vlc_module_begin ()
     set_description( N_("Extract RGB component video filter") )
     set_shortname( N_("Extract" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_shortcut( "extract" )
 
diff --git a/modules/video_filter/formatcrop.c b/modules/video_filter/formatcrop.c
index 78d1e41705004490f66afcc1355586bf66ea1636..0cfd4df257da0ad75438821c41c63c63c8a773f3 100644
--- a/modules/video_filter/formatcrop.c
+++ b/modules/video_filter/formatcrop.c
@@ -180,7 +180,6 @@ vlc_module_begin()
     set_description(N_("Video cropping filter"))
     set_callback_video_filter(Open)
 
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER);
 
     add_integer_with_range(CFG_PREFIX "top", 0, 0, INT_MAX,
diff --git a/modules/video_filter/fps.c b/modules/video_filter/fps.c
index 80269aef07e56476fe476880988f2eee9101cc0f..f861a9e00589a0e347c12ff5b643267331aea034 100644
--- a/modules/video_filter/fps.c
+++ b/modules/video_filter/fps.c
@@ -43,7 +43,6 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_picture);
 vlc_module_begin ()
     set_description( N_("FPS conversion video filter") )
     set_shortname( N_("FPS Converter" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_shortcut( "fps" )
diff --git a/modules/video_filter/freeze.c b/modules/video_filter/freeze.c
index a1f58183359f34e64b134a97d918171d9318bcb1..d74d039e2bb4031d4a8b2ab7cc0af024dbc49844 100644
--- a/modules/video_filter/freeze.c
+++ b/modules/video_filter/freeze.c
@@ -77,7 +77,6 @@ static void Close( filter_t * );
 vlc_module_begin()
     set_description( N_("Freezing interactive video filter") )
     set_shortname(   N_("Freeze" ) )
-    set_category(    CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     set_callback_video_filter( Open )
diff --git a/modules/video_filter/gaussianblur.c b/modules/video_filter/gaussianblur.c
index 8744c15ed537d399b2a9827743e8d300e48dfabb..b72491f9b85619f7868063eae309368c010154e7 100644
--- a/modules/video_filter/gaussianblur.c
+++ b/modules/video_filter/gaussianblur.c
@@ -56,7 +56,6 @@ vlc_module_begin ()
     set_description( N_("Gaussian blur video filter") )
     set_shortname( N_( "Gaussian Blur" ))
     set_help(GAUSSIAN_HELP)
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_float_with_range( FILTER_PREFIX "sigma", 2., SIGMA_MIN, SIGMA_MAX,
diff --git a/modules/video_filter/gradfun.c b/modules/video_filter/gradfun.c
index 42ab7dee18f98e8ff697c7f1d6b3c07c1866efce..74957ed7bfb592741cb8fc3a263692ba30d3748d 100644
--- a/modules/video_filter/gradfun.c
+++ b/modules/video_filter/gradfun.c
@@ -57,7 +57,6 @@ vlc_module_begin()
     set_description(N_("Gradfun video filter"))
     set_shortname(N_("Gradfun"))
     set_help(N_("Debanding algorithm"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     add_integer_with_range(CFG_PREFIX "radius", 16, RADIUS_MIN, RADIUS_MAX,
                            RADIUS_TEXT, RADIUS_LONGTEXT)
diff --git a/modules/video_filter/gradient.c b/modules/video_filter/gradient.c
index e35538ee1090c09c3b4fb315a23647f9200ae34b..0fa7a5f1a27863b81c2fcf130e5675c65065cad9 100644
--- a/modules/video_filter/gradient.c
+++ b/modules/video_filter/gradient.c
@@ -79,7 +79,6 @@ vlc_module_begin ()
     set_description( N_("Gradient video filter") )
     set_shortname( N_( "Gradient" ))
     set_help(GRADIENT_HELP)
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_string( FILTER_PREFIX "mode", "gradient",
diff --git a/modules/video_filter/grain.c b/modules/video_filter/grain.c
index 2360bf10133f3a47fb52e5ff9cc893497f4021a0..74964b2f08b577d603c912be09d059a70c0bf6ca 100644
--- a/modules/video_filter/grain.c
+++ b/modules/video_filter/grain.c
@@ -63,7 +63,6 @@ vlc_module_begin()
     set_description(N_("Grain video filter"))
     set_shortname( N_("Grain"))
     set_help(N_("Adds filtered gaussian noise"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     add_float_with_range(CFG_PREFIX "variance", 2.0, VARIANCE_MIN, VARIANCE_MAX,
                          VARIANCE_TEXT, VARIANCE_LONGTEXT)
diff --git a/modules/video_filter/hqdn3d.c b/modules/video_filter/hqdn3d.c
index ba342d66b7abab0207dd22e24b6646396cc13290..d6276f3d119502c702eb72201de91ea5c36049eb 100644
--- a/modules/video_filter/hqdn3d.c
+++ b/modules/video_filter/hqdn3d.c
@@ -61,7 +61,6 @@ static int DenoiseCallback( vlc_object_t *p_this, char const *psz_var,
 vlc_module_begin()
     set_shortname(N_("HQ Denoiser 3D"))
     set_description(N_("High Quality 3D Denoiser filter"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
 
     add_float_with_range(FILTER_PREFIX "luma-spat", 4.0, 0.0, 254.0,
diff --git a/modules/video_filter/invert.c b/modules/video_filter/invert.c
index 5cdb1fceb147db4e7428ac898243c7f1fc8dfcbf..208578a7451a7c9917c9715cecd51b36c3c9ac94 100644
--- a/modules/video_filter/invert.c
+++ b/modules/video_filter/invert.c
@@ -46,7 +46,6 @@ VIDEO_FILTER_WRAPPER(Filter)
 vlc_module_begin ()
     set_description( N_("Invert video filter") )
     set_shortname( N_("Color inversion" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_shortcut( "invert" )
     set_callback_video_filter( Create )
diff --git a/modules/video_filter/magnify.c b/modules/video_filter/magnify.c
index 613b98c66d3ee36d58fc234604f19a03b340b71f..229ff22462cd909db77f120b21f5d0d1428c0fbe 100644
--- a/modules/video_filter/magnify.c
+++ b/modules/video_filter/magnify.c
@@ -47,7 +47,6 @@ static void Destroy   ( filter_t * );
 vlc_module_begin ()
     set_description( N_("Magnify/Zoom interactive video filter") )
     set_shortname( N_( "Magnify" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     set_callback_video_filter( Create )
diff --git a/modules/video_filter/mirror.c b/modules/video_filter/mirror.c
index 18f4f5d822593d5c9c4db9d8509c606ed4f83dfa..e27df3617f65cf6d3b534bc2d5e551226d5d7b36 100644
--- a/modules/video_filter/mirror.c
+++ b/modules/video_filter/mirror.c
@@ -78,7 +78,6 @@ vlc_module_begin ()
     set_description( N_("Mirror video filter") )
     set_shortname( N_("Mirror video" ))
     set_help( N_("Splits video in two same parts, like in a mirror") )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_integer( CFG_PREFIX "split", 0, ORIENTATION_TEXT,
                 ORIENTATION_LONGTEXT )
diff --git a/modules/video_filter/motionblur.c b/modules/video_filter/motionblur.c
index 0971d2d227f0be288c52941e07b6e62df6aca045..90a560d772b615a83a8b051b7222da1a5b6ea849 100644
--- a/modules/video_filter/motionblur.c
+++ b/modules/video_filter/motionblur.c
@@ -59,7 +59,6 @@ VIDEO_FILTER_WRAPPER_CLOSE(Filter, Destroy)
 vlc_module_begin ()
     set_shortname( N_("Motion blur") )
     set_description( N_("Motion blur filter") )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_integer_with_range( FILTER_PREFIX "factor", 80, 1, 127,
diff --git a/modules/video_filter/motiondetect.c b/modules/video_filter/motiondetect.c
index a1049607c8d0afecb65846c042d5bc029ea7be0d..05f644b268900179081293fbf0a763774cee1106 100644
--- a/modules/video_filter/motiondetect.c
+++ b/modules/video_filter/motiondetect.c
@@ -46,7 +46,6 @@ static void Destroy   ( filter_t * );
 vlc_module_begin ()
     set_description( N_("Motion detect video filter") )
     set_shortname( N_( "Motion Detect" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_shortcut( "motion" )
diff --git a/modules/video_filter/oldmovie.c b/modules/video_filter/oldmovie.c
index 2c0ef1f0958438cf1416ca81cdf93d20dc644b69..bf996b7e5401cf2634f68e8f27ff11632ceaeb75 100644
--- a/modules/video_filter/oldmovie.c
+++ b/modules/video_filter/oldmovie.c
@@ -178,7 +178,6 @@ static void Close( filter_t * );
 vlc_module_begin()
     set_description( N_("Old movie effect video filter") )
     set_shortname( N_( "Old movie" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     set_callback_video_filter( Open )
diff --git a/modules/video_filter/opencv_example.cpp b/modules/video_filter/opencv_example.cpp
index 08b9f8d67f12e9a3ba3fe2d965689ab2a4619f3b..a57915ccd42e078e43f39c43594a9921292af366 100644
--- a/modules/video_filter/opencv_example.cpp
+++ b/modules/video_filter/opencv_example.cpp
@@ -79,7 +79,6 @@ vlc_module_begin ()
     set_capability( "opencv internal filter", 1 )
     add_shortcut( "opencv_example" )
 
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     set_callback( OpenFilter )
 
diff --git a/modules/video_filter/opencv_wrapper.c b/modules/video_filter/opencv_wrapper.c
index 209daf937d8fd1261b3b326d155435b75a9b0a11..5bec3fb1405482eaa9dcca30caeb11976a33dd22 100644
--- a/modules/video_filter/opencv_wrapper.c
+++ b/modules/video_filter/opencv_wrapper.c
@@ -68,7 +68,6 @@ static const char *const output_list_text[] = { N_("Don't display any video"),
 vlc_module_begin ()
     set_description( N_("OpenCV video filter wrapper") )
     set_shortname( N_("OpenCV" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_shortcut( "opencv_wrapper" )
     set_callback_video_filter( Create )
diff --git a/modules/video_filter/opengl.c b/modules/video_filter/opengl.c
index b3b08afddecbe36f59c980e812ad4ca68bcbf36a..e9e6f2e25f7722982132e368e9d980ed5f6de60e 100644
--- a/modules/video_filter/opengl.c
+++ b/modules/video_filter/opengl.c
@@ -306,7 +306,6 @@ gl_create_failure:
 vlc_module_begin()
     set_shortname( N_("opengl") )
     set_description( N_("Opengl filter executor") )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     set_capability( "video filter", 0 )
     add_shortcut( "opengl" )
diff --git a/modules/video_filter/posterize.c b/modules/video_filter/posterize.c
index 643f2b21a0c79874faabdf54b331f262df39edf1..69f69c17d5adbaaff4bddabe73fc769c5c523013 100644
--- a/modules/video_filter/posterize.c
+++ b/modules/video_filter/posterize.c
@@ -66,7 +66,6 @@ vlc_module_begin ()
     set_description( N_("Posterize video filter") )
     set_shortname( N_("Posterize" ) )
     set_help( N_("Posterize video by lowering the number of colors") )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_integer_with_range( CFG_PREFIX "level", 6, 2, 256,
                            POSTERIZE_LEVEL_TEXT, POSTERIZE_LEVEL_LONGTEXT )
diff --git a/modules/video_filter/postproc.c b/modules/video_filter/postproc.c
index dfbf3bedd7470a82fd4f5a2ef6c4f35dd3cecf7e..9d7cf623894d12a298a06f64ee72e8f897787e6e 100644
--- a/modules/video_filter/postproc.c
+++ b/modules/video_filter/postproc.c
@@ -80,7 +80,6 @@ vlc_module_begin ()
     set_description( N_("Video post processing filter") )
     set_shortname( N_("Postproc" ) )
     add_shortcut( "postprocess", "pp" ) /* name is "postproc" */
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     set_callback_video_filter( OpenPostproc )
diff --git a/modules/video_filter/psychedelic.c b/modules/video_filter/psychedelic.c
index 1a7e7eda2a56ea9a514555ad75f11cf1c0194b38..1d07751c4c5a72b4603486cbffe63204efa39bba 100644
--- a/modules/video_filter/psychedelic.c
+++ b/modules/video_filter/psychedelic.c
@@ -50,7 +50,6 @@ VIDEO_FILTER_WRAPPER_CLOSE(Filter, Destroy)
 vlc_module_begin ()
     set_description( N_("Psychedelic video filter") )
     set_shortname( N_( "Psychedelic" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_shortcut( "psychedelic" )
diff --git a/modules/video_filter/puzzle/puzzle.c b/modules/video_filter/puzzle/puzzle.c
index e3d67635f6f1725771d07aa1f29ae0a61ec1d2fe..f7be1669c5c0b76ba54ac513451417099dbd739b 100644
--- a/modules/video_filter/puzzle/puzzle.c
+++ b/modules/video_filter/puzzle/puzzle.c
@@ -81,7 +81,6 @@ static void Close( filter_t * );
 vlc_module_begin()
     set_description( N_("Puzzle interactive game video filter") )
     set_shortname( N_( "Puzzle" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_integer_with_range( CFG_PREFIX "rows", 4, 2, 42,
diff --git a/modules/video_filter/ripple.c b/modules/video_filter/ripple.c
index 9a7d6d0e949e1d6cdcd3606296312b8bddb53df7..e5cf33e38f9801ea976f4072a9beda5da48fc080 100644
--- a/modules/video_filter/ripple.c
+++ b/modules/video_filter/ripple.c
@@ -50,7 +50,6 @@ VIDEO_FILTER_WRAPPER(Filter)
 vlc_module_begin ()
     set_description( N_("Ripple video filter") )
     set_shortname( N_( "Ripple" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_shortcut( "ripple" )
diff --git a/modules/video_filter/rotate.c b/modules/video_filter/rotate.c
index 7769872a1c98b2010e91addccba00da744a29749..52bf3d06aba8749318ce33047a756f27c1281e59 100644
--- a/modules/video_filter/rotate.c
+++ b/modules/video_filter/rotate.c
@@ -68,7 +68,6 @@ static int RotateCallback( vlc_object_t *p_this, char const *psz_var,
 vlc_module_begin ()
     set_description( N_("Rotate video filter") )
     set_shortname( N_( "Rotate" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_float( FILTER_PREFIX "angle", 30., ANGLE_TEXT, ANGLE_LONGTEXT )
diff --git a/modules/video_filter/scene.c b/modules/video_filter/scene.c
index 963c78ff9659da78d0162862a00bf67c44305dd8..a9cae368f5a9a94f7e72fd14d46a0d0d33e02c96 100644
--- a/modules/video_filter/scene.c
+++ b/modules/video_filter/scene.c
@@ -94,7 +94,6 @@ vlc_module_begin ()
     set_shortname( N_( "Scene filter" ) )
     set_description( N_( "Scene video filter" ) )
     set_help(SCENE_HELP)
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     /* General options */
diff --git a/modules/video_filter/sepia.c b/modules/video_filter/sepia.c
index 1343131dc872ed2077ff812eaf0c8b9aeaa72d93..a09f788f6fdc20c830c9c129064258a416efef92 100644
--- a/modules/video_filter/sepia.c
+++ b/modules/video_filter/sepia.c
@@ -63,7 +63,6 @@ vlc_module_begin ()
     set_description( N_("Sepia video filter") )
     set_shortname( N_("Sepia" ) )
     set_help( N_("Gives video a warmer tone by applying sepia effect") )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_integer_with_range( CFG_PREFIX "intensity", 120, 0, 255,
                            SEPIA_INTENSITY_TEXT, SEPIA_INTENSITY_LONGTEXT )
diff --git a/modules/video_filter/sharpen.c b/modules/video_filter/sharpen.c
index 08f429e11e9a0e6d0e3cfc62ba4d5d8bfaedfce4..2ed41772cdf75a2f3559eefd3c57eb192248cc98 100644
--- a/modules/video_filter/sharpen.c
+++ b/modules/video_filter/sharpen.c
@@ -65,7 +65,6 @@ vlc_module_begin ()
     set_description( N_("Sharpen video filter") )
     set_shortname( N_("Sharpen") )
     set_help(SHARPEN_HELP)
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     add_float_with_range( FILTER_PREFIX "sigma", 0.05, 0.0, 2.0,
         SIG_TEXT, SIG_LONGTEXT )
diff --git a/modules/video_filter/transform.c b/modules/video_filter/transform.c
index 8c664a85267aa235bab12e34e0711a2d2a337a25..f7acd26dd7911720a956a2d0199ce331f9434c6b 100644
--- a/modules/video_filter/transform.c
+++ b/modules/video_filter/transform.c
@@ -57,7 +57,6 @@ vlc_module_begin()
     set_description(N_("Video transformation filter"))
     set_shortname(N_("Transformation"))
     set_help(N_("Rotate or flip the video"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
 
     add_string(CFG_PREFIX "type", "90", TYPE_TEXT, NULL)
diff --git a/modules/video_filter/vhs.c b/modules/video_filter/vhs.c
index e44aff65edb114de0995dd152b469ca883dbeb69..5fe7ade291a8ecb445d0f1b16042cdd7799d1156 100644
--- a/modules/video_filter/vhs.c
+++ b/modules/video_filter/vhs.c
@@ -104,7 +104,6 @@ static void Close( filter_t * );
 vlc_module_begin()
     set_description( N_("VHS movie effect video filter") )
     set_shortname(   N_("VHS movie" ) )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     set_callback_video_filter( Open )
diff --git a/modules/video_filter/wave.c b/modules/video_filter/wave.c
index dae7b652335d87b02d00277359d8d9d307dc5ff8..e0618511d6fbd3c2bde9aed3cf24230f9a9835a8 100644
--- a/modules/video_filter/wave.c
+++ b/modules/video_filter/wave.c
@@ -48,7 +48,6 @@ static int  Create    ( filter_t * );
 vlc_module_begin ()
     set_description( N_("Wave video filter") )
     set_shortname( N_( "Wave" ))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
 
     add_shortcut( "wave" )
diff --git a/modules/video_output/android/display.c b/modules/video_output/android/display.c
index df4f6a2cce9544c2e50cee85daeb90b8cfc4e45c..5cabb9617f54e0a4b80bf66e44af5cf899c98a3e 100644
--- a/modules/video_output/android/display.c
+++ b/modules/video_output/android/display.c
@@ -56,7 +56,6 @@ static void Close(vout_display_t *vd);
 static void SubpicturePrepare(vout_display_t *vd, subpicture_t *subpicture);
 
 vlc_module_begin()
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_description("Android video output")
     add_shortcut("android-display")
diff --git a/modules/video_output/android/window.c b/modules/video_output/android/window.c
index 0f601e4af22c23bc252d1c4befe79b850588ac96..b7bb76e53a06d7e83c4e902399aee36b618e0907 100644
--- a/modules/video_output/android/window.c
+++ b/modules/video_output/android/window.c
@@ -48,7 +48,6 @@ static int OpenDecDevice(vlc_decoder_device *device, vout_window_t *window);
 vlc_module_begin()
     set_shortname(N_("Android Window"))
     set_description(N_("Android native window"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vout window", 10)
     set_callback(Open)
diff --git a/modules/video_output/apple/VLCOpenGLES2VideoView.m b/modules/video_output/apple/VLCOpenGLES2VideoView.m
index fc6ba8e2744e8ccf92c3c56ddf5a8f38c2d4cbb1..bcd58d311a759979e835b09e5d7542f08ee90e87 100644
--- a/modules/video_output/apple/VLCOpenGLES2VideoView.m
+++ b/modules/video_output/apple/VLCOpenGLES2VideoView.m
@@ -517,7 +517,6 @@ static int Open(vlc_gl_t *gl, unsigned width, unsigned height)
 vlc_module_begin ()
     set_shortname (N_("CAEAGL"))
     set_description (N_("CAEAGL provider for OpenGL"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_capability ("opengl es2", 50)
     set_callback(Open)
diff --git a/modules/video_output/apple/VLCVideoUIView.m b/modules/video_output/apple/VLCVideoUIView.m
index 9977e7ec6adad922269002437ed49ec715f535de..b375e117cbbe2923f1f432a9a8df92c79d09a1aa 100644
--- a/modules/video_output/apple/VLCVideoUIView.m
+++ b/modules/video_output/apple/VLCVideoUIView.m
@@ -434,7 +434,6 @@ static int Open(vout_window_t *wnd)
 vlc_module_begin ()
     set_shortname("UIView")
     set_description("iOS UIView vout window provider")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vout window", 300)
     set_callback(Open)
diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c
index 5ec22f6c681c42f99839d3c5c1724f7ba5b11033..f5903442418424916534648b20793cfa51b47f82 100644
--- a/modules/video_output/caca.c
+++ b/modules/video_output/caca.c
@@ -522,7 +522,6 @@ error:
  *****************************************************************************/
 vlc_module_begin()
     set_shortname("Caca")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_description(N_("Color ASCII art video output"))
     set_callback_display(Open, 15)
diff --git a/modules/video_output/caopengllayer.m b/modules/video_output/caopengllayer.m
index 4b62c11635b4eae92432e3bb62a036f2d7ad8c8b..9e42c0327c61ba6fdfec196fa1968d6bb2e8fdab 100644
--- a/modules/video_output/caopengllayer.m
+++ b/modules/video_output/caopengllayer.m
@@ -53,7 +53,6 @@ static void Close(vout_display_t *vd);
 
 vlc_module_begin()
     set_description(N_("Core Animation OpenGL Layer (Mac OS X)"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_callback_display(Open, 0)
 
diff --git a/modules/video_output/decklink.cpp b/modules/video_output/decklink.cpp
index 7fd1799e6c2ad9b9c4879ad74117a14ef5073dcb..c07285cde629c99eae8d0808e604ea76b584c299 100644
--- a/modules/video_output/decklink.cpp
+++ b/modules/video_output/decklink.cpp
@@ -250,7 +250,6 @@ vlc_module_begin()
 
     add_submodule ()
     set_description (N_("DeckLink Video Output module"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_callback_display(OpenVideo, 0)
     set_section(N_("DeckLink Video Options"), NULL)
@@ -277,7 +276,6 @@ vlc_module_begin()
 
     add_submodule ()
     set_description (N_("DeckLink Audio Output module"))
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_AOUT)
     set_capability("audio output", 0)
     set_callbacks (OpenAudio, CloseAudio)
diff --git a/modules/video_output/drawable_os2.c b/modules/video_output/drawable_os2.c
index f1fd809498ecc769049a53534106cdd3ef127591..2fec86cdbdc70ed11809abe1531d0c78da6aa034 100644
--- a/modules/video_output/drawable_os2.c
+++ b/modules/video_output/drawable_os2.c
@@ -45,7 +45,6 @@ static void Close(vout_window_t *);
 vlc_module_begin ()
     set_shortname (N_("Drawable"))
     set_description (N_("Embedded window video"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_capability ("vout window", 70)
     set_callback(Open)
diff --git a/modules/video_output/fb.c b/modules/video_output/fb.c
index 4018ee4ea5d1d3e9e40a15f46a5a06cd40934a14..8b852fc26b3d34bbd6fc506dcbe7ed276ec8539e 100644
--- a/modules/video_output/fb.c
+++ b/modules/video_output/fb.c
@@ -77,7 +77,6 @@ static void Close(vout_display_t *vd);
 
 vlc_module_begin ()
     set_shortname("Framebuffer")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     add_loadfile(FB_DEV_VAR, "/dev/fb0", DEVICE_TEXT, DEVICE_LONGTEXT)
     add_bool("fb-tty", true, TTY_TEXT, TTY_LONGTEXT)
diff --git a/modules/video_output/flaschen.c b/modules/video_output/flaschen.c
index a39178bf3a5e1c87db5215425293c2fff17e07ab..c986d3bf337918059c3a70f1956834fa89b1288f 100644
--- a/modules/video_output/flaschen.c
+++ b/modules/video_output/flaschen.c
@@ -64,7 +64,6 @@ vlc_module_begin ()
     set_callback_display( Open, 0 )
     add_shortcut( "flaschen" )
 
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VOUT )
     add_string( "flaschen-display", NULL, T_FLDISPLAY, LT_FLDISPLAY )
     add_integer("flaschen-width", 25, T_WIDTH, LT_WIDTH)
diff --git a/modules/video_output/glx.c b/modules/video_output/glx.c
index 897660910fbd9a8ce4f94fea2875e9bdf489b70f..435b5a1e576b223a1e8c54409a76c019eeaef070 100644
--- a/modules/video_output/glx.c
+++ b/modules/video_output/glx.c
@@ -269,7 +269,6 @@ error:
 vlc_module_begin ()
     set_shortname (N_("GLX"))
     set_description (N_("GLX extension for OpenGL"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_capability ("opengl", 20)
     set_callback(Open)
diff --git a/modules/video_output/kms.c b/modules/video_output/kms.c
index 3768dcba27305407d730dc6ebc2cfde92ac527e0..09d2a59e6bcdd8170ad80bd3301d9b183986d191 100644
--- a/modules/video_output/kms.c
+++ b/modules/video_output/kms.c
@@ -755,7 +755,6 @@ static int Open(vout_display_t *vd,
  *****************************************************************************/
 vlc_module_begin ()
     set_shortname("kms")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     add_loadfile(KMS_VAR, "/dev/dri/card0", DEVICE_TEXT, DEVICE_LONGTEXT)
 
diff --git a/modules/video_output/kva.c b/modules/video_output/kva.c
index 0bc600bebb63a65b6b7cc71af555828a19a7e7bf..ee3ac679992fe3c4c7440b17269ab9d2b20e4f32 100644
--- a/modules/video_output/kva.c
+++ b/modules/video_output/kva.c
@@ -63,7 +63,6 @@ static const char *const ppsz_kva_video_mode_text[] = {
 
 vlc_module_begin ()
     set_shortname( "KVA" )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VOUT )
     add_string( "kva-video-mode", ppsz_kva_video_mode[0], KVA_VIDEO_MODE_TEXT,
                 KVA_VIDEO_MODE_LONGTEXT )
diff --git a/modules/video_output/libplacebo/display.c b/modules/video_output/libplacebo/display.c
index 139677cddd18c85d61930a60781100cc2529d4d5..3674527f77b7e7f4f9d4683e202a2772cf5ea1fb 100644
--- a/modules/video_output/libplacebo/display.c
+++ b/modules/video_output/libplacebo/display.c
@@ -596,7 +596,6 @@ error:
 vlc_module_begin ()
     set_shortname ("libplacebo")
     set_description (N_("libplacebo video output"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_callback_display(Open, 0)
     add_shortcut ("libplacebo", "pl")
diff --git a/modules/video_output/libplacebo/instance_opengl.c b/modules/video_output/libplacebo/instance_opengl.c
index fb3323abb536d299a0b2f17db8b626a90d43918c..1e11325e70009140b9d2615f4db4960318d4d97f 100644
--- a/modules/video_output/libplacebo/instance_opengl.c
+++ b/modules/video_output/libplacebo/instance_opengl.c
@@ -50,7 +50,6 @@ static void ReleaseCurrent(vlc_placebo_t *pl);
 #define SWAP_DEPTH_LONGTEXT "Attempt limiting the maximum frame latency. The true frame latency may be lower than this setting, depending on OpenGL driver internals and the VLC clock settings."
 
 vlc_module_begin()
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("libplacebo gpu", 40)
     set_callback(InitInstance)
diff --git a/modules/video_output/libplacebo/instance_vulkan.c b/modules/video_output/libplacebo/instance_vulkan.c
index ebae7aa7c71d3acb423817f61668f7bf7ad5c6e2..1f2345b2a4b3b50e5291be99a22a639d10c9b2dd 100644
--- a/modules/video_output/libplacebo/instance_vulkan.c
+++ b/modules/video_output/libplacebo/instance_vulkan.c
@@ -169,7 +169,6 @@ static const char * const present_text[] = {
 vlc_module_begin()
     set_shortname("libplacebo Vulkan")
     set_description(N_("Vulkan-based GPU instance"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("libplacebo gpu", 50)
     set_callback(InitInstance)
diff --git a/modules/video_output/macosx.m b/modules/video_output/macosx.m
index abc137d21aaf7676876ced4e398be5d5e260b14e..4e2b9faca8f578d58e340046fcd2bef19f7cfa59 100644
--- a/modules/video_output/macosx.m
+++ b/modules/video_output/macosx.m
@@ -74,7 +74,6 @@ vlc_module_begin ()
     /* Will be loaded even without interface module. see voutgl.m */
     set_shortname ("Mac OS X")
     set_description (N_("Mac OS X OpenGL video output"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_callback_display(Open, 300)
     add_shortcut ("macosx", "vout_macosx")
diff --git a/modules/video_output/opengl/display.c b/modules/video_output/opengl/display.c
index 1e094ad18bac724fba0eea3b6d399bc618dd21cb..78219c8a2f39586fc2a69c54ff3a7ff389806b54 100644
--- a/modules/video_output/opengl/display.c
+++ b/modules/video_output/opengl/display.c
@@ -46,7 +46,6 @@ static void Close(vout_display_t *vd);
     "Extension through which to use the Open Graphics Library (OpenGL).")
 
 vlc_module_begin ()
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
 #if defined (USE_OPENGL_ES2)
 # define API VLC_OPENGL_ES2
diff --git a/modules/video_output/opengl/egl.c b/modules/video_output/opengl/egl.c
index 8c99430c0fb43d4e83b52dbf27b25c1d593ae205..147afe802c6129c3ca175a46eea3daf1015d632e 100644
--- a/modules/video_output/opengl/egl.c
+++ b/modules/video_output/opengl/egl.c
@@ -395,7 +395,6 @@ static int OpenGL(vlc_gl_t *gl, unsigned width, unsigned height)
 vlc_module_begin ()
     set_shortname (N_("EGL"))
     set_description (N_("EGL extension for OpenGL"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_capability ("opengl", 50)
     set_callback(OpenGL)
diff --git a/modules/video_output/opengl/filter_mock.c b/modules/video_output/opengl/filter_mock.c
index 0058bad1cf9220f7684da95f1cb4410d8239b3d0..18de2804aa255af38d7958eecc0eab740b6b6173 100644
--- a/modules/video_output/opengl/filter_mock.c
+++ b/modules/video_output/opengl/filter_mock.c
@@ -614,7 +614,6 @@ error:
 vlc_module_begin()
     set_shortname("mock")
     set_description("mock OpenGL filter")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     set_capability("opengl filter", 0)
     set_callback_opengl_filter(Open)
diff --git a/modules/video_output/opengl/interop_android.c b/modules/video_output/opengl/interop_android.c
index 7130b6b8234ac9218d1e0ef3670bbffc2e85db53..3cdf362895c33beb6093fbb77b9a6006a4ee2d49 100644
--- a/modules/video_output/opengl/interop_android.c
+++ b/modules/video_output/opengl/interop_android.c
@@ -240,6 +240,5 @@ vlc_module_begin ()
     set_description("Android OpenGL SurfaceTexture converter")
     set_capability("glinterop", 1)
     set_callback(Open)
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 vlc_module_end ()
diff --git a/modules/video_output/opengl/interop_cvpx.m b/modules/video_output/opengl/interop_cvpx.m
index 813131486373877e96b7d690b06bdfaf6047c0ad..bcae1c394669ad034ed86b64dcbccd141986e60a 100644
--- a/modules/video_output/opengl/interop_cvpx.m
+++ b/modules/video_output/opengl/interop_cvpx.m
@@ -306,6 +306,5 @@ vlc_module_begin ()
     set_description("Apple OpenGL CVPX converter")
     set_capability("glinterop", 1)
     set_callback(Open)
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 vlc_module_end ()
diff --git a/modules/video_output/opengl/interop_dxva2.c b/modules/video_output/opengl/interop_dxva2.c
index 8324e5f76d71ed000ac9f34608fddc91a4b98fa8..f5b04d782514351e7a24277746e1fdd560daadf4 100644
--- a/modules/video_output/opengl/interop_dxva2.c
+++ b/modules/video_output/opengl/interop_dxva2.c
@@ -61,7 +61,6 @@ static void GLConvClose(vlc_object_t *);
 
 vlc_module_begin ()
     set_shortname("dxva2")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_description("DXVA2 surface converter")
     set_capability("glinterop", 1)
diff --git a/modules/video_output/opengl/interop_vaapi.c b/modules/video_output/opengl/interop_vaapi.c
index 63c07bd2d88994f183ffc919c5a04870bec677df..b2a067842b55b33d860276f2e627c35ce2f5f5e7 100644
--- a/modules/video_output/opengl/interop_vaapi.c
+++ b/modules/video_output/opengl/interop_vaapi.c
@@ -536,7 +536,6 @@ vlc_module_begin ()
     set_description("VA-API OpenGL surface converter")
     set_capability("glinterop", 1)
     set_callback(Open)
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     add_shortcut("vaapi")
 vlc_module_end ()
diff --git a/modules/video_output/opengl/interop_vdpau.c b/modules/video_output/opengl/interop_vdpau.c
index e8431e7e8a390e3acb8d7df0b523f5583c1495e4..137daac28a80521eeaf28da993b861d7b6ee58c7 100644
--- a/modules/video_output/opengl/interop_vdpau.c
+++ b/modules/video_output/opengl/interop_vdpau.c
@@ -249,7 +249,6 @@ vlc_module_begin ()
     set_description("VDPAU OpenGL surface converter")
     set_capability("glinterop", 2)
     set_callback(Open)
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     add_shortcut("vdpau")
     add_submodule()
diff --git a/modules/video_output/opengl/pl_scale.c b/modules/video_output/opengl/pl_scale.c
index 76df669aa7f949138502c806a2f7fbc249dbc628..8c0f9a59478652658314aeb00b6c50fed3014468 100644
--- a/modules/video_output/opengl/pl_scale.c
+++ b/modules/video_output/opengl/pl_scale.c
@@ -352,7 +352,6 @@ error_free_sys:
 vlc_module_begin()
     set_shortname("pl_scale")
     set_description("OpenGL scaler")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VFILTER)
     set_capability("opengl filter", 0)
     set_callback(Open)
diff --git a/modules/video_output/splitter.c b/modules/video_output/splitter.c
index fbc2dec21f91203212e3d4401be6e15c36682737..4f559d818fb01d6bd2f855a206bfff2e562993f9 100644
--- a/modules/video_output/splitter.c
+++ b/modules/video_output/splitter.c
@@ -324,7 +324,6 @@ static int vlc_vidsplit_Open(vout_display_t *vd,
 vlc_module_begin()
     set_shortname(N_("Splitter"))
     set_description(N_("Video splitter display plugin"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_callback_display(vlc_vidsplit_Open, 0)
     add_module("video-splitter", "video splitter", NULL,
diff --git a/modules/video_output/vdummy.c b/modules/video_output/vdummy.c
index 3735302a1dfcc0b1620ffed5c83495e506f071e1..0f4ae20fd4b8dba4a57ea1d393122ff37f10f6dc 100644
--- a/modules/video_output/vdummy.c
+++ b/modules/video_output/vdummy.c
@@ -49,7 +49,6 @@ vlc_module_begin ()
     set_callback_display( OpenDummy, 0 )
     add_shortcut( "dummy" )
 
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VOUT )
     add_string( "dummy-chroma", NULL, CHROMA_TEXT, CHROMA_LONGTEXT )
 
diff --git a/modules/video_output/vgl.c b/modules/video_output/vgl.c
index 814aa223dce234ae8581f096f2f5eccf21d5e8d8..7e45807197753bc87140872118a1d5113bbd62eb 100644
--- a/modules/video_output/vgl.c
+++ b/modules/video_output/vgl.c
@@ -172,7 +172,6 @@ static int Open(vlc_gl_t *gl, unsigned width, unsigned height)
 vlc_module_begin()
     set_shortname("GL texture")
     set_description("GL texture output")
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 
     set_capability("opengl", 0)
diff --git a/modules/video_output/vmem.c b/modules/video_output/vmem.c
index 345f8f8a5062b836668a4293d80dad52cd4a2c21..f25a458d4d13672886f4897c98ad5a207c89cbc5 100644
--- a/modules/video_output/vmem.c
+++ b/modules/video_output/vmem.c
@@ -59,7 +59,6 @@ vlc_module_begin()
     set_description(N_("Video memory output"))
     set_shortname(N_("Video memory"))
 
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 
     add_integer("vmem-width", 320, T_WIDTH, LT_WIDTH)
diff --git a/modules/video_output/vulkan/platform_android.c b/modules/video_output/vulkan/platform_android.c
index 8977a5e729b8e2504da4e9468ad61e3f1c7900fd..7b16b40fd09f790829d627cec5c300c7db3406c6 100644
--- a/modules/video_output/vulkan/platform_android.c
+++ b/modules/video_output/vulkan/platform_android.c
@@ -79,7 +79,6 @@ static int CreateSurface(vlc_vk_platform_t *vk, VkInstance vkinst)
 vlc_module_begin()
     set_shortname("Vulkan Android")
     set_description(N_("Android platform support for Vulkan"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vulkan platform", 50)
     set_callback(InitPlatform)
diff --git a/modules/video_output/vulkan/platform_win32.c b/modules/video_output/vulkan/platform_win32.c
index 659e80d9881f8602a31e0cbcf714a80eb9fa5cb4..e97a922855d9bd1f6a557e63e1bdd781fafdfdee 100644
--- a/modules/video_output/vulkan/platform_win32.c
+++ b/modules/video_output/vulkan/platform_win32.c
@@ -74,7 +74,6 @@ static int CreateSurface(vlc_vk_platform_t *vk, VkInstance vkinst)
 vlc_module_begin()
     set_shortname("Vulkan Win32")
     set_description(N_("Win32 platform support for Vulkan"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vulkan platform", 50)
     set_callback(InitPlatform)
diff --git a/modules/video_output/vulkan/platform_xcb.c b/modules/video_output/vulkan/platform_xcb.c
index a50405042ce89f0bdea32bb42f870ee50e53e665..4920cb38f58e83bd001b507f1a9edd77db00da6a 100644
--- a/modules/video_output/vulkan/platform_xcb.c
+++ b/modules/video_output/vulkan/platform_xcb.c
@@ -88,7 +88,6 @@ static int CreateSurface(vlc_vk_platform_t *vk, VkInstance vkinst, VkSurfaceKHR
 vlc_module_begin()
     set_shortname("Vulkan XCB")
     set_description(N_("XCB/X11 platform support for Vulkan"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vulkan platform", 50)
     set_callback(InitPlatform)
diff --git a/modules/video_output/wayland/shm.c b/modules/video_output/wayland/shm.c
index 94371a23f1ebd259ad374c268bb537f795b434fa..a91106a3fb86e15b7afa7b3362cfd71fc56632b1 100644
--- a/modules/video_output/wayland/shm.c
+++ b/modules/video_output/wayland/shm.c
@@ -359,7 +359,6 @@ error:
 vlc_module_begin()
     set_shortname(N_("WL SHM"))
     set_description(N_("Wayland shared memory video output"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_callback_display(Open, 170)
     add_shortcut("wl")
diff --git a/modules/video_output/wayland/vulkan.c b/modules/video_output/wayland/vulkan.c
index 96f53128fadbd609f4bd75654508939801e3eaa9..7ea604280baec31ce1c23641cc704b864c503484 100644
--- a/modules/video_output/wayland/vulkan.c
+++ b/modules/video_output/wayland/vulkan.c
@@ -68,7 +68,6 @@ static int InitPlatform(vlc_vk_platform_t *vk)
 vlc_module_begin()
     set_shortname("Vulkan Wayland")
     set_description(N_("Wayland platform support for Vulkan"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vulkan platform", 50)
     set_callback(InitPlatform)
diff --git a/modules/video_output/wayland/xdg-shell.c b/modules/video_output/wayland/xdg-shell.c
index 1aa1977cb9d432200ef1ffc31588ca869916ff70..896b6d594beff54d5a6a7101dac2834a0d6a3c44 100644
--- a/modules/video_output/wayland/xdg-shell.c
+++ b/modules/video_output/wayland/xdg-shell.c
@@ -806,7 +806,6 @@ vlc_module_begin()
     set_shortname(N_("WL shell"))
     set_description(N_("Wayland shell surface"))
 #endif
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 #ifdef XDG_SHELL
     set_capability("vout window", 20)
diff --git a/modules/video_output/wdummy.c b/modules/video_output/wdummy.c
index a71dc961f0dad73e2964f4cfc61c43a5bb63f8df..a7aecb638af3c5576ed63b1d4aa151463c37bfd4 100644
--- a/modules/video_output/wdummy.c
+++ b/modules/video_output/wdummy.c
@@ -51,7 +51,6 @@ static int Open(vout_window_t *wnd)
 vlc_module_begin()
     set_shortname(N_("Dummy window"))
     set_description(N_("Dummy window"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vout window", 1)
     set_callback(Open)
diff --git a/modules/video_output/wextern.c b/modules/video_output/wextern.c
index aaa45ea5775db6de55f987809eb5d664c51acb8d..1c734b9f43feffe4589616417bf197cf274b1877 100644
--- a/modules/video_output/wextern.c
+++ b/modules/video_output/wextern.c
@@ -41,7 +41,6 @@ static int Open(vout_window_t *);
 vlc_module_begin()
     set_shortname(N_("Callback window"))
     set_description(N_("External callback window"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vout window", 0)
     set_callback(Open)
diff --git a/modules/video_output/win32/direct3d11.cpp b/modules/video_output/win32/direct3d11.cpp
index 43cffcbee39e6f791475cd901bb49fc7103ce06b..fcdf0544a0b09575a1d29524443b838475cfa275 100644
--- a/modules/video_output/win32/direct3d11.cpp
+++ b/modules/video_output/win32/direct3d11.cpp
@@ -71,7 +71,6 @@ vlc_module_begin ()
     set_shortname("Direct3D11")
     set_description(N_("Direct3D11 video output"))
     set_help(D3D11_HELP)
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 
     add_bool("direct3d11-hw-blending", true, HW_BLENDING_TEXT, HW_BLENDING_LONGTEXT)
diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c
index d9f62013c641c13266a8c71df1a55657a6026ebc..722c821e21aef96ffe46929a681bde283631b825 100644
--- a/modules/video_output/win32/direct3d9.c
+++ b/modules/video_output/win32/direct3d9.c
@@ -96,7 +96,6 @@ vlc_module_begin ()
     set_shortname("Direct3D9")
     set_description(N_("Direct3D9 video output"))
     set_help(D3D9_HELP)
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 
     add_bool("direct3d9-hw-blending", true, HW_BLENDING_TEXT, HW_BLENDING_LONGTEXT)
diff --git a/modules/video_output/win32/drawable.c b/modules/video_output/win32/drawable.c
index 97b37b1f1551d0456e9762dc54edbdaaafe058b2..da3da508245b09def3e3a81fdcd7c8d44ec03859 100644
--- a/modules/video_output/win32/drawable.c
+++ b/modules/video_output/win32/drawable.c
@@ -45,7 +45,6 @@ static void Close(vout_window_t *);
 vlc_module_begin ()
     set_shortname (N_("Drawable"))
     set_description (N_("Embedded window video"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_capability ("vout window", 70)
     set_callback(Open)
diff --git a/modules/video_output/win32/glwin32.c b/modules/video_output/win32/glwin32.c
index ee88a10e1b873ebbc76a88c2b48de408b01fbf46..25fb37fcfda59298b48dd16d34568432fa0daf97 100644
--- a/modules/video_output/win32/glwin32.c
+++ b/modules/video_output/win32/glwin32.c
@@ -47,7 +47,6 @@ static int  Open (vout_display_t *,
 static void Close(vout_display_t *);
 
 vlc_module_begin()
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_shortname("OpenGL")
     set_description(N_("OpenGL video output for Windows"))
diff --git a/modules/video_output/win32/inhibit.c b/modules/video_output/win32/inhibit.c
index 3dac8113dd1da03bab103f34a9d607dc04deb12c..1bb55eb62e394137f21d8474206f637df9662716 100644
--- a/modules/video_output/win32/inhibit.c
+++ b/modules/video_output/win32/inhibit.c
@@ -104,7 +104,6 @@ static int OpenInhibit (vlc_object_t *obj)
 vlc_module_begin ()
     set_shortname (N_("Windows screensaver"))
     set_description (N_("Windows screen saver inhibition"))
-    set_category (CAT_ADVANCED)
     set_subcategory (SUBCAT_ADVANCED_MISC)
     set_capability ("inhibit", 10)
     set_callbacks (OpenInhibit, CloseInhibit)
diff --git a/modules/video_output/win32/wgl.c b/modules/video_output/win32/wgl.c
index a8b72aacab899fe02b4b6c0192432f91b4b8d2aa..4f21dd70a80f1f1bd0d1219f48a7e10d534f2944 100644
--- a/modules/video_output/win32/wgl.c
+++ b/modules/video_output/win32/wgl.c
@@ -43,7 +43,6 @@ static void Close(vlc_gl_t *);
 vlc_module_begin()
     set_shortname("WGL")
     set_description(N_("WGL extension for OpenGL"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 
     add_integer("gpu-affinity", -1, HW_GPU_AFFINITY_TEXT, NULL)
diff --git a/modules/video_output/win32/window.c b/modules/video_output/win32/window.c
index 563e4d5a4a97d46a3105e9966210e41f80f09661..f7ccaf0bea5109ce4997331396e03e6049cb2eba 100644
--- a/modules/video_output/win32/window.c
+++ b/modules/video_output/win32/window.c
@@ -746,7 +746,6 @@ static int Open(vout_window_t *wnd)
 vlc_module_begin()
     set_shortname(N_("Win32 window"))
     set_description(N_("Win32 window"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_capability("vout window", 10)
     set_callback(Open)
diff --git a/modules/video_output/win32/wingdi.c b/modules/video_output/win32/wingdi.c
index 18343dd837887da451d828dbb7a87c18907ea210..3886cb11a6588194940de69502d76b87c787c282 100644
--- a/modules/video_output/win32/wingdi.c
+++ b/modules/video_output/win32/wingdi.c
@@ -47,7 +47,6 @@ static int  Open (vout_display_t *,
 static void Close(vout_display_t *);
 
 vlc_module_begin ()
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_shortname("GDI")
     set_description(N_("Windows GDI video output"))
diff --git a/modules/video_output/window_os2.c b/modules/video_output/window_os2.c
index c3c27f1164af155e20701491a4aa589d9c241c6a..a49194abc5ae2f4e1a6b2b2d5252caa8f0ef8533 100644
--- a/modules/video_output/window_os2.c
+++ b/modules/video_output/window_os2.c
@@ -45,7 +45,6 @@ static int Open( vout_window_t *wnd );
 vlc_module_begin ()
     set_shortname( N_("OS/2 window"))
     set_description( N_("OS/2 non-embeded window video"))
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VOUT )
     set_capability ("vout window", 30 )
     set_callback( Open )
diff --git a/modules/video_output/xcb/render.c b/modules/video_output/xcb/render.c
index bba07265dfcf5581673d72b8953d1f394ba947b2..4ecedbf332e5508e31a6c828a8bfef3bc50e4eda 100644
--- a/modules/video_output/xcb/render.c
+++ b/modules/video_output/xcb/render.c
@@ -711,7 +711,6 @@ static const char *filter_descs[] = {
 vlc_module_begin()
     set_shortname(N_("RENDER"))
     set_description(N_("X11 RENDER video output (XCB)"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_callback_display(Open, 200)
     add_shortcut("x11-render", "xcb-render", "render")
diff --git a/modules/video_output/xcb/window.c b/modules/video_output/xcb/window.c
index 24c0554d85bb8b6fb950176c5d3265610fcaaf43..1de54ed9638bd2f6c08b37b920fe8f6c2e10e2e5 100644
--- a/modules/video_output/xcb/window.c
+++ b/modules/video_output/xcb/window.c
@@ -976,7 +976,6 @@ static void EmClose (vout_window_t *wnd)
 vlc_module_begin ()
     set_shortname (N_("X window"))
     set_description (N_("X11 video window (XCB)"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_capability ("vout window", 10)
     set_callback(Open)
@@ -984,7 +983,6 @@ vlc_module_begin ()
     add_submodule ()
     set_shortname (N_("Drawable"))
     set_description (N_("Embedded window video"))
-    set_category (CAT_VIDEO)
     set_subcategory (SUBCAT_VIDEO_VOUT)
     set_capability ("vout window", 70)
     set_callback(EmOpen)
diff --git a/modules/video_output/xcb/x11.c b/modules/video_output/xcb/x11.c
index be7365cdb169bc13ded518175047678d41989767..542a61b9abd9a6b554d4fcd565359a8347d38e6f 100644
--- a/modules/video_output/xcb/x11.c
+++ b/modules/video_output/xcb/x11.c
@@ -358,7 +358,6 @@ error:
 vlc_module_begin()
     set_shortname(N_("X11"))
     set_description(N_("X11 video output (XCB)"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
     set_callback_display(Open, 100)
     add_shortcut("xcb-x11", "x11")
diff --git a/modules/video_output/yuv.c b/modules/video_output/yuv.c
index 3688a2cabf9236a448486046e9b4b52f91a0279d..3612ed770c49ac8d3629d83e9282672e75775937 100644
--- a/modules/video_output/yuv.c
+++ b/modules/video_output/yuv.c
@@ -56,7 +56,6 @@ static void Close(vout_display_t *vd);
 vlc_module_begin()
     set_shortname(N_("YUV output"))
     set_description(N_("YUV video output"))
-    set_category(CAT_VIDEO)
     set_subcategory(SUBCAT_VIDEO_VOUT)
 
     add_string(CFG_PREFIX "file", "stream.yuv",
diff --git a/modules/video_splitter/clone.c b/modules/video_splitter/clone.c
index 0c5e6df48b02f049f41ad3af9239427866090f28..c4c4853dbcec714895dd9ea19eb3eb0a946bdbbc 100644
--- a/modules/video_splitter/clone.c
+++ b/modules/video_splitter/clone.c
@@ -55,7 +55,6 @@ vlc_module_begin ()
     set_capability( "video splitter", 0 )
     set_shortname( N_("Clone" ))
     set_help(CLONE_HELP)
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_SPLITTER )
 
     add_integer( CFG_PREFIX "count", 2, COUNT_TEXT, COUNT_LONGTEXT )
diff --git a/modules/video_splitter/panoramix.c b/modules/video_splitter/panoramix.c
index 6219b27ffcf56f040ded5c8fdad8f5e7c462f6e8..5314eeef2f7a20caf5cae99c0e6fd86aae1adb46 100644
--- a/modules/video_splitter/panoramix.c
+++ b/modules/video_splitter/panoramix.c
@@ -79,7 +79,6 @@ vlc_module_begin()
     set_shortname( N_("Panoramix" ))
     set_help(PANORAMIX_HELP)
     set_capability( "video splitter", 0 )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_SPLITTER )
 
     add_integer( CFG_PREFIX "cols", -1, COLS_TEXT, COLS_LONGTEXT )
diff --git a/modules/video_splitter/wall.c b/modules/video_splitter/wall.c
index 092ff25fa7c321633f7d63e58eb1e4f8a288cad3..20d4105edc20b216a6ad1a8d937cc0d256f2d662 100644
--- a/modules/video_splitter/wall.c
+++ b/modules/video_splitter/wall.c
@@ -61,7 +61,6 @@ vlc_module_begin()
     set_description( N_("Wall video filter") )
     set_shortname( N_("Image wall" ))
     set_capability( "video splitter", 0 )
-    set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_SPLITTER )
 
     add_integer( CFG_PREFIX "cols", 3, COLS_TEXT, COLS_LONGTEXT )
diff --git a/modules/visualization/glspectrum.c b/modules/visualization/glspectrum.c
index e851a7497f281a0a6b87caffc05622abd83a9374..b88d69a8722e895c0ed396ff065c87c92dcb7bfb 100644
--- a/modules/visualization/glspectrum.c
+++ b/modules/visualization/glspectrum.c
@@ -63,7 +63,6 @@ vlc_module_begin()
     set_shortname(N_("glSpectrum"))
     set_description(N_("3D OpenGL spectrum visualization"))
     set_capability("visualization", 0)
-    set_category(CAT_AUDIO)
     set_subcategory(SUBCAT_AUDIO_VISUAL)
 
     add_integer("glspectrum-width", 400, WIDTH_TEXT, WIDTH_LONGTEXT)
diff --git a/modules/visualization/goom.c b/modules/visualization/goom.c
index 3dde8b0807767433f15248f83f01067f722faa2c..de2339e1cb29dda8420ac233794c7bb8748d0fb2 100644
--- a/modules/visualization/goom.c
+++ b/modules/visualization/goom.c
@@ -57,7 +57,6 @@ static void Close        ( filter_t * );
 vlc_module_begin ()
     set_shortname( N_("Goom"))
     set_description( N_("Goom effect") )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_VISUAL )
     set_capability( "visualization", 0 )
     add_integer( "goom-width", 800,
diff --git a/modules/visualization/projectm.cpp b/modules/visualization/projectm.cpp
index f7176083bfb6e62a48dbddd4ece859856760e9a1..2067ad065666fbaee68fc8f9dd3242058e53acbe 100644
--- a/modules/visualization/projectm.cpp
+++ b/modules/visualization/projectm.cpp
@@ -100,7 +100,6 @@ vlc_module_begin ()
     set_shortname( N_("projectM"))
     set_description( N_("libprojectM effect") )
     set_capability( "visualization", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_VISUAL )
 #ifndef HAVE_PROJECTM2
     add_loadfile("projectm-config", "/usr/share/projectM/config.inp",
diff --git a/modules/visualization/visual/visual.c b/modules/visualization/visual/visual.c
index 08642b724df3de26c250117d74dc1e67c7ce42f5..b9a0c2c913c117209003dda4be59cd9dcb91df8c 100644
--- a/modules/visualization/visual/visual.c
+++ b/modules/visualization/visual/visual.c
@@ -116,7 +116,6 @@ static void Close        ( filter_t * );
 
 vlc_module_begin ()
     set_shortname( N_("Visualizer"))
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_VISUAL )
     set_description( N_("Visualizer filter") )
     set_section( N_( "General") , NULL )
diff --git a/modules/visualization/vsxu.cpp b/modules/visualization/vsxu.cpp
index cce9ac4a193027417f004a53080a370c59de9adf..f497214f8ad6f9c455558e3380cca47e9994714c 100644
--- a/modules/visualization/vsxu.cpp
+++ b/modules/visualization/vsxu.cpp
@@ -58,7 +58,6 @@ vlc_module_begin ()
     set_shortname( N_("vsxu"))
     set_description( N_("vsxu") )
     set_capability( "visualization", 0 )
-    set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_VISUAL )
     add_integer( "vsxu-width", 1280, WIDTH_TEXT, WIDTH_LONGTEXT )
     add_integer( "vsxu-height", 800, HEIGHT_TEXT, HEIGHT_LONGTEXT )