I basically did it the same way the libraries do with timer1, but I'm only doing raw, and only for the 328P, so it's pretty straightforward. Anyway, I made some small changes, and now have the Rev 1 versions on Github, which I think will be the final versions. I've been wanting to do this for some time, mainly because we keep seeing questions about protocols that can't be identified, or which are identified wrongly. And IRremote just gets more and more complicated.
https://github.com/gbhug5a/SimpleIRRaw
There's a site related to the IRMP library that has detailed descriptions of even the most obscure protocols: