summaryrefslogtreecommitdiff
path: root/src/lib/image.cc
AgeCommit message (Collapse)Author
2021-05-06Add pixel format 0 (AV_PIX_FMT_YUV420P) to make_part_black().v2.14.51Carl Hetherington
Remainder of fix for #1984. Backported-from-commit: 0aabe4060ea4bad7c7caac633aef0737fccff8c2 Backported-from-branch: 2.15.x
2021-05-06Add pixel format 66 (AV_PIX_FMT_YUV422P10LE) to make_part_black().Carl Hetherington
Part of fix for #1984. Backported-from-commit: 2aa6fd88e6d334c040d421938e425bd2f89983a7 Backported-from-branch: 2.15.x
2020-11-25Fix corrupted image when over-cropping black filler frames.v2.14.45Carl Hetherington
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.
2020-11-19Hack to fix image luminance when cropping subsampled images (#1872).v2.14.44Carl Hetherington
Without this the luminance varies slightly as you crop by odd and even amounts (for YUV420 images).
2020-11-17Fix cropping of subsampled images.Carl Hetherington
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.
2020-11-17Add some lrintf() calls to be sure.Carl Hetherington
2020-11-17Use 64-byte alignment for aligned image memory.Carl Hetherington
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).
2019-11-16Fix incorrect images when cropping without stretch.Carl Hetherington
Always overallocate images so that Image::crop_scale_window is always safe from over-reading buffers. Relates to #1654 and probably #1653. Backported from 7b0372776ac4da6a8e4ff29f41a4f08b9b4de506 in v2.15.x.
2019-05-03Fix "cannot handle pixel format 26 during make_transparent()" (part of #1545).Carl Hetherington
2019-04-25Fix or remove several broken pixel formats in Image::fade and addCarl Hetherington
unit tests for the remainder. Fixes #1532.
2019-03-12Fix R/B swap with as_png(); support as_png() for any pixel format.v2.13.129Carl Hetherington
2019-03-08Make alpha_blend support RGBA as well as BGRA.Carl Hetherington
2019-01-31Add some comments.Carl Hetherington
2018-12-12Fix bad rendering of AV_PIX_FMT_PAL8 (palette-ised) images (#1426).v2.13.83Carl Hetherington
2018-10-12Restore Image::as_png using libpng.Carl Hetherington
2018-10-12Change MagickImageProxy to FFmpegImageProxy and make it use FFmpegCarl Hetherington
to decode images. Hence remove {Image,Graphics}Magick.
2018-09-06Quell more valgrind warnings.Carl Hetherington
2018-09-02Play PNG subtitles from DCPs; possibly not in the right scale.Carl Hetherington
2018-07-09Try to fix Centos build.Carl Hetherington
2018-07-08Write image subs to DCPs.Carl Hetherington
2018-03-02Fix corruption of subsampled images that are being placed into blackCarl Hetherington
frames at odd offsets, using the same approach that is used when cropping. Should fix #1227.
2018-02-12Add SWS_ACCURATE_RND to sws flags. Without this, conversions to RGB inCarl Hetherington
crop_scale_window_test leave the 6 pixels at the right side of the image uninitialised (sws_scale doesn't fill them in with anything) so you get garbage in the output. SWS_ACCURATE_RND fixes it. There are whisperings that this is slow, so the impact of this patch may need to be measured in some "real" situations.
2018-01-11Harden alpha blend tests and fix alpha_blend again.Carl Hetherington
2018-01-10Fix yet more pixel order confusions.Carl Hetherington
2018-01-10Fix some incorrect alpha blending; may help with #1155.Carl Hetherington
2018-01-03Fix alpha blending with with offset; should help with #1155.Carl Hetherington
2018-01-03Fix incorrect alpha-blend in some cases.Carl Hetherington
2018-01-03Use convert_pixel_format a little.Carl Hetherington
2018-01-02Add convert_pixel_format convenience function.Carl Hetherington
2017-12-30Add missing factor to fix problems when padding in subsampled containers; ↵Carl Hetherington
should fix #1129.
2017-12-30Make horizontal_factor look the same as vertical_factor.Carl Hetherington
2017-12-29Add basic memory-used stuff for butler and reduce minimum audioCarl Hetherington
readahead quite a bit. This in turn reduces the maximum butler memory usage as it will keep getting audio (and hence video) until the minimum audio readahead is hit.
2017-09-26Speculative fix for alpha blending onto YUV422P10LE.Carl Hetherington
2017-06-07Fix crash when alpha-blending subtitles onto YUV420 images.Carl Hetherington
2017-05-25Trim some code.Carl Hetherington
2017-05-25More tests; fix blend for YUV420P10LE.Carl Hetherington
2017-05-24Implement alpha_blend for YUV420P and YUV420P10. Improve unit test.Carl Hetherington
2017-05-24Better error message.Carl Hetherington
2017-04-19Various Doxygen fixes.Carl Hetherington
2016-08-22Do full gamma correction etc. when alpha-blending subtitlesCarl Hetherington
onto XYZ images. This fixes colour tints on subtitles burnt into existing DCPs.
2016-07-16Remove unused method.Carl Hetherington
2016-07-09Missing swap in Image::swap.Carl Hetherington
2016-06-21Revert "Use make_shared<>."Carl Hetherington
Support for this seems to vary wildly across DoM's build targets. Stuff that builds on 16.04 won't build on 14.04, for example. Seems to not be worth the hassle now. This reverts commit 5a5324ed3a381a86dfe0a6e3932c1d58fdcd596f.
2016-06-21Use make_shared<>.Carl Hetherington
2016-06-13Rename MD5Digester -> Digester.Carl Hetherington
2016-05-26Fix slightly inexplicable RGB/BGR confusion; before this the colour of ↵Carl Hetherington
subtitles is wrong.
2016-05-25No-op; fix GPL address and use the explicit-program-name version.Carl Hetherington
2016-05-12Optimise image scaling for the preview.Carl Hetherington
2016-05-11Fix typo (* for +) and use libdcp's sRGB to XYZ matrix (to help with #752).Carl Hetherington
2016-05-04Allow build with the Ubuntu 16.04 version of FFmpeg.Carl Hetherington