<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/ffmpeg_decoder.cc, branch v2.17.12</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.17.12</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.17.12'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2024-02-22T00:25:03Z</updated>
<entry>
<title>Merge tag 'v2.16.78' into v2.17.x</title>
<updated>2024-02-22T00:25:03Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-22T00:25:03Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a45f6245e8cc785fab436c9282fa3d1baf3a8575'/>
<id>urn:sha1:a45f6245e8cc785fab436c9282fa3d1baf3a8575</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make DCPExaminer::size() optional and deal with the consequences.</title>
<updated>2024-02-21T17:48:53Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-21T09:47:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3ffd0163026be24e5373e0674c3301ed37546e44'/>
<id>urn:sha1:3ffd0163026be24e5373e0674c3301ed37546e44</id>
<content type='text'>
This means we can fix the case of a VF having no known size in a nice way,
in turn fixing problems caused by the fix to #2775.
</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>Bump ffmpeg to 5.1.2 "Riemann"</title>
<updated>2024-01-28T01:01:38Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-09-30T20:46:33Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c17bcd3bcaced30e4657aab7582ec9efa93b6ea1'/>
<id>urn:sha1:c17bcd3bcaced30e4657aab7582ec9efa93b6ea1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Build fix for HAVE_AVSUBTITLERECT_PICT case.</title>
<updated>2024-01-20T15:20:50Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-01-20T15:20:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a7b6fe096f6072c97a1174cc2b8945fa9486fc4f'/>
<id>urn:sha1:a7b6fe096f6072c97a1174cc2b8945fa9486fc4f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix scaling of bitmap subs when the corresponding video is cropped (#2670).</title>
<updated>2024-01-12T11:07:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-12-01T20:25:54Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=6ac468554c7fea0dfaefde85fb6cdd0fceaf5cad'/>
<id>urn:sha1:6ac468554c7fea0dfaefde85fb6cdd0fceaf5cad</id>
<content type='text'>
Previously we would scale the bitmap size/position to a proportion
of the original video frame, then scale it back up again to the DCP
container.  This didn't take into account some cropped cases where
the picture would end up the same shape but the subtitles would be
stretched.
</content>
</entry>
<entry>
<title>Fix crash with subtitles for which we have no codec.</title>
<updated>2023-11-16T14:14:16Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-11-16T14:14:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=bae268cb8505bcc5bf4048cfd448168ad9bb0992'/>
<id>urn:sha1:bae268cb8505bcc5bf4048cfd448168ad9bb0992</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix errors with WAVs containing markers (#2617).</title>
<updated>2023-09-28T22:57:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-09-26T22:16:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e67ce8ae4b9121bbcef2c1dcb61bdb5b9330ad78'/>
<id>urn:sha1:e67ce8ae4b9121bbcef2c1dcb61bdb5b9330ad78</id>
<content type='text'>
I'm not 100% sure about this but they seem to end up giving audio
packets with no channels and no frames.  Here we handle such packets
better.
</content>
</entry>
<entry>
<title>Cleanup: remove unused variable.</title>
<updated>2023-08-15T13:11:49Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-08-15T13:11:49Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=112911198b74cde35bcec6c1a1a571a84c950851'/>
<id>urn:sha1:112911198b74cde35bcec6c1a1a571a84c950851</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove now-unnecessary assertion.</title>
<updated>2023-08-15T13:02:54Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-08-15T13:02:29Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=f6c6232941671095b0a857a5a5c5392f52d6c3aa'/>
<id>urn:sha1:f6c6232941671095b0a857a5a5c5392f52d6c3aa</id>
<content type='text'>
Since e29ce33a36c2e20444d57196defc86d5072bce81 channels is the
number of channels in the frame, and also the number in data,
so we don't need to check this any more.
</content>
</entry>
</feed>
