зеркало из https://github.com/mozilla/gecko-dev.git
2a8ea92054
Color management is usually handled in the SurfacePipe, but SurfacePipe is RGB(A) only, and qcms can only operator on grayscale images in grayscale format, not RGB(A). So we must handle the qcms operation in the decoder. This is the same as how the png decoder handles this same situation. One additional wrinkle is that gfx::ConvertYCbCrToRGB32 only outputs RGB even for grayscale input data so we have to create an intermediate grayscale copy of the data for qcms to work on. Recording command lines here that were used to create the test in case it needs to be modified or extended in the future. Convert png to grayscale or grayscale + alpha ffmpeg -i file.png -pix_fmt gray file-gray.png ffmpeg -i file.png -pix_fmt ya8 file-gray.png Extract icc profile from png exiftool -icc_profile -b -w icc file.png Add icc profile to png exiftool "-icc_profile<=profile.icc" file.png Encode avif using provided icc profile in file avifenc --icc profile.icc input.png output.avif Differential Revision: https://phabricator.services.mozilla.com/D220101 |
||
---|---|---|
.. | ||
browser | ||
crashtests | ||
fuzzing | ||
gtest | ||
mochitest | ||
reftest | ||
unit | ||
animated_image_test_list.js |