| 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"); |
| 160 | |
| 161 | // initialize the permutations each time |
| 162 | intel_i_gpu.init(); |
| 163 | |
| 164 | while let Some((_encoder_index, settings)) = intel_i_gpu.next() { |
| 165 | let mut permutation = Permutation::new(cli.source_file.clone(), cli.encoder.clone()); |
| 166 | permutation.video_file = cli.source_file.clone(); |
| 167 | permutation.encoder_settings = settings; |
| 168 | permutation.bitrate = bitrate; |
| 169 | permutation.check_quality = cli.check_quality; |
| 170 | permutation.verbose = cli.verbose; |
| 171 | permutation.detect_overload = cli.detect_overload; |
| 172 | permutation.allow_duplicates = cli.allow_duplicate_scores; |
| 173 | permutation.ten_bit = cli.ten_bit; |
| 174 | engine.add(permutation); |
| 175 | |
| 176 | // break out early here to just make 1 permutation |
| 177 | if cli.test_run { |
| 178 | break; |
| 179 | } |
| 180 | } |
| 181 | } |
| 182 | |
| 183 | // TODO: we'll probably need to do more of these per apple silicon one |
| 184 | fn build_apple_silicon_h264_permutations( |