| 131 | } |
| 132 | |
| 133 | fn build_intel_av1_permutations(engine: &mut PermutationEngine, cli: &PermutorCli, bitrate: u32) { |
| 134 | let mut intel_av1 = AV1QSV::new(); |
| 135 | |
| 136 | // initialize the permutations each time |
| 137 | intel_av1.init(); |
| 138 | |
| 139 | while let Some((_encoder_index, settings)) = intel_av1.next() { |
| 140 | let mut permutation = Permutation::new(cli.source_file.clone(), cli.encoder.clone()); |
| 141 | permutation.video_file = cli.source_file.clone(); |
| 142 | permutation.encoder_settings = settings; |
| 143 | permutation.bitrate = bitrate; |
| 144 | permutation.check_quality = cli.check_quality; |
| 145 | permutation.verbose = cli.verbose; |
| 146 | permutation.detect_overload = cli.detect_overload; |
| 147 | permutation.allow_duplicates = cli.allow_duplicate_scores; |
| 148 | permutation.ten_bit = cli.ten_bit; |
| 149 | engine.add(permutation); |
| 150 | |
| 151 | // break out early here to just make 1 permutation |
| 152 | if cli.test_run { |
| 153 | break; |
| 154 | } |
| 155 | } |
| 156 | } |
| 157 | |
| 158 | fn build_intel_igpu_permutations(engine: &mut PermutationEngine, cli: &PermutorCli, bitrate: u32) { |
| 159 | let mut intel_i_gpu = QSV::new(cli.encoder == "hevc_qsv"); |