| 106 | } |
| 107 | |
| 108 | fn build_amf_setting_permutations(engine: &mut PermutationEngine, cli: &PermutorCli, bitrate: u32) { |
| 109 | let mut amf = Amf::new(cli.encoder == "hevc_amf", cli.gpu); |
| 110 | |
| 111 | // initialize the permutations each time |
| 112 | amf.init(); |
| 113 | |
| 114 | while let Some((_encoder_index, settings)) = amf.next() { |
| 115 | let mut permutation = Permutation::new(cli.source_file.clone(), cli.encoder.clone()); |
| 116 | permutation.video_file = cli.source_file.clone(); |
| 117 | permutation.encoder_settings = settings; |
| 118 | permutation.bitrate = bitrate; |
| 119 | permutation.check_quality = cli.check_quality; |
| 120 | permutation.verbose = cli.verbose; |
| 121 | permutation.detect_overload = cli.detect_overload; |
| 122 | permutation.allow_duplicates = cli.allow_duplicate_scores; |
| 123 | permutation.ten_bit = cli.ten_bit; |
| 124 | engine.add(permutation); |
| 125 | |
| 126 | // break out early here to just make 1 permutation |
| 127 | if cli.test_run { |
| 128 | break; |
| 129 | } |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | fn build_intel_av1_permutations(engine: &mut PermutationEngine, cli: &PermutorCli, bitrate: u32) { |
| 134 | let mut intel_av1 = AV1QSV::new(); |