mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 10:30:15 +02:00
Guard heif bitdepth property for prebuilt binaries
This commit is contained in:
parent
3c26080c39
commit
aa1bbcb5c1
@ -1011,6 +1011,7 @@ function tiff (options) {
|
||||
* Use these AVIF options for output image.
|
||||
*
|
||||
* AVIF image sequences are not supported.
|
||||
* Prebuilt binaries support a bitdepth of 8 only.
|
||||
*
|
||||
* @example
|
||||
* const data = await sharp(input)
|
||||
@ -1097,6 +1098,9 @@ function heif (options) {
|
||||
}
|
||||
if (is.defined(options.bitdepth)) {
|
||||
if (is.integer(options.bitdepth) && is.inArray(options.bitdepth, [8, 10, 12])) {
|
||||
if (options.bitdepth !== 8 && this.constructor.versions.heif) {
|
||||
throw is.invalidParameterError('bitdepth when using prebuilt binaries', 8, options.bitdepth);
|
||||
}
|
||||
this.options.heifBitdepth = options.bitdepth;
|
||||
} else {
|
||||
throw is.invalidParameterError('bitdepth', '8, 10 or 12', options.bitdepth);
|
||||
|
@ -79,9 +79,16 @@ describe('HEIF', () => {
|
||||
});
|
||||
});
|
||||
it('valid bitdepth value does not throw an error', () => {
|
||||
const { heif } = sharp.versions;
|
||||
delete sharp.versions.heif;
|
||||
assert.doesNotThrow(() => {
|
||||
sharp().heif({ compression: 'av1', bitdepth: 12 });
|
||||
});
|
||||
sharp.versions.heif = '1.2.3';
|
||||
assert.throws(() => {
|
||||
sharp().heif({ compression: 'av1', bitdepth: 10 });
|
||||
}, /Error: Expected 8 for bitdepth when using prebuilt binaries but received 10 of type number/);
|
||||
sharp.versions.heif = heif;
|
||||
});
|
||||
it('invalid bitdepth value should throw an error', () => {
|
||||
assert.throws(() => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user