<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/dcp_decoder.cc, branch v2.17.2</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.17.2</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.17.2'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2022-10-04T21:20:11Z</updated>
<entry>
<title>Change how video timing is done.</title>
<updated>2022-10-04T21:20:11Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-09-29T08:17:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=0303a96b66eaf85060ce02d85cc36067f34b1051'/>
<id>urn:sha1:0303a96b66eaf85060ce02d85cc36067f34b1051</id>
<content type='text'>
This commit changes the approach with video timing.  Previously,
we would (more-or-less) try to use every video frame from the content
in the output, hoping that they come at a constant frame rate.

This is not always the case, however.  Here we preserve the PTS
of video frames, and then when one arrives we output whatever
DCP video frames we can (at the regular DCP frame rate).

Hopefully this will solve a range of sync problems, but it
could also introduce new ones.
</content>
</entry>
<entry>
<title>Handle vertical alignment of subs correctly wrt the difference between Interop and SMPTE.</title>
<updated>2022-07-20T08:22:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-07-06T10:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9726a58f44d52d235b027225ddd68c6acf83c733'/>
<id>urn:sha1:9726a58f44d52d235b027225ddd68c6acf83c733</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix font handling for DCP subtitles.</title>
<updated>2022-07-11T10:22:11Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-07-09T18:22:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8b9888ed8247109dc3c09492302e865fa4731460'/>
<id>urn:sha1:8b9888ed8247109dc3c09492302e865fa4731460</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Set up TextDecoder position based on the time that the next thing will</title>
<updated>2022-06-12T13:40:33Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-06-08T07:58:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c8a036eb727ceddc64a0304d781c916eb952c001'/>
<id>urn:sha1:c8a036eb727ceddc64a0304d781c916eb952c001</id>
<content type='text'>
be emitted, instead of the time that the last thing was (#2268).

This is to avoid problems with the example shown in the test, where
just because a subtitle in source A comes before a subtitle in source B,
source A is pass()ed next and may then emit a subtitle which should
be after the next one in B.
</content>
</entry>
<entry>
<title>Rearrange subtitle font management.</title>
<updated>2022-06-07T15:01:06Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-06-01T11:03:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=5a820bb8fae34591be5ac6d19a73461b9dab532a'/>
<id>urn:sha1:5a820bb8fae34591be5ac6d19a73461b9dab532a</id>
<content type='text'>
With this change each subtitle coming out of the player has a reference
to a dcpomatic::Font that belongs to the TextContent.  This hopefully
solves a few problems which all basically stemmed from the fact that
previously the decoders/player were deciding what the font ID in the
output DCP would be - they can't do that properly.
</content>
</entry>
<entry>
<title>Switch some list -&gt; vector for consistency.</title>
<updated>2022-06-07T15:01:06Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-05-31T19:02:42Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2975fa5cd5dcfaa806b07ef39c8900e07f417658'/>
<id>urn:sha1:2975fa5cd5dcfaa806b07ef39c8900e07f417658</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove DCP class and replace its functionality with a plain method in libdcp.</title>
<updated>2022-04-20T19:17:54Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-04-20T19:17:54Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=86eb90b563efb7ef093d5b17a5d6db0fc330e301'/>
<id>urn:sha1:86eb90b563efb7ef093d5b17a5d6db0fc330e301</id>
<content type='text'>
</content>
</entry>
<entry>
<title>C++11 and whitespace cleanups.</title>
<updated>2022-04-03T21:25:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-04-02T22:04:31Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d311043bf3c1e3e7f41b314f7ab7c91ed7e5aa7f'/>
<id>urn:sha1:d311043bf3c1e3e7f41b314f7ab7c91ed7e5aa7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>C++11 tidying.</title>
<updated>2021-07-15T12:08:56Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-07-15T12:08:56Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=037b18b34e3e3fd9b9e692d85f35de17ab67aff8'/>
<id>urn:sha1:037b18b34e3e3fd9b9e692d85f35de17ab67aff8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ignore HMAC discrepencies when reading DCPs.</title>
<updated>2021-06-04T20:30:25Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-06-04T20:30:25Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a498b8819ab431ecc2aac058b1aadb9e15d396ac'/>
<id>urn:sha1:a498b8819ab431ecc2aac058b1aadb9e15d396ac</id>
<content type='text'>
</content>
</entry>
</feed>
