]> granicus.if.org Git - handbrake/commit
Fix PGS subtitle decoding...
authorJohn Stebbins <jstebbins.hb@gmail.com>
Wed, 13 Jun 2018 22:07:25 +0000 (15:07 -0700)
committerJohn Stebbins <jstebbins.hb@gmail.com>
Wed, 13 Jun 2018 22:07:25 +0000 (15:07 -0700)
commitf1714ec672382862b10b3df7e81a0cb0bcaf34af
tree70c004bd6cea04aad0b248c27b204a0554e5d6fa
parentc85294a8f0bce69d5cb417f60a143663fb83772a
Fix PGS subtitle decoding...

...And add a timebase to every stream.

ffmpeg's subtitle decoder internally converts the packet pts to
AV_TIME_BASE units based on AVCodecContext.pkt_timebase.  If
pkt_timebase is not set, the PGS subtitle decoder only returns
AV_NOPTS_VALUE for timestamps.  So setting pkt_timebase in decpgssub.c
fixes PGS subtitle decoding.

Confusingly, the subtitle decoder does not convert the pts *back* to the
input timebase, but instead leaves them in AV_TIME_BASE units upon
returning a decoded subtitle.

To get a head start on fixing any other such issues that might arrise, I
have also set pkt_timebase in all other avcodec decoders.
libhb/bd.c
libhb/common.c
libhb/common.h
libhb/decavcodec.c
libhb/decpgssub.c
libhb/dvd.c
libhb/dvdnav.c
libhb/stream.c