I agree with FvM here, if the output required is not to be a set integer multiple of the input frequency, then why create it from the 1 MHz i/p?
But you could use a delay line and an exor to detect edges and double the frequency, and then use a monostable to set the duty cycle of the clock. This'll give you a 2Mz clock, you can repeat the process and get a 4Mz clock.
Assuming you can find a monostable to make pulses that narrow, (I've only used these a few times, and the pulses I made were between 1us and 5us).