Skip to content

Commit 9171474

Browse files
SwareJongeKhaoklong51
authored andcommitted
Fix encoding with multiple encoders (master-of-zen#910)
* read passes and encoder from zone overrides * run cargo fmt * remove clone calls
1 parent ee076ce commit 9171474

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
@@ -910,8 +910,12 @@ impl Av1anContext {
910910
|| self.args.video_params.clone(),
911911
|ovr| ovr.video_params.clone(),
912912
),
913-
passes: self.args.passes,
914-
encoder: self.args.encoder,
913+
passes: overrides
914+
.as_ref()
915+
.map_or(self.args.passes, |ovr| ovr.passes),
916+
encoder: overrides
917+
.as_ref()
918+
.map_or(self.args.encoder, |ovr| ovr.encoder),
915919
noise_size: self.args.photon_noise_size,
916920
tq_cq: None,
917921
ignore_frame_mismatch: self.args.ignore_frame_mismatch,
@@ -966,8 +970,14 @@ impl Av1anContext {
966970
|| self.args.video_params.clone(),
967971
|ovr| ovr.video_params.clone(),
968972
),
969-
passes: self.args.passes,
970-
encoder: self.args.encoder,
973+
passes: scene
974+
.zone_overrides
975+
.as_ref()
976+
.map_or(self.args.passes, |ovr| ovr.passes),
977+
encoder: scene
978+
.zone_overrides
979+
.as_ref()
980+
.map_or(self.args.encoder, |ovr| ovr.encoder),
971981
noise_size: self.args.photon_noise_size,
972982
tq_cq: None,
973983
ignore_frame_mismatch: self.args.ignore_frame_mismatch,
@@ -1168,8 +1178,12 @@ impl Av1anContext {
11681178
|| self.args.video_params.clone(),
11691179
|ovr| ovr.video_params.clone(),
11701180
),
1171-
passes: self.args.passes,
1172-
encoder: self.args.encoder,
1181+
passes: overrides
1182+
.as_ref()
1183+
.map_or(self.args.passes, |ovr| ovr.passes),
1184+
encoder: overrides
1185+
.as_ref()
1186+
.map_or(self.args.encoder, |ovr| ovr.encoder),
11731187
noise_size: self.args.photon_noise_size,
11741188
tq_cq: None,
11751189
ignore_frame_mismatch: self.args.ignore_frame_mismatch,

0 commit comments

Comments
 (0)