MCPcopy Create free account
hub / github.com/AOMediaCodec/libavif / avifEncodeUpdateEncoderSettings

Function avifEncodeUpdateEncoderSettings

apps/avifenc.c:805–853  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

803#define PROGRESSIVE_START_QUALITY 2 // First layer use this quality
804
805static avifBool avifEncodeUpdateEncoderSettings(avifEncoder * encoder, const avifInputFileSettings * settings)
806{
807 if (!settings) {
808 return AVIF_TRUE;
809 }
810
811 if (settings->quality.set) {
812 encoder->quality = settings->quality.value;
813 }
814 if (settings->qualityAlpha.set) {
815 encoder->qualityAlpha = settings->qualityAlpha.value;
816 }
817 if (settings->minQuantizer.set) {
818 encoder->minQuantizer = settings->minQuantizer.value;
819 }
820 if (settings->maxQuantizer.set) {
821 encoder->maxQuantizer = settings->maxQuantizer.value;
822 }
823 if (settings->minQuantizerAlpha.set) {
824 encoder->minQuantizerAlpha = settings->minQuantizerAlpha.value;
825 }
826 if (settings->maxQuantizerAlpha.set) {
827 encoder->maxQuantizerAlpha = settings->maxQuantizerAlpha.value;
828 }
829 if (settings->tileRowsLog2.set) {
830 encoder->tileRowsLog2 = settings->tileRowsLog2.value;
831 }
832 if (settings->tileColsLog2.set) {
833 encoder->tileColsLog2 = settings->tileColsLog2.value;
834 }
835 if (settings->autoTiling.set) {
836 encoder->autoTiling = settings->autoTiling.value;
837 }
838 if (settings->scalingMode.set) {
839 encoder->scalingMode = settings->scalingMode.value;
840 }
841 for (int i = 0; i < settings->codecSpecificOptions.count; ++i) {
842 if (avifEncoderSetCodecSpecificOption(encoder, settings->codecSpecificOptions.keys[i], settings->codecSpecificOptions.values[i]) !=
843 AVIF_RESULT_OK) {
844 fprintf(stderr,
845 "ERROR: Failed to set codec specific option: %s = %s\n",
846 settings->codecSpecificOptions.keys[i],
847 settings->codecSpecificOptions.values[i]);
848 return AVIF_FALSE;
849 }
850 }
851
852 return AVIF_TRUE;
853}
854
855static avifBool avifEncoderVerifyImageCompatibility(const avifImage * refImage,
856 const avifImage * testImage,

Callers 3

Calls 1

Tested by

no test coverage detected