<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/run, branch v2.18.31</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.18.31</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.18.31'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2025-11-03T00:50:10Z</updated>
<entry>
<title>Missing check for duplicate IDs.</title>
<updated>2025-11-03T00:50:10Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-11-03T00:10:39Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b3056163b9da4425aab25e3c9630a805a48d30ff'/>
<id>urn:sha1:b3056163b9da4425aab25e3c9630a805a48d30ff</id>
<content type='text'>
Without this call we don't spot duplicates that are found in the initial
scan.
</content>
</entry>
<entry>
<title>Add another new test reference for FFmpeg 8.</title>
<updated>2025-10-15T20:33:26Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-10-13T08:16:27Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c6c883ae2e33f175682b9164c17fedb487a54ca4'/>
<id>urn:sha1:c6c883ae2e33f175682b9164c17fedb487a54ca4</id>
<content type='text'>
Commit 045a8b15b19ec7f872fb01cfb986faeaa26cb8bb changed how AC3/EAC3
decoders in FFmpeg are flushed, and this caused a considerable change to
the audio result in this test (in particular, the audio is about 3db
louder after the FFmpeg change).  I'm assuming the previous result was
just wrong.
</content>
</entry>
<entry>
<title>Add --right-to-left option to run script.</title>
<updated>2025-09-27T20:41:38Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-09-27T20:39:54Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=6066d80cbc5a60ea1697466b5b21521be7db6197'/>
<id>urn:sha1:6066d80cbc5a60ea1697466b5b21521be7db6197</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Return quite close to original approach for "no colour conversion".</title>
<updated>2025-09-23T07:14:10Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-09-19T09:41:03Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=aac6fad8adad9020e6a82140085091fdef2873cf'/>
<id>urn:sha1:aac6fad8adad9020e6a82140085091fdef2873cf</id>
<content type='text'>
There's a few things going on here:

1. Improve the regression test for 3042.  Previously we made a DCP from
the reporter's _original_ prores file (before they converted it to XYZ)
and compared the result to a reference J2K file of uncertain origin.

This seems wrong because:
a) We never got confirmation from the reporter that the fix worked for
them, so any arbitrary reference is dubious.
b) It doesn't seem to reflect their actual complaint, which was that
they got a different result when making a DCP from XYZ TIFFs compared
to their "XYZ" Prores.

The new test makes a DCP from their TIFFs and "XYZ" Prores and compares
the result.

2. Revert to the old approach to "no conversion" handling.  In the good
old days we did everything -&gt; RGB48LE except XYZ12LE -&gt; XYZ12LE, and
that's what we do again here.

3. Change the YUV-&gt;RGB conversion from Rec.601 to Rec.709 for the
"no conversion" case.  This fixes the 3042 regression test.

The supposed "XYZ" Prores is yuv444p12le according to ffprobe.  So I
think what we have here is actually a file that was converted to XYZ
and then back to YUV by Resolve.  I experimented with using the raw
YUV values and considering them as XYZ but this was clearly wrong.

I think 3 is probably what I should have done in the first place.
</content>
</entry>
<entry>
<title>Make dcpomatic_create work when called from anywhere.</title>
<updated>2025-08-25T06:44:48Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-08-19T19:19:07Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8394bbd8bb3e0bc7325bdf1db80e8705fa22db5d'/>
<id>urn:sha1:8394bbd8bb3e0bc7325bdf1db80e8705fa22db5d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>New/improved pixel format decision when converting to XYZ.</title>
<updated>2025-08-12T15:16:07Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-21T22:48:42Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=98a8023dd774fd82c144a68039e0ea3131fb9142'/>
<id>urn:sha1:98a8023dd774fd82c144a68039e0ea3131fb9142</id>
<content type='text'>
For a long time we would keep XYZ12LE, if that's what we have, otherwise
ask FFmpeg to switch to RGB48LE.

Then in 1d5c211dadb9a9dc2318adce86ca9c31b367cabe I tried to fix the case
of an XYZ source mis-tagged as YUV.  I changed things so that with no
colour conversion we'd always ask FFmpeg to convert to XYZ.  This meant
that RGB sources with no colour conversion would get treatment by FFmpeg
due to the RGB -&gt; XYZ switch.

Here we're going back to the more-or-less the "long time" behaviour when
there is a conversion (keep XYZ12LE but otherwise convert to RGB48).

When there's no conversion, keep RGB (to avoid the FFmpeg conversion
from RGB -&gt; XYZ) but convert everything else to XYZ.
</content>
</entry>
<entry>
<title>Fix incorrect colours with "no colourspace conversion" sources that are not AV_PIX_FMT_XYZ12LE.</title>
<updated>2025-05-26T19:51:18Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-05-22T23:23:43Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=1d5c211dadb9a9dc2318adce86ca9c31b367cabe'/>
<id>urn:sha1:1d5c211dadb9a9dc2318adce86ca9c31b367cabe</id>
<content type='text'>
Prepare the image for where it is going to next.  I don't understand the difference
in this situation between XYZ12LE and RGB48LE (it seems they are both 16-bit-per-channel)
but there you go.
</content>
</entry>
<entry>
<title>Tidy up finding required files during tests.</title>
<updated>2025-05-19T19:25:35Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-05-18T20:20:02Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8d18da108282203a90f4b5ae0123700b827e3eb7'/>
<id>urn:sha1:8d18da108282203a90f4b5ae0123700b827e3eb7</id>
<content type='text'>
In particular, prefer not to use lots of fallback attempts. It seems
that something funny is going on with how we find Liberation Sans on
Linux, meaning that we were sometimes using the OS copy of the font when
we didn't mean to.
</content>
</entry>
<entry>
<title>Do leak checks when valgrinding the player.</title>
<updated>2025-04-13T19:06:41Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-04-13T19:06:41Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c325ab5f745c67e6381bcee582bf809018d809e0'/>
<id>urn:sha1:c325ab5f745c67e6381bcee582bf809018d809e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix passing of parameters from create dev script.</title>
<updated>2025-03-22T12:29:59Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-03-21T11:39:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d13d57f0bc12ba0d4c54cb106467fb0c9a5808e6'/>
<id>urn:sha1:d13d57f0bc12ba0d4c54cb106467fb0c9a5808e6</id>
<content type='text'>
</content>
</entry>
</feed>
