A DirectShow filter is operational once it gets added to filter graph. So you don't necessarily need filter COM registration: you can add it there yourself by explicit call. Then you can instantiate it through COM or otherwise.
If you need standard filter registration just to instantiate the filter, you can leverage reg-free COM or simply load the DLL and obtain its factory through exported DllGetClassObject
function.
If however you need DirectShow Intelligent Connect to pick up your decoder automatically, you need either full COM registration or you need to update your code to build your graph with explicit filter adding.
Further reading: Using Filters Without Registration.