I stumbled on this issue as well. It looks to me like this patch:
https://github.com/HandBrake/HandBrake/blob/master/contrib/ffmpeg/A07-dvdsubdec-use-pts-of-initial-packet.patch
is particularly important for how handbrake handles dvd sub titles.
My understanding is: dvd subtitles are large (being images) and will
usually exceed a packet in the stream. ffmpeg only returns the pts with
the first invocation (packet), where no complete subtitle results. The
second invocation (packet), which usually completes the subtitle and
results in a complete subtitle returned, does not contain the pts anymore.
The above mentioned patch to ffmpeg changes ffmpeg to remember the pts.
But handbrake can remember the pts just as well. So see the attached
patch which does exactly that: if the subtitle is incomplete, it saves
the pts to the handbrake subtitle context, and retrieves it if there is
no pts on a completed subtitle ready for output.
I am unsure how to proceed from here. Is that fix acceptable? Where
would I submit it?