Heh, I'm late, and this has been mostly answered, again. I'll put my two cents anyway.
Mame is designed to accept normal inputs: keyboard, mouse, joystick (and lightgun which is like a mouse, but not exactly

). PC mice already do the decoding, so there is no need for mame to do quadrature decoding, or more precisely, unconverting mouse count to faked quadrature signals, and then decode back to a count through emulation. Add that until "recently" there was no way to send the raw quadrature signals to the PC, and then mame to see it and emulate the hardware that decoded it, in real time without lag and/or missed changes (any even now it's not normal).
So the way mame "handles" different tooth counts and 1x, 2x & 4x decoders is the analog mouse sensitivity setting, input definitions (part is setting the defaults for aforementioned sensitivity), and (very rarely) hardcoded special input hacks.
There are a few threads at this site about tooth count and decoding state levels. But, yah, inputs is one of mame's "weakest" AFA true complete hardware emulation, but almost completely due to PC limits & standards.