<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/image.cc, branch disk-opt</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=disk-opt</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=disk-opt'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2021-01-27T00:44:20Z</updated>
<entry>
<title>Use enum class for VideoRange.</title>
<updated>2021-01-27T00:44:20Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-27T00:44:20Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=1d2a51bdc8315fa7283be329669860e435a1513f'/>
<id>urn:sha1:1d2a51bdc8315fa7283be329669860e435a1513f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Small bits of c++11 tidying.</title>
<updated>2021-01-25T23:54:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-25T23:54:55Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=edbccd8d04a33f9e8d03677d8ebc671f40b0f822'/>
<id>urn:sha1:edbccd8d04a33f9e8d03677d8ebc671f40b0f822</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adapt for libdcp use of enum class.</title>
<updated>2021-01-21T19:15:14Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-21T01:44:11Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=28111007e2e6fd62f5810be780706ae1618bd33f'/>
<id>urn:sha1:28111007e2e6fd62f5810be780706ae1618bd33f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std::shared_ptr</title>
<updated>2021-01-07T21:48:29Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-04T20:16:53Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26'/>
<id>urn:sha1:dd9be86db6cde0afa5da0d1d1ac43b42e05dca26</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix corrupted image when over-cropping black filler frames.</title>
<updated>2020-11-24T23:36:22Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-24T23:11:55Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e43dababfc7aaf1429d3552e91b24e4e51979111'/>
<id>urn:sha1:e43dababfc7aaf1429d3552e91b24e4e51979111</id>
<content type='text'>
FFmpegDecoder can emit small black frames (128x128 pixels) when it
wants to fill in a gap.  Image::crop_scale_window would do the wrong
thing if we then applied a crop of greater than 128 in either direction;
though cropped_size is correctly clamped, the crop value itself was
not and is used to calculate the input data pointers.

This would result in random frames, usually at the end of DCPs,
often made up of blurry colour washes.
</content>
</entry>
<entry>
<title>Fix cropping of subsampled images.</title>
<updated>2020-11-16T23:16:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-16T23:00:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=17959746895a04bd20cc20cd8bdde91d71570b53'/>
<id>urn:sha1:17959746895a04bd20cc20cd8bdde91d71570b53</id>
<content type='text'>
The calculations for how to crop subsampled components of YUV images
were wrong, causing strange effects like misregistration of colour
components in cropped images.  Should fix #1872.
</content>
</entry>
<entry>
<title>Add some lrintf() calls to be sure.</title>
<updated>2020-11-16T23:16:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-16T22:58:53Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=40339285d62d136c4f87c8c7e030ff4f2bdb55b9'/>
<id>urn:sha1:40339285d62d136c4f87c8c7e030ff4f2bdb55b9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use 64-byte alignment for aligned image memory.</title>
<updated>2020-11-16T23:16:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-16T22:56:11Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=fcc0515087a0b2bf9af5043af1c324367f1c152c'/>
<id>urn:sha1:fcc0515087a0b2bf9af5043af1c324367f1c152c</id>
<content type='text'>
FFmpeg uses this values if AVX512 is available, and with only
32-byte alignment I am seeing strange scaling effects whereby
crop_scale_window_test7 gives black bars down the right side of
cropped images (when run on an i7 7700).
</content>
</entry>
<entry>
<title>Make sure we use limited ("video") range data when exporting.</title>
<updated>2020-11-16T00:40:36Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-15T19:47:42Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b057363e69b77119137c0c8b07402828096e03aa'/>
<id>urn:sha1:b057363e69b77119137c0c8b07402828096e03aa</id>
<content type='text'>
Our export formats all currently use limited range but we weren't
making sure data fed to the encoders was limited range.

Should fix #1832.
</content>
</entry>
<entry>
<title>Remove pointless comment.</title>
<updated>2020-11-16T00:40:36Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-08T21:37:34Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=0a599a0f32da02358d1caac11e7c61a2d5bd0aa0'/>
<id>urn:sha1:0a599a0f32da02358d1caac11e7c61a2d5bd0aa0</id>
<content type='text'>
</content>
</entry>
</feed>
