From 6f68f894986e11e3f6215f6c2c25e5c0a3139429 Mon Sep 17 00:00:00 2001
From: Lyndon Brown <jnqnfe@gmail.com>
Date: Thu, 18 Apr 2019 19:03:03 +0100
Subject: [PATCH] plugins: purge use of set_category()

see e967f81f6abdf24b8eb13d0aa8f58ae44e4d9be7.

note, this does **not** affect cat-based module selection items
(of which there are just three in use by the core), since that
mechanism uses subcats not cats.
---
 modules/access/alsa.c                               | 1 -
 modules/access/amt.c                                | 1 -
 modules/access/avaudiocapture.m                     | 1 -
 modules/access/avcapture.m                          | 1 -
 modules/access/avio.h                               | 2 --
 modules/access/bluray.c                             | 2 --
 modules/access/cdda.c                               | 1 -
 modules/access/concat.c                             | 1 -
 modules/access/data.c                               | 1 -
 modules/access/dcp/dcp.cpp                          | 1 -
 modules/access/decklink.cpp                         | 1 -
 modules/access/dshow/dshow.cpp                      | 1 -
 modules/access/dsm/access.c                         | 2 --
 modules/access/dtv/access.c                         | 1 -
 modules/access/dv.c                                 | 1 -
 modules/access/dvb/access.c                         | 1 -
 modules/access/dvdnav.c                             | 2 --
 modules/access/dvdread.c                            | 1 -
 modules/access/fs.c                                 | 1 -
 modules/access/ftp.c                                | 2 --
 modules/access/gopher.c                             | 1 -
 modules/access/http.c                               | 1 -
 modules/access/http/access.c                        | 1 -
 modules/access/imem-access.c                        | 1 -
 modules/access/imem.c                               | 1 -
 modules/access/jack.c                               | 1 -
 modules/access/linsys/linsys_hdsdi.c                | 1 -
 modules/access/linsys/linsys_sdi.c                  | 1 -
 modules/access/live555.cpp                          | 1 -
 modules/access/mms/mms.c                            | 1 -
 modules/access/mtp.c                                | 1 -
 modules/access/nfs.c                                | 1 -
 modules/access/oss.c                                | 1 -
 modules/access/pulse.c                              | 1 -
 modules/access/rdp.c                                | 1 -
 modules/access/rist.c                               | 1 -
 modules/access/rtp/ac3.c                            | 1 -
 modules/access/rtp/mpeg12.c                         | 1 -
 modules/access/rtp/pcm.c                            | 1 -
 modules/access/rtp/rtp.c                            | 1 -
 modules/access/rtp/xiph.c                           | 1 -
 modules/access/samba.c                              | 1 -
 modules/access/satip.c                              | 1 -
 modules/access/screen/screen.c                      | 1 -
 modules/access/screen/wayland.c                     | 1 -
 modules/access/screen/xcb.c                         | 1 -
 modules/access/sdp.c                                | 1 -
 modules/access/sftp.c                               | 1 -
 modules/access/shm.c                                | 1 -
 modules/access/smb2.c                               | 1 -
 modules/access/srt.c                                | 1 -
 modules/access/tcp.c                                | 1 -
 modules/access/timecode.c                           | 1 -
 modules/access/udp.c                                | 1 -
 modules/access/unc.c                                | 1 -
 modules/access/v4l2/v4l2.c                          | 1 -
 modules/access/vcd/vcd.c                            | 1 -
 modules/access/vdr.c                                | 1 -
 modules/access/vnc.c                                | 1 -
 modules/access/wasapi.c                             | 1 -
 modules/access_output/dummy.c                       | 1 -
 modules/access_output/file.c                        | 1 -
 modules/access_output/http-put.c                    | 1 -
 modules/access_output/http.c                        | 1 -
 modules/access_output/livehttp.c                    | 1 -
 modules/access_output/rist.c                        | 1 -
 modules/access_output/shout.c                       | 1 -
 modules/access_output/srt.c                         | 1 -
 modules/arm_neon/volume.c                           | 1 -
 modules/audio_filter/audiobargraph_a.c              | 1 -
 modules/audio_filter/center.c                       | 1 -
 modules/audio_filter/channel_mixer/dolby.c          | 1 -
 modules/audio_filter/channel_mixer/headphone.c      | 1 -
 modules/audio_filter/channel_mixer/mono.c           | 1 -
 modules/audio_filter/channel_mixer/remap.c          | 1 -
 modules/audio_filter/channel_mixer/simple.c         | 1 -
 modules/audio_filter/channel_mixer/spatialaudio.cpp | 1 -
 modules/audio_filter/channel_mixer/trivial.c        | 1 -
 modules/audio_filter/chorus_flanger.c               | 1 -
 modules/audio_filter/compressor.c                   | 1 -
 modules/audio_filter/converter/format.c             | 1 -
 modules/audio_filter/converter/tospdif.c            | 1 -
 modules/audio_filter/equalizer.c                    | 1 -
 modules/audio_filter/gain.c                         | 1 -
 modules/audio_filter/karaoke.c                      | 1 -
 modules/audio_filter/libebur128.c                   | 1 -
 modules/audio_filter/normvol.c                      | 1 -
 modules/audio_filter/param_eq.c                     | 1 -
 modules/audio_filter/resampler/bandlimited.c        | 1 -
 modules/audio_filter/resampler/soxr.c               | 1 -
 modules/audio_filter/resampler/speex.c              | 1 -
 modules/audio_filter/resampler/src.c                | 1 -
 modules/audio_filter/resampler/ugly.c               | 1 -
 modules/audio_filter/rnnoise.c                      | 1 -
 modules/audio_filter/scaletempo.c                   | 1 -
 modules/audio_filter/spatializer/spatializer.cpp    | 1 -
 modules/audio_filter/stereo_pan.c                   | 1 -
 modules/audio_filter/stereo_widen.c                 | 1 -
 modules/audio_mixer/float.c                         | 1 -
 modules/audio_mixer/integer.c                       | 1 -
 modules/audio_output/alsa.c                         | 1 -
 modules/audio_output/amem.c                         | 1 -
 modules/audio_output/audiotrack.c                   | 1 -
 modules/audio_output/audiounit_ios.m                | 1 -
 modules/audio_output/auhal.c                        | 1 -
 modules/audio_output/directsound.c                  | 1 -
 modules/audio_output/file.c                         | 1 -
 modules/audio_output/jack.c                         | 1 -
 modules/audio_output/kai.c                          | 1 -
 modules/audio_output/mmdevice.c                     | 1 -
 modules/audio_output/opensles_android.c             | 1 -
 modules/audio_output/oss.c                          | 1 -
 modules/audio_output/pulse.c                        | 1 -
 modules/audio_output/sndio.c                        | 1 -
 modules/audio_output/wasapi.c                       | 1 -
 modules/audio_output/waveout.c                      | 1 -
 modules/audio_output/winstore.c                     | 1 -
 modules/codec/a52.c                                 | 1 -
 modules/codec/adpcm.c                               | 1 -
 modules/codec/aes3.c                                | 1 -
 modules/codec/aom.c                                 | 1 -
 modules/codec/araw.c                                | 1 -
 modules/codec/arib/aribsub.c                        | 1 -
 modules/codec/audiotoolbox_midi.c                   | 1 -
 modules/codec/avcodec/avcodec.c                     | 1 -
 modules/codec/avcodec/d3d11va.c                     | 1 -
 modules/codec/avcodec/dxva2.c                       | 1 -
 modules/codec/avcodec/vaapi.c                       | 1 -
 modules/codec/bpg.c                                 | 1 -
 modules/codec/cc.c                                  | 3 +--
 modules/codec/cdg.c                                 | 1 -
 modules/codec/daala.c                               | 1 -
 modules/codec/dav1d.c                               | 1 -
 modules/codec/dca.c                                 | 1 -
 modules/codec/ddummy.c                              | 1 -
 modules/codec/dmo/dmo.c                             | 1 -
 modules/codec/dvbsub.c                              | 1 -
 modules/codec/faad.c                                | 1 -
 modules/codec/fdkaac.c                              | 1 -
 modules/codec/flac.c                                | 1 -
 modules/codec/fluidsynth.c                          | 1 -
 modules/codec/g711.c                                | 1 -
 modules/codec/gstreamer/gstdecode.c                 | 1 -
 modules/codec/hxxx_helper_testdec.c                 | 1 -
 modules/codec/jpeg.c                                | 1 -
 modules/codec/kate.c                                | 1 -
 modules/codec/libass.c                              | 1 -
 modules/codec/libmpeg2.c                            | 1 -
 modules/codec/lpcm.c                                | 1 -
 modules/codec/mad.c                                 | 1 -
 modules/codec/mft.c                                 | 1 -
 modules/codec/mpg123.c                              | 1 -
 modules/codec/oggspots.c                            | 1 -
 modules/codec/omxil/mediacodec.c                    | 1 -
 modules/codec/omxil/omxil.c                         | 1 -
 modules/codec/opus.c                                | 1 -
 modules/codec/png.c                                 | 1 -
 modules/codec/qsv.c                                 | 1 -
 modules/codec/rav1e.c                               | 1 -
 modules/codec/rawvideo.c                            | 1 -
 modules/codec/rtpvideo.c                            | 1 -
 modules/codec/schroedinger.c                        | 1 -
 modules/codec/scte18.c                              | 1 -
 modules/codec/scte27.c                              | 1 -
 modules/codec/shine.c                               | 1 -
 modules/codec/spdif.c                               | 1 -
 modules/codec/speex.c                               | 1 -
 modules/codec/spudec/spudec.c                       | 1 -
 modules/codec/stl.c                                 | 1 -
 modules/codec/subsdec.c                             | 1 -
 modules/codec/substx3g.c                            | 1 -
 modules/codec/subsusf.c                             | 1 -
 modules/codec/svcdsub.c                             | 1 -
 modules/codec/svg.c                                 | 1 -
 modules/codec/telx.c                                | 1 -
 modules/codec/textst.c                              | 1 -
 modules/codec/theora.c                              | 1 -
 modules/codec/ttml/ttml.c                           | 2 --
 modules/codec/twolame.c                             | 1 -
 modules/codec/uleaddvaudio.c                        | 1 -
 modules/codec/videotoolbox.c                        | 1 -
 modules/codec/vorbis.c                              | 1 -
 modules/codec/vpx.c                                 | 1 -
 modules/codec/webvtt/webvtt.c                       | 3 ---
 modules/codec/x264.c                                | 1 -
 modules/codec/x265.c                                | 1 -
 modules/codec/xwd.c                                 | 1 -
 modules/codec/zvbi.c                                | 1 -
 modules/control/cli/cli.c                           | 1 -
 modules/control/dbus/dbus.c                         | 1 -
 modules/control/gestures.c                          | 1 -
 modules/control/globalhotkeys/win32.c               | 1 -
 modules/control/globalhotkeys/xcb.c                 | 1 -
 modules/control/hotkeys.c                           | 1 -
 modules/control/lirc.c                              | 1 -
 modules/control/netsync.c                           | 1 -
 modules/control/ntservice.c                         | 1 -
 modules/control/win_msg.c                           | 1 -
 modules/demux/adaptive/adaptive.cpp                 | 1 -
 modules/demux/aiff.c                                | 1 -
 modules/demux/asf/asf.c                             | 1 -
 modules/demux/au.c                                  | 1 -
 modules/demux/avformat/avformat.c                   | 1 -
 modules/demux/avi/avi.c                             | 1 -
 modules/demux/caf.c                                 | 1 -
 modules/demux/cdg.c                                 | 1 -
 modules/demux/demuxdump.c                           | 1 -
 modules/demux/directory.c                           | 1 -
 modules/demux/dmxmus.c                              | 1 -
 modules/demux/filter/noseek.c                       | 1 -
 modules/demux/flac.c                                | 1 -
 modules/demux/gme.c                                 | 1 -
 modules/demux/image.c                               | 1 -
 modules/demux/mjpeg.c                               | 1 -
 modules/demux/mkv/mkv.cpp                           | 1 -
 modules/demux/mock.c                                | 1 -
 modules/demux/mod.c                                 | 1 -
 modules/demux/mp4/mp4.c                             | 2 --
 modules/demux/mpc.c                                 | 1 -
 modules/demux/mpeg/es.c                             | 1 -
 modules/demux/mpeg/h26x.c                           | 2 --
 modules/demux/mpeg/mpgv.c                           | 1 -
 modules/demux/mpeg/ps.c                             | 1 -
 modules/demux/mpeg/ts.c                             | 1 -
 modules/demux/nsv.c                                 | 1 -
 modules/demux/nuv.c                                 | 1 -
 modules/demux/ogg.c                                 | 1 -
 modules/demux/playlist/playlist.c                   | 1 -
 modules/demux/pva.c                                 | 1 -
 modules/demux/rawaud.c                              | 1 -
 modules/demux/rawdv.c                               | 1 -
 modules/demux/rawvid.c                              | 1 -
 modules/demux/sid.cpp                               | 1 -
 modules/demux/smf.c                                 | 1 -
 modules/demux/stl.c                                 | 1 -
 modules/demux/subtitle.c                            | 1 -
 modules/demux/tta.c                                 | 1 -
 modules/demux/ty.c                                  | 1 -
 modules/demux/vc1.c                                 | 1 -
 modules/demux/vobsub.c                              | 1 -
 modules/demux/voc.c                                 | 1 -
 modules/demux/wav.c                                 | 1 -
 modules/demux/xa.c                                  | 1 -
 modules/demux/ytdl.c                                | 1 -
 modules/gui/macosx/main/macosx.m                    | 1 -
 modules/gui/minimal_macosx/macosx.c                 | 1 -
 modules/gui/ncurses.c                               | 1 -
 modules/gui/qt/qt.cpp                               | 1 -
 modules/gui/skins2/src/skin_main.cpp                | 1 -
 modules/hw/d3d11/d3d11_filters.c                    | 1 -
 modules/hw/d3d9/d3d9_filters.c                      | 1 -
 modules/hw/mmal/codec.c                             | 1 -
 modules/hw/mmal/converter.c                         | 1 -
 modules/hw/mmal/deinterlace.c                       | 1 -
 modules/hw/mmal/vout.c                              | 1 -
 modules/hw/nvdec/chroma.c                           | 1 -
 modules/hw/nvdec/nvdec.c                            | 1 -
 modules/hw/nvdec/nvdec_gl.c                         | 1 -
 modules/hw/vaapi/decoder_device.c                   | 1 -
 modules/hw/vaapi/filters.c                          | 1 -
 modules/hw/vdpau/adjust.c                           | 1 -
 modules/hw/vdpau/avcodec.c                          | 1 -
 modules/hw/vdpau/chroma.c                           | 1 -
 modules/hw/vdpau/deinterlace.c                      | 1 -
 modules/hw/vdpau/display.c                          | 1 -
 modules/hw/vdpau/sharpen.c                          | 1 -
 modules/keystore/file.c                             | 2 --
 modules/keystore/keychain.m                         | 1 -
 modules/keystore/kwallet.c                          | 1 -
 modules/keystore/memory.c                           | 1 -
 modules/keystore/secret.c                           | 1 -
 modules/logger/android.c                            | 1 -
 modules/logger/console.c                            | 1 -
 modules/logger/file.c                               | 1 -
 modules/logger/journal.c                            | 1 -
 modules/logger/json.c                               | 1 -
 modules/logger/syslog.c                             | 1 -
 modules/lua/vlc.c                                   | 1 -
 modules/meta_engine/folder.c                        | 1 -
 modules/misc/addons/fsstorage.c                     | 2 --
 modules/misc/addons/vorepository.c                  | 2 --
 modules/misc/audioscrobbler.c                       | 1 -
 modules/misc/fingerprinter.c                        | 1 -
 modules/misc/gnutls.c                               | 2 --
 modules/misc/inhibit/dbus.c                         | 1 -
 modules/misc/inhibit/iokit-inhibit.c                | 1 -
 modules/misc/inhibit/uikit-inhibit.m                | 1 -
 modules/misc/inhibit/wl-idle-inhibit.c              | 1 -
 modules/misc/inhibit/xdg.c                          | 1 -
 modules/misc/medialibrary/medialibrary.cpp          | 1 -
 modules/misc/playlist/export.c                      | 1 -
 modules/misc/securetransport.c                      | 2 --
 modules/mux/asf.c                                   | 1 -
 modules/mux/avi.c                                   | 1 -
 modules/mux/dummy.c                                 | 1 -
 modules/mux/mp4/mp4.c                               | 2 --
 modules/mux/mpeg/ps.c                               | 1 -
 modules/mux/mpeg/ts.c                               | 1 -
 modules/mux/mpjpeg.c                                | 1 -
 modules/mux/ogg.c                                   | 1 -
 modules/mux/wav.c                                   | 1 -
 modules/notify/notify.c                             | 1 -
 modules/notify/osx_notifications.m                  | 1 -
 modules/packetizer/a52.c                            | 1 -
 modules/packetizer/av1.c                            | 1 -
 modules/packetizer/avparser.h                       | 1 -
 modules/packetizer/copy.c                           | 1 -
 modules/packetizer/dts.c                            | 1 -
 modules/packetizer/flac.c                           | 1 -
 modules/packetizer/h264.c                           | 1 -
 modules/packetizer/hevc.c                           | 1 -
 modules/packetizer/mjpeg.c                          | 1 -
 modules/packetizer/mlp.c                            | 1 -
 modules/packetizer/mpeg4audio.c                     | 1 -
 modules/packetizer/mpeg4video.c                     | 1 -
 modules/packetizer/mpegaudio.c                      | 1 -
 modules/packetizer/mpegvideo.c                      | 1 -
 modules/packetizer/vc1.c                            | 1 -
 modules/services_discovery/avahi.c                  | 2 --
 modules/services_discovery/bonjour.m                | 2 --
 modules/services_discovery/microdns.c               | 2 --
 modules/services_discovery/mtp.c                    | 1 -
 modules/services_discovery/os2drive.c               | 1 -
 modules/services_discovery/podcast.c                | 1 -
 modules/services_discovery/pulse.c                  | 1 -
 modules/services_discovery/sap.c                    | 1 -
 modules/services_discovery/udev.c                   | 3 ---
 modules/services_discovery/upnp.cpp                 | 4 ----
 modules/services_discovery/windrive.c               | 1 -
 modules/services_discovery/xcb_apps.c               | 1 -
 modules/spu/audiobargraph_v.c                       | 1 -
 modules/spu/dynamicoverlay/dynamicoverlay.c         | 1 -
 modules/spu/logo.c                                  | 1 -
 modules/spu/marq.c                                  | 1 -
 modules/spu/mosaic.c                                | 1 -
 modules/spu/rss.c                                   | 1 -
 modules/spu/subsdelay.c                             | 1 -
 modules/stream_extractor/archive.c                  | 1 -
 modules/stream_filter/accesstweaks.c                | 1 -
 modules/stream_filter/adf.c                         | 1 -
 modules/stream_filter/aribcam.c                     | 1 -
 modules/stream_filter/cache_block.c                 | 1 -
 modules/stream_filter/cache_read.c                  | 1 -
 modules/stream_filter/decomp.c                      | 1 -
 modules/stream_filter/hds/hds.c                     | 1 -
 modules/stream_filter/inflate.c                     | 1 -
 modules/stream_filter/prefetch.c                    | 1 -
 modules/stream_filter/record.c                      | 1 -
 modules/stream_filter/skiptags.c                    | 1 -
 modules/stream_out/bridge.c                         | 4 +---
 modules/stream_out/chromaprint.c                    | 1 -
 modules/stream_out/chromecast/cast.cpp              | 1 -
 modules/stream_out/chromecast/chromecast_demux.cpp  | 1 -
 modules/stream_out/cycle.c                          | 1 -
 modules/stream_out/delay.c                          | 1 -
 modules/stream_out/display.c                        | 1 -
 modules/stream_out/duplicate.c                      | 1 -
 modules/stream_out/es.c                             | 1 -
 modules/stream_out/mosaic_bridge.c                  | 1 -
 modules/stream_out/record.c                         | 1 -
 modules/stream_out/rtp.c                            | 1 -
 modules/stream_out/sdi/sdiout.cpp                   | 1 -
 modules/stream_out/setid.c                          | 1 -
 modules/stream_out/smem.c                           | 1 -
 modules/stream_out/standard.c                       | 1 -
 modules/stream_out/stats.c                          | 1 -
 modules/stream_out/transcode/transcode.c            | 1 -
 modules/stream_out/udp.c                            | 1 -
 modules/text_renderer/freetype/freetype.c           | 1 -
 modules/text_renderer/nsspeechsynthesizer.m         | 1 -
 modules/text_renderer/sapi.cpp                      | 1 -
 modules/text_renderer/svg.c                         | 1 -
 modules/video_chroma/swscale.c                      | 1 -
 modules/video_filter/adjust.c                       | 1 -
 modules/video_filter/alphamask.c                    | 1 -
 modules/video_filter/anaglyph.c                     | 1 -
 modules/video_filter/antiflicker.c                  | 1 -
 modules/video_filter/ball.c                         | 1 -
 modules/video_filter/blendbench.c                   | 1 -
 modules/video_filter/bluescreen.c                   | 1 -
 modules/video_filter/canvas.c                       | 1 -
 modules/video_filter/ci_filters.m                   | 1 -
 modules/video_filter/colorthres.c                   | 1 -
 modules/video_filter/croppadd.c                     | 1 -
 modules/video_filter/deinterlace/deinterlace.c      | 1 -
 modules/video_filter/deinterlace/glblend.c          | 1 -
 modules/video_filter/edgedetection.c                | 1 -
 modules/video_filter/erase.c                        | 1 -
 modules/video_filter/extract.c                      | 1 -
 modules/video_filter/formatcrop.c                   | 1 -
 modules/video_filter/fps.c                          | 1 -
 modules/video_filter/freeze.c                       | 1 -
 modules/video_filter/gaussianblur.c                 | 1 -
 modules/video_filter/gradfun.c                      | 1 -
 modules/video_filter/gradient.c                     | 1 -
 modules/video_filter/grain.c                        | 1 -
 modules/video_filter/hqdn3d.c                       | 1 -
 modules/video_filter/invert.c                       | 1 -
 modules/video_filter/magnify.c                      | 1 -
 modules/video_filter/mirror.c                       | 1 -
 modules/video_filter/motionblur.c                   | 1 -
 modules/video_filter/motiondetect.c                 | 1 -
 modules/video_filter/oldmovie.c                     | 1 -
 modules/video_filter/opencv_example.cpp             | 1 -
 modules/video_filter/opencv_wrapper.c               | 1 -
 modules/video_filter/opengl.c                       | 1 -
 modules/video_filter/posterize.c                    | 1 -
 modules/video_filter/postproc.c                     | 1 -
 modules/video_filter/psychedelic.c                  | 1 -
 modules/video_filter/puzzle/puzzle.c                | 1 -
 modules/video_filter/ripple.c                       | 1 -
 modules/video_filter/rotate.c                       | 1 -
 modules/video_filter/scene.c                        | 1 -
 modules/video_filter/sepia.c                        | 1 -
 modules/video_filter/sharpen.c                      | 1 -
 modules/video_filter/transform.c                    | 1 -
 modules/video_filter/vhs.c                          | 1 -
 modules/video_filter/wave.c                         | 1 -
 modules/video_output/android/display.c              | 1 -
 modules/video_output/android/window.c               | 1 -
 modules/video_output/apple/VLCOpenGLES2VideoView.m  | 1 -
 modules/video_output/apple/VLCVideoUIView.m         | 1 -
 modules/video_output/caca.c                         | 1 -
 modules/video_output/caopengllayer.m                | 1 -
 modules/video_output/decklink.cpp                   | 2 --
 modules/video_output/drawable_os2.c                 | 1 -
 modules/video_output/fb.c                           | 1 -
 modules/video_output/flaschen.c                     | 1 -
 modules/video_output/glx.c                          | 1 -
 modules/video_output/kms.c                          | 1 -
 modules/video_output/kva.c                          | 1 -
 modules/video_output/libplacebo/display.c           | 1 -
 modules/video_output/libplacebo/instance_opengl.c   | 1 -
 modules/video_output/libplacebo/instance_vulkan.c   | 1 -
 modules/video_output/macosx.m                       | 1 -
 modules/video_output/opengl/display.c               | 1 -
 modules/video_output/opengl/egl.c                   | 1 -
 modules/video_output/opengl/filter_mock.c           | 1 -
 modules/video_output/opengl/interop_android.c       | 1 -
 modules/video_output/opengl/interop_cvpx.m          | 1 -
 modules/video_output/opengl/interop_dxva2.c         | 1 -
 modules/video_output/opengl/interop_vaapi.c         | 1 -
 modules/video_output/opengl/interop_vdpau.c         | 1 -
 modules/video_output/opengl/pl_scale.c              | 1 -
 modules/video_output/splitter.c                     | 1 -
 modules/video_output/vdummy.c                       | 1 -
 modules/video_output/vgl.c                          | 1 -
 modules/video_output/vmem.c                         | 1 -
 modules/video_output/vulkan/platform_android.c      | 1 -
 modules/video_output/vulkan/platform_win32.c        | 1 -
 modules/video_output/vulkan/platform_xcb.c          | 1 -
 modules/video_output/wayland/shm.c                  | 1 -
 modules/video_output/wayland/vulkan.c               | 1 -
 modules/video_output/wayland/xdg-shell.c            | 1 -
 modules/video_output/wdummy.c                       | 1 -
 modules/video_output/wextern.c                      | 1 -
 modules/video_output/win32/direct3d11.cpp           | 1 -
 modules/video_output/win32/direct3d9.c              | 1 -
 modules/video_output/win32/drawable.c               | 1 -
 modules/video_output/win32/glwin32.c                | 1 -
 modules/video_output/win32/inhibit.c                | 1 -
 modules/video_output/win32/wgl.c                    | 1 -
 modules/video_output/win32/window.c                 | 1 -
 modules/video_output/win32/wingdi.c                 | 1 -
 modules/video_output/window_os2.c                   | 1 -
 modules/video_output/xcb/render.c                   | 1 -
 modules/video_output/xcb/window.c                   | 2 --
 modules/video_output/xcb/x11.c                      | 1 -
 modules/video_output/yuv.c                          | 1 -
 modules/video_splitter/clone.c                      | 1 -
 modules/video_splitter/panoramix.c                  | 1 -
 modules/video_splitter/wall.c                       | 1 -
 modules/visualization/glspectrum.c                  | 1 -
 modules/visualization/goom.c                        | 1 -
 modules/visualization/projectm.cpp                  | 1 -
 modules/visualization/visual/visual.c               | 1 -
 modules/visualization/vsxu.cpp                      | 1 -
 477 files changed, 2 insertions(+), 506 deletions(-)

diff --git a/modules/access/alsa.c b/modules/access/alsa.c
index 5bc583c700a4..c8a478a2ff6d 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 e578f007edbd..7e5426c2b195 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 f4171028c48d..51dd57a108aa 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 50898f44a63e..52fcf3622430 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 931633065d3a..81d7c717fcdd 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 632a242e5e1f..c7089a800aaa 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 a4d0debbc48e..dfe6136eadcf 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 815ff253fc82..e90b0743d0ac 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 f656df9e03e7..3d33826fc1e8 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 093be530fdb4..e8215f33fcad 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 097e53895f73..d3f26f5be958 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 ae4594797742..e7c50b03eeaf 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 439d1b66e251..507013588fe3 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 b4bc33d751ef..8e8bc80819d8 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 8a8baa104d75..cb993427df2e 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 0e541821dd12..c981fcc0090b 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 5d418bf2a0aa..56e272d2987a 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 c1e2c4b696b0..ea3d41613eb8 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 5492b20a733a..0762bccbfd74 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 a90f88706527..e753bbc84355 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 c8ed71369c87..de2bd2047ad6 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 7c12edf1db24..8a0ae7c104ff 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 b8be006f68a0..fd805ad65efc 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 3e902822ac83..a953abfd99e1 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 d1084c015248..bcf102fcd3e7 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 b68c19b55b5c..cb2c5844afef 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 669ee915bddb..8c8244807653 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 3c66222324c3..65f9f05966ff 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 00b5d5edf4c5..806e99bd9673 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 948b6521df9d..6678ae10297b 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 d77b54d73173..f4c218aea9c3 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 3fa38a0ba8a1..3b172965f044 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 5aca74c5b4aa..99126d14352d 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 bcf3ae6b486f..888ccb4d085c 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 d1e12efec305..b34d7008fd7f 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 8a71ab33b0f6..596be751acaa 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 4edfddce1f72..d652d053089f 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 a828738f0b42..76c000491d45 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 ded00004e1e8..ed2bd850f568 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 c521ae7ce1c2..9f3bb7219c2a 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 dbd6c3ceb1f9..75511bb6393d 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 d01c9f4a0735..1f038c6641fe 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 4039c59d4f52..8e8045cd9204 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 bb9e54ab01dd..483cc468b6c7 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 a86596452a47..459017012bf2 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 0e32ba36b95e..a7dc960caab7 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 556c4fcb0f7b..d1f5fea63afc 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 8c25f5c8cd63..859f03d79e59 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 df78ded2715d..37c1cdc8efd2 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 774598ca0061..2ccd89f03d56 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 399ef0045318..c5266226e16d 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 214a5853be72..67a34bf641ad 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 8d4370f178c7..e7a0c2c6e7d9 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 f31747b01ce6..23b2c7de33b8 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 e3228eec579a..b1dbb26002e8 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 6090fd28cc20..5267339337b8 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 39592b149321..7a82bf9c7710 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 f72af4a11310..b424406ab9e7 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 8947e7ae0498..e3035690b717 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 f2d4e06b48d7..37bb54f4d539 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 e81126eb4dd9..f5b5e584d3e5 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 24fcd870b2a0..d4ec686e559b 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 d5452ee8181d..7330e154fd00 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 b2d39681996d..e481c0865cde 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 dc4fe46d245c..11a4f38048b5 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 d24947e61069..8e065d97f56a 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 f19eb6405368..73ef2a0bab14 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 19472825ab76..1de140fbed1a 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 0ed1d2ed2379..b884ab1569f3 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 b02848bc9142..f717ac1e0915 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 14a41e156c3e..6d9f33272aea 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 4810eec6c2f7..8ae83547d0a6 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 636d8743fff4..495f508c855f 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 02e4176bea6b..373d51c4dd1d 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 107b19b5f488..948255ba9611 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 06f17e3fbfc7..d3c4aa5e0ea5 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 02195ef8ac5d..3393afcf6dd0 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 f4d9d00f5657..47d3fd9f301f 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 54d29dc5457e..57a41d191785 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 0c99a5c13711..065bb64357de 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 800f5eb139c7..f1ff29179483 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 be01958b301e..ac7d3153c206 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 ebbe77036a3c..4c9b525a1ef6 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 77613a97e25b..b6fbfb1f4031 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 2ec3d6e37c20..0874b41b0294 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 d824b837b5d8..708e4fd5c6f0 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 c9003e69227a..5f7a3e694e9d 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 472ba97d4875..6d521dad91ca 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 97ae8485651e..2e2867f72d60 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 85835fe092cc..faa256450795 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 d06b52178d8f..fff648548346 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 0542dcf2c297..e9af5cd0115f 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 da13a598dd0b..5711bd41fe0d 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 34229f001248..1188d1d7421c 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 166db017029c..14b60c7ca32c 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 4b9b82792818..a7bf5007b204 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 94e0857095ce..1a5b54dfabea 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 c3eda0fec71c..9242cc0d6902 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 d0d3b70008eb..cfc9d3ae1c11 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 aec6deb0265d..8ea0341eac19 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 3a8f23cdce40..4abc3887d3db 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 4df823537f74..1d92fa410abb 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 760ed19ea032..137a35c7cdc5 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 27d4e305dda1..804eeccbbc57 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 e1bb4b0db3de..99fc4df2edec 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 4bc2672aff0a..325b75deca36 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 6c3022577418..20aa31093057 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 443ac931f538..403028d71b94 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 8cd08a6b64ca..e3ef0b438b08 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 08e89e2b4332..e10d36212b60 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 72a0ada7ae20..b60626b7e689 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 cbf66a318e40..e8d87a8ef17b 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 907f32fab63b..0bd9f71356f2 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 69bb0b8a4231..314a77a5479f 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 f81dedffced1..510db42b3bcd 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 71affc1da5d0..9ba2e4094499 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 0711eb6afa9c..0252c6dd8a63 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 9db5af583e6e..e3e318d21e3c 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 ead71abcd227..742a3f16bc98 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 cc7721458637..4b5757e39d51 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 abe1290ff7eb..0cae7b5fc458 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 012bc64894df..ff348b30e3c5 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 450b65c7ea80..c004c84fef58 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 774b80087360..873123e9c3f1 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 31d7bcc89b23..32d57c6eca5a 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 0900e65c4a1b..6d5fb174f1ee 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 4e2c1cb5bc5f..4d11b0195fdb 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 a22fe490ed10..774add30daa7 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 316b397e9eee..81c0eca4dbf6 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 747b689f8906..097de653d4ee 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 14ece812673f..489197afe730 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 abc03b503b0a..604284278a7a 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 412e42c6c41b..d048cd69e7fa 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 75defb0edf3b..cb2e66ece05a 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 75cf1495b7ca..61aef2310e15 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 62e83e3102c1..5f9d562d361f 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 7f899e12785d..c31f9c6cae6f 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 d797957c4fc4..5c5dac1e26ae 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 f73828473333..f14c1d52c89f 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 7b6df530a8d5..3b649fe39faa 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 a9bbfaf59597..275659510664 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 e6301b1ea2e5..3eb2b18f5187 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 9d947d5421af..ba7236599a13 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 1adc65ffc834..6bef2978a443 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 791234c1e8c0..d2b76e3a761d 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 3f480ba69db0..657a3855c773 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 9fd4f3853fbf..9b13ce0967d7 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 9072dc5194de..672609eacf45 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 4a948102caee..53538832e73b 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 b8a3ac50a276..f4b654b44b34 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 f6e8fc37b5bf..c1d5bfc03f08 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 054482832a9f..aabc9b28fcfc 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 3dc133229de2..bce93af72dfe 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 589d5b745dee..50eae5d1ccb3 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 ceb4435f2111..2c4fd44f5352 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 f170aab97202..69b9003ade93 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 ef855c2bcecd..9b60cae86fa5 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 ba856e60ce1c..fbaccce70b3a 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 ae56f1d79b9d..8e3faeb82ba7 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 43f864ad29c7..6c70df7942b7 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 e1c27b1d3ce9..50ab587640c3 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 9269ab37dedb..7fe68ad5a1a8 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 73ee7cda210e..f6c27eaa71f6 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 372dc01d9e00..4987e8e79136 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 153488705a9b..625ec44a9dac 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 093d862c7b54..c7ab3b7c4451 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 e8d62613ed65..f333f5f21941 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 4acbfcaed351..0ee9448ba6c3 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 a00e0290a114..5ab49e64586f 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 d1abc0336877..7e4dd6a1424d 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 bc74c6fcd390..3ce2374fed05 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 46825bc4c605..2010e328a449 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 c49666dfee1b..21bf77a54788 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 fd5bf4f3b714..26499a1a8884 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 b3952917bdf7..d612a8783a07 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 26852f924851..d1b9d3574852 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 8e84cade8f30..c21091fd2efd 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 3f4517447304..3e2732260703 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 61b6244da707..e07908e32b6a 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 5b91c2e97250..24a71e8699c1 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 8fd2859fe234..5f856f9e0052 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 6ddacb4a3072..37cefa58930b 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 2fc32e84bc7c..521d3e1fe233 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 8da5f6d4e026..7878fc50def3 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 173cd8228c6d..b019bcc8d77a 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 7a39797fb806..b76d24722e20 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 f75c1d513b28..bb39258e29ce 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 bbf53935bd7e..8e5b52b826ee 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 b44279c32682..888d6ddf9cb7 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 76e9a699d2ac..595014510248 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 78a5e3da9dc1..9c7ebc099d40 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 ce886a7346ad..926c6fc1749b 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 fa10b308c04b..d82620954eea 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 5e31fec292e3..95f101782854 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 61fe603ae752..dc96932e641b 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 4af54d34344e..fbe448102cc7 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 9dc206190577..a5f60914475e 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 0e7ae1ba7006..e658efaf6781 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 e71a4d414ec4..4bc565b9b296 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 05a2ca50afe1..485671528a19 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 5beacb3147e9..6f39f2da47fd 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 a271dea127d4..04f23be301c2 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 49ccdd42d5bf..f41d558a59ed 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 2b9f6db66617..beb252c924b7 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 268c5ae27029..0f9ac9401d54 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 ae5cc1c2a4fb..6f2f1f95fe4a 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 3a1a8c7fd5e2..f7be5ad5dba7 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 cc9ac61d46bd..d47e82f75be6 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 84110bdf1c0b..c300e7b4462c 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 ed6d9ba1513c..5878945821e9 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 52850562f5f9..9e6ab72981d3 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 5bf2244b8b74..ffc976f32149 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 2e962c6fff5e..3eac1fe2e51d 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 91fd0df1378c..7e6aed88bff8 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 2c9788fd0e71..edb3d90fa301 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 3767d7b0ffa6..f2c1f123dc33 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 1dab36b47f57..8b8175c03409 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 59c04e983f81..9bd80f49a022 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 bd8891d2fcc2..096e7708b480 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 243563804582..298a353ab331 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 326954c9f25b..0a0106b1d313 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 48a029c5dcec..15fae3429542 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 cd8c5b3cbce1..e58bbe3ff64f 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 cfe2b7fe4e2f..1860e60c23ed 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 f540b103b253..abef56e34237 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 0b0600d50875..520c323e140c 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 0de94d46a855..999cf59589ef 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 26e23d3c6aef..69f6c1001802 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 f87a86be890e..7dba576a1388 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 afebf2a43235..e28f6dc5adcc 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 71bd918f669d..08f9721b7e31 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 57eb6bb8890e..d4bccff88854 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 de56629cd269..e9383319851c 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 f2dae114394f..774f40a061ed 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 a63576687274..94b481e28248 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 4f4c2d058766..2aafe01380d0 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 81c162cd254c..d348d6f473c3 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 dd1961112548..7acb53fca8cf 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 dcdf2092092b..1a9bf0bde31c 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 157264612b88..9b9e1bd81abb 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 106303c3c2e8..1a113e6c86d1 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 4b0623412f86..3c11d37f6d27 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 21e050b71873..2dd64d0d01fe 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 88d08526fa34..16e2371dd1d3 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 c785c141ded8..a2953091c351 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 0b31f7c66aed..80038b687f6b 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 5c95073fb38e..021b857f0df2 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 e72bbfde3182..5d78c025e35b 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 7134fa83ec75..35d536cd4842 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 a3b808bc28e5..613f9b71ebcc 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 579985186027..6577ca13a174 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 ea36d1060a03..de919aad300c 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 3842e87f7ff6..d7a70594feeb 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 87f7a25c2435..68304717e91d 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 90ed9b4f9a76..c00266ee6cf4 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 1cc647c0a1c8..67db054a24d2 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 5b9087ce4ca7..a4ab2388a497 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 16e456781792..c7fa33e6376b 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 bde1e6211526..4bfb51826456 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 f62af498ac91..d02e9cb53504 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 8703bb27f7fc..ce9618b2aed2 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 51a4d21a564d..c92906906f20 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 83733fb47437..0cdd85303332 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 842110c87aad..ef8db2d17792 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 333f2529953b..da9c65e1fdb1 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 ea893aee0729..7ec448805179 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 b60718558361..2bbabb19da3c 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 a5ef5f873715..f7765e594228 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 98707ee24796..0aea93671b9d 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 7981bc7ffc5f..dc0b563bc1e9 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 c590af7dc97e..13a0b5f67531 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 c5ddd5cdce60..37e6c0982bba 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 d611dd84656d..2030e3d59b4f 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 cd440c6de725..cd787c536877 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 f28c57892dec..48e5cf57891e 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 4f6389644075..888be4289dcc 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 5f34dd953505..1a41bb232202 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 f20f931f1895..1271d570f894 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 9d7e72b3f11a..58150cf543bf 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 b76bff7186a8..40c3c0e3cc25 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 06f02ce2399a..694c0cd5958c 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 985b08ae5900..3da9b372fcf0 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 3b51e5b23b24..dcda08f693c7 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 a51cfc775d56..44d45df71138 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 15a324acc30d..7b34576574aa 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 a361fe8bcb6e..b0c9fc9324ee 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 e8e516deb6d1..713ae8d89b7c 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 9e51f8f9173b..0e1d6219153b 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 016d01439414..b7b79eaa6447 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 0a16ebb6ff56..4614785cd46c 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 f812d6002613..e2bbe18e6f8b 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 e4bb5cb9cbce..ccfed2035a36 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 c1ae51d3e764..250b18e3d125 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 3617803d7e3c..32300d67a0b2 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 d9600f41e97d..9c9122a1721a 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 6f3ac40fa703..cf20750fdbbc 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 3a1218201536..d76e86e2ff11 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 2ac90b928140..b9939a932823 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 70ea28a35bdc..36cba6668b2e 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 3c8261d198e7..0d671f23f7c4 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 a80e916e8971..dc44c13e256f 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 5d509b294d71..14f59d97bbf4 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 ab666d1714db..9e4ed25f3ce9 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 bf30edaa6122..1292833adb53 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 9782aaa3d5d2..9b192b8d1894 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 320615a6914f..4b74e8ed8bc8 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 2207bc73f0d8..c66a3b519320 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 0500009d5715..0087a763e032 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 e7556d87b10c..1f1069473e85 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 d0dbe623d594..88a393a98d20 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 9b064a638a99..af4bd11babcd 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 fa015f3828b5..e8ab2be0f698 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 308e7fca04fc..e962fda796a2 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 55b0445e4d71..9e310758dc68 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 46b2e7c706de..a3b25c945525 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 6d4ee148b313..05aaf44d61f1 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 b8491ac5696c..9f2abab1b65f 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 d8f43f306062..e72d2444aa99 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 77bb9f371198..4a22ccc18eeb 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 a885e8d1d98f..f7db4d2f01c0 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 16f23d914c39..2bb536c038b0 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 223318642b73..b71596897439 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 6a3ae2b5f189..d1c84b629cf0 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 312e7b016119..ac3a987f187a 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 7a5098c0b042..b815babdcbf9 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 b87f666ebfef..96e47ce590f1 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 cda59f37741c..7c544152fc79 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 044ccc17890a..8b5c508d0a68 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 c741eeb07014..6ca4a814a1bb 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 d22ea63933b7..57aa8a50e0ab 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 9ee61f5f4aa0..f19523d83d3c 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 4dc34642a0ad..83a9eaa799a0 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 03bd1f4935ad..f828cb85beac 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 a745d93abe6e..916e7ae37e1b 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 d3ed3a230003..fd5daf21d4bf 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 dc5774866ba6..4e916d3d08ea 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 fce553ce47eb..8462715cbe27 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 3f075a70e02a..8bdd1a01341f 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 981a85efb2d9..7ab005971a21 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 71ccf1c3051f..06a9c9a0d212 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 f1a3c61dc2a8..e60958ff11b2 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 4d6cb363bbd2..ceec70e863f8 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 046c1d9279e1..a333904c41a7 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 ebd39295453e..480d89b26f6b 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 acdc7f9791c9..d1103472276e 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 862cbddc3199..4ed72827a1f7 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 cd240e3e47d5..195831884e21 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 b6bc9151c477..94a5b748d1dd 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 71f25140670c..02eae61b5976 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 eda8780a7a15..8d982b35b481 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 740d9a26cbd5..4ff411219cda 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 90b38234463e..7febdcb3b15c 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 026d03f4ab3e..931f66b460bd 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 427a06150fd2..ee286a1291c0 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 6792898b4a34..5a413e2acdf4 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 b39872b9b58a..1f510dbed27d 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 21302f5e4634..2805098a469a 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 8943f096e13a..7a3fb595cf4a 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 cc9e6b5e6e46..3812038e541a 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 456c68e82bd1..4fe00c52031d 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 bf6851f18167..496c159bfddf 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 18e0fee580e0..5d0411d991f2 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 30874d4d4be3..8f570f998dd4 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 566ecc1b071c..3c1910ee54d9 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 5fcab06f90fd..c53677aea8fe 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 3df94f9a7c9a..c97879b1b1c6 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 4c4ad8f04706..e2bd5a5d0468 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 53d5a7808a4c..37816d7b0972 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 90c754c6dc75..566ac6390a42 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 5d8a683ec4f2..3908d571924c 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 bdc44cd1fdb8..f0ef8a35c791 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 84f0cc075363..c9bc901bbcf7 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 a3d0579b1b2c..a5f2b11ab329 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 93a78d8c110d..894b3a239f87 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 166c0de604f8..9a9a22648df5 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 0ff5a35fdeb8..16f27f68e5d1 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 4318e313c5b2..4502980f7961 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 eb0837b802d7..0bfac79fab8d 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 683150077468..cd068e52b7ac 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 a094b1f982a4..02c1e7077849 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 74dcf315f850..4d65fda0392a 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 5886e839c38a..645674a3e7d3 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 fbe82d89837f..2473d34f5aab 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 f45c8b04140e..5f8fff18c3fa 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 db6b1886404e..dfdfe810ca9e 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 11ca65a8e255..2a7f87d88d3c 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 84b6dbe8faa5..db3b7adbdca8 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 7549bab47d0e..8c942d462d70 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 bbab399a798c..d2a535e81429 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 78d1e4170500..0cfd4df257da 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 80269aef07e5..f861a9e00589 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 a1f58183359f..d74d039e2bb4 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 8744c15ed537..b72491f9b856 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 42ab7dee18f9..74957ed7bfb5 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 e35538ee1090..0fa7a5f1a278 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 2360bf10133f..74964b2f08b5 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 ba342d66b7ab..d6276f3d1195 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 5cdb1fceb147..208578a7451a 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 613b98c66d3e..229ff22462cd 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 18f4f5d82259..e27df3617f65 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 0971d2d227f0..90a560d772b6 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 a1049607c8d0..05f644b26890 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 2c0ef1f09584..bf996b7e5401 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 08b9f8d67f12..a57915ccd42e 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 209daf937d8f..5bec3fb14054 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 b3b08afddecb..e9e6f2e25f77 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 643f2b21a0c7..69f69c17d5ad 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 dfbf3bedd747..9d7cf623894d 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 1a7e7eda2a56..1d07751c4c5a 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 e3d67635f6f1..f7be1669c5c0 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 9a7d6d0e949e..e5cf33e38f98 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 7769872a1c98..52bf3d06aba8 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 963c78ff9659..a9cae368f5a9 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 1343131dc872..a09f788f6fdc 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 08f429e11e9a..2ed41772cdf7 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 8c664a85267a..f7acd26dd791 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 e44aff65edb1..5fe7ade291a8 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 dae7b652335d..e0618511d6fb 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 df4f6a2cce95..5cabb9617f54 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 0f601e4af22c..b7bb76e53a06 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 fc6ba8e2744e..bcd58d311a75 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 9977e7ec6ada..b375e117cbbe 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 5ec22f6c681c..f59034424184 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 4b62c11635b4..9e42c0327c61 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 7fd1799e6c2a..c07285cde629 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 f1fd809498ec..2fec86cdbdc7 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 4018ee4ea5d1..8b852fc26b3d 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 a39178bf3a5e..c986d3bf3379 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 897660910fbd..435b5a1e576b 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 3768dcba2730..09d2a59e6bcd 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 0bc600bebb63..ee3ac679992f 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 139677cddd18..3674527f77b7 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 fb3323abb536..1e11325e7000 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 ebae7aa7c71d..1f2345b2a4b3 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 abc137d21aaf..4e2b9faca8f5 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 1e094ad18bac..78219c8a2f39 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 8c99430c0fb4..147afe802c61 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 0058bad1cf92..18de2804aa25 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 7130b6b8234a..3cdf362895c3 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 813131486373..bcae1c394669 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 8324e5f76d71..f5b04d782514 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 63c07bd2d889..b2a067842b55 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 e8431e7e8a39..137daac28a80 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 76df669aa7f9..8c0f9a594786 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 fbc2dec21f91..4f559d818fb0 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 3735302a1dfc..0f4ae20fd4b8 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 814aa223dce2..7e4580719775 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 345f8f8a5062..f25a458d4d13 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 8977a5e729b8..7b16b40fd09f 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 659e80d9881f..e97a922855d9 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 a50405042ce8..4920cb38f58e 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 94371a23f1eb..a91106a3fb86 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 96f53128fadb..7ea604280bae 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 1aa1977cb9d4..896b6d594bef 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 a71dc961f0da..a7aecb638af3 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 aaa45ea5775d..1c734b9f43fe 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 43cffcbee39e..fcdf0544a0b0 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 d9f62013c641..722c821e21ae 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 97b37b1f1551..da3da508245b 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 ee88a10e1b87..25fb37fcfda5 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 3dac8113dd1d..1bb55eb62e39 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 a8b72aacab89..4f21dd70a80f 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 563e4d5a4a97..f7ccaf0bea51 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 18343dd83788..3886cb11a658 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 c3c27f1164af..a49194abc5ae 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 bba07265dfcf..4ecedbf332e5 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 24c0554d85bb..1de54ed9638b 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 be7365cdb169..542a61b9abd9 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 3688a2cabf92..3612ed770c49 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 0c5e6df48b02..c4c4853dbcec 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 6219b27ffcf5..5314eeef2f7a 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 092ff25fa7c3..20d4105edc20 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 e851a7497f28..b88d69a8722e 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 3dde8b080776..de2339e1cb29 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 f7176083bfb6..2067ad065666 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 08642b724df3..b9a0c2c913c1 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 cce9ac4a1930..f497214f8ad6 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 )
-- 
GitLab