Skip to content

Commit

Permalink
Make alpha and gain map quality default to the same as color in API. (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
maryla-uc authored Feb 25, 2025
1 parent ddc5ab4 commit 96fc68a
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions src/write.c
Original file line number Diff line number Diff line change
Expand Up @@ -1831,11 +1831,22 @@ static avifResult avifEncoderAddImageInternal(avifEncoder * encoder,
}

// -----------------------------------------------------------------------
// Map quality and qualityAlpha to quantizer and quantizerAlpha
// Map quality settings to quantizer values.
encoder->data->quantizer = avifQualityToQuantizer(encoder->quality, encoder->minQuantizer, encoder->maxQuantizer);
encoder->data->quantizerAlpha = avifQualityToQuantizer(encoder->qualityAlpha, encoder->minQuantizerAlpha, encoder->maxQuantizerAlpha);
encoder->data->quantizerGainMap =
avifQualityToQuantizer(encoder->qualityGainMap, AVIF_QUANTIZER_BEST_QUALITY, AVIF_QUANTIZER_WORST_QUALITY);
// If alpha quality, and min and max alpha quantizer have their default values, default to the same quality as color.
if (encoder->qualityAlpha == AVIF_QUALITY_DEFAULT && encoder->minQuantizerAlpha == AVIF_QUANTIZER_BEST_QUALITY &&
encoder->maxQuantizerAlpha == AVIF_QUANTIZER_WORST_QUALITY) {
encoder->data->quantizerAlpha = encoder->data->quantizer;
} else {
encoder->data->quantizerAlpha =
avifQualityToQuantizer(encoder->qualityAlpha, encoder->minQuantizerAlpha, encoder->maxQuantizerAlpha);
}
if (encoder->qualityGainMap == AVIF_QUALITY_DEFAULT) {
encoder->data->quantizerGainMap = encoder->data->quantizer; // Default to the same quality as color.
} else {
encoder->data->quantizerGainMap =
avifQualityToQuantizer(encoder->qualityGainMap, AVIF_QUANTIZER_BEST_QUALITY, AVIF_QUANTIZER_WORST_QUALITY);
}

// -----------------------------------------------------------------------
// Handle automatic tiling
Expand Down

0 comments on commit 96fc68a

Please sign in to comment.