With his role in Filth, James McAvoy is a liberated man. His talents have been celebrated, both on the screen and on stage, and with a wave of critical praise pushing him forward, he’s ready to take on even the most challenging and controversial of roles, even that of Jimmy Savile.

James McAvoyMcAvoy in Welcome to The Punch.

Irvine Welsh, who wrote the book on which McAvoy’s film is adapted from, also penned the 1996 collection, Ecstasy. One of the stories from that collected, entitled Lorraine Goes to Livingston, sees Freddy Royle - a fictitious children's TV presenter who turns out to be a child molester.

McAvoy discussed the idea of playing the late TV personality with Welsh, apparently telling him: "If you ever write a script about it, I'd love to play Jimmy Savile." Some have suggested that the story, written over 15 years before Savile's crimes became public, was fuelled by some kind of insider knowledge .

"I had nothing to do with the hospital services, or NHS trusts, or the BBC,” said Welsh to the Radio Times. "So how come I knew this rumour about Jimmy Savile, this eccentric British institution? There must have been so much stuff on the grapevine. But there was a whole culture then of not addressing these issues." (Radio Times, via The Guardian.)

Filth tells the story of the very bent cop Bruce Robertson. And this is one non-PC, PC. He swigs booze by the bottle, consumes drugs like he’s dying and engages in some pretty sordid affairs with members of the opposite sex. He’s an Irvine Welsh creation, that’s for sure.

Check out the Filth trailer (It's 18+, for sure)