| 803 | #define PROGRESSIVE_START_QUALITY 2 // First layer use this quality |
| 804 | |
| 805 | static 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 | |
| 855 | static avifBool avifEncoderVerifyImageCompatibility(const avifImage * refImage, |
| 856 | const avifImage * testImage, |
no test coverage detected