Eighteen
(2005)

Pip Anders (Paul Anthony) reveals to Father Chris (Alan Cumming), that the night his brother Derek died, Derek told their parents he was gay. His father took them on a "road trip" and forced Derek to give him oral sex thinking by making him doing something unpleasant like that he wouldn't be gay anymore. His father then crashed the car, and Derek went through the windshield because his dad unlatched the seatbelt. Pip reveals most of this to his father's friends during a party celebrating his promotion, implying that his dad will lose his job due to the scandal.

Pip listens to the rest of his grandfather's tape (voiced by Ian Mckellan) and learns he was named after a solider his grandfather tried to save in WWII.

Pip, able to let go of his guilt, goes to Jenny (Carly Pope) and apologizes for being so angry he pushed her away, and made her abort their child. Jenny tells them she hadn't gone to the doctor yet and they reconcile.

The film ends with Pip not forgiving his father, but himself. He moves in with Jenny and they have a son. Pip names him Jason, after his grandfather. He makes a tape of his own, that he will give his son on his 18th birthday. Pip tells his son that he doesn't know if he will end up being a good father but he wanted him to know that he was there in the beginning and he did his best to be a good man.

Thanks Spectre!