Skip to content

Commit 1109675

Browse files
authored
Fix encoding with multiple encoders (#910)
* read passes and encoder from zone overrides * run cargo fmt * remove clone calls
1 parent c91ea05 commit 1109675

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

av1an-core/src/context.rs

+20-6
Original file line numberDiff line numberDiff line change
@@ -916,8 +916,12 @@ impl Av1anContext {
916916
|| self.args.video_params.clone(),
917917
|ovr| ovr.video_params.clone(),
918918
),
919-
passes: self.args.passes,
920-
encoder: self.args.encoder,
919+
passes: overrides
920+
.as_ref()
921+
.map_or(self.args.passes, |ovr| ovr.passes),
922+
encoder: overrides
923+
.as_ref()
924+
.map_or(self.args.encoder, |ovr| ovr.encoder),
921925
noise_size: self.args.photon_noise_size,
922926
tq_cq: None,
923927
ignore_frame_mismatch: self.args.ignore_frame_mismatch,
@@ -972,8 +976,14 @@ impl Av1anContext {
972976
|| self.args.video_params.clone(),
973977
|ovr| ovr.video_params.clone(),
974978
),
975-
passes: self.args.passes,
976-
encoder: self.args.encoder,
979+
passes: scene
980+
.zone_overrides
981+
.as_ref()
982+
.map_or(self.args.passes, |ovr| ovr.passes),
983+
encoder: scene
984+
.zone_overrides
985+
.as_ref()
986+
.map_or(self.args.encoder, |ovr| ovr.encoder),
977987
noise_size: self.args.photon_noise_size,
978988
tq_cq: None,
979989
ignore_frame_mismatch: self.args.ignore_frame_mismatch,
@@ -1175,8 +1185,12 @@ impl Av1anContext {
11751185
|| self.args.video_params.clone(),
11761186
|ovr| ovr.video_params.clone(),
11771187
),
1178-
passes: self.args.passes,
1179-
encoder: self.args.encoder,
1188+
passes: overrides
1189+
.as_ref()
1190+
.map_or(self.args.passes, |ovr| ovr.passes),
1191+
encoder: overrides
1192+
.as_ref()
1193+
.map_or(self.args.encoder, |ovr| ovr.encoder),
11801194
noise_size: self.args.photon_noise_size,
11811195
tq_cq: None,
11821196
ignore_frame_mismatch: self.args.ignore_frame_mismatch,

0 commit comments

Comments
 (0)