<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/dcp_decoder.cc, branch mpeg2</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=mpeg2</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=mpeg2'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2024-04-22T11:03:04Z</updated>
<entry>
<title>Support playback of MPEG2 DCPs.</title>
<updated>2024-04-22T11:03:04Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-11-29T23:46:00Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=5b2e3126602d508498a99bce256f5f465f095d43'/>
<id>urn:sha1:5b2e3126602d508498a99bce256f5f465f095d43</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename Encoder -&gt; FilmEncoder, and subclasses.</title>
<updated>2024-04-21T21:18:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-03-19T15:29:13Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=1fc8c0c6d045404732497ba70bd2eccfbe4cc6f6'/>
<id>urn:sha1:1fc8c0c6d045404732497ba70bd2eccfbe4cc6f6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename classes to follow preparatory renames in libdcp.</title>
<updated>2024-04-21T21:17:17Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-11-29T23:29:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d3b5b533ebba1a1534eb37cc41032876a48a3d82'/>
<id>urn:sha1:d3b5b533ebba1a1534eb37cc41032876a48a3d82</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge tag 'v2.16.76' into v2.17.x</title>
<updated>2024-02-18T23:56:14Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-18T23:56:14Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c59a10bcf428154c7d1c9e3fad4469af36bb7d91'/>
<id>urn:sha1:c59a10bcf428154c7d1c9e3fad4469af36bb7d91</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cleanup: white space.</title>
<updated>2024-02-14T22:02:53Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-14T22:02:53Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b55b41c4de6eebc26dd8126fdc5914055b778d89'/>
<id>urn:sha1:b55b41c4de6eebc26dd8126fdc5914055b778d89</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change how video timing is done.</title>
<updated>2024-01-28T01:01:56Z</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=895143459866dcb373c93b8e674d1344a129a6df'/>
<id>urn:sha1:895143459866dcb373c93b8e674d1344a129a6df</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>Fix handling of empty font IDs and default DCP fonts (#2721) (part of #2722).</title>
<updated>2024-01-15T09:21:59Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-01-13T22:34:35Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=db22f81ccce9e1a5f205e6d8b3c0631fc039a173'/>
<id>urn:sha1:db22f81ccce9e1a5f205e6d8b3c0631fc039a173</id>
<content type='text'>
Previously we used an empty font ID as the default for when a subtitle
has no Font, but in #2721 we saw a DCP with an empty font ID which
raised an assertion (because we'd already added our default font with
the empty ID).

Here we try to fix this (and also make the default font correctly be
that from the first &lt;LoadFont&gt;).
</content>
</entry>
<entry>
<title>Fix possible deference of invalid iterator (if _reel == _reels.end()).</title>
<updated>2023-10-28T20:31:38Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-10-28T20:31:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=359b3e0b84c9bfbe363fd61ee806860172f24e72'/>
<id>urn:sha1:359b3e0b84c9bfbe363fd61ee806860172f24e72</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Tolerate DCPs with no video and/or audio.</title>
<updated>2023-10-28T19:48:26Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-10-28T19:48:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b64154929cefc91fa8da08fa0a089994387a2553'/>
<id>urn:sha1:b64154929cefc91fa8da08fa0a089994387a2553</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix DCP content font ID allocation to cope with DCPs that have multiple fonts</title>
<updated>2023-10-15T07:10:18Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-10-14T19:48:25Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3c802dd6d1451c2c8a7e188f8379738d72e907eb'/>
<id>urn:sha1:3c802dd6d1451c2c8a7e188f8379738d72e907eb</id>
<content type='text'>
with the same name in the same reel (#2600).

Previously we had this id_for_font_in_reel() which would give an ID
of N_font-ID.  This means we got duplicate font IDs.

Here we replace that method with FontAllocator, which gives an ID of
N_font-ID for the first font and M_font-ID, where M is a number higher than
the highest reel index.  The idea is to support the required new IDs
without breaking exisiting projects.

There is some documentation of how it works  in doc/design/fonts
</content>
</entry>
</feed>
