@@ -234,28 +234,14 @@ fn process_frame<T: Pixel, D: Decoder>(
234
234
235
235
fn do_encode < T : Pixel , D : Decoder > (
236
236
cfg : Config , verbose : Verbose , mut progress : ProgressInfo ,
237
- output : & mut dyn Muxer , source : & mut Source < D > ,
238
- pass1file_name : Option < & String > , pass2file_name : Option < & String > ,
237
+ output : & mut dyn Muxer , source : & mut Source < D > , mut pass1file : Option < File > ,
238
+ mut pass2file : Option < File > ,
239
239
mut y4m_enc : Option < y4m:: Encoder < ' _ , Box < dyn Write > > > ,
240
240
metrics_enabled : MetricsEnabled ,
241
241
) -> Result < ( ) , CliError > {
242
242
let mut ctx: Context < T > =
243
243
cfg. new_context ( ) . map_err ( |e| e. context ( "Invalid encoder settings" ) ) ?;
244
244
245
- let mut pass2file = match pass2file_name {
246
- Some ( f) => Some ( File :: open ( f) . map_err ( |e| {
247
- e. context ( "Unable to open file for reading two-pass data" )
248
- } ) ?) ,
249
- None => None ,
250
- } ;
251
- // panic!(, f)
252
- let mut pass1file = match pass1file_name {
253
- Some ( f) => Some ( File :: create ( f) . map_err ( |e| {
254
- e. context ( "Unable to open file for writing two-pass data" )
255
- } ) ?) ,
256
- None => None ,
257
- } ;
258
-
259
245
let mut buffer: [ u8 ; 80 ] = [ 0 ; 80 ] ;
260
246
let mut buf_pos = 0 ;
261
247
@@ -433,6 +419,20 @@ fn run() -> Result<(), error::CliError> {
433
419
cli. enc . time_base = video_info. time_base ;
434
420
}
435
421
422
+ let pass2file = match cli. pass2file_name {
423
+ Some ( f) => Some ( File :: open ( f) . map_err ( |e| {
424
+ e. context ( "Unable to open file for reading two-pass data" )
425
+ } ) ?) ,
426
+ None => None ,
427
+ } ;
428
+
429
+ let pass1file = match cli. pass1file_name {
430
+ Some ( f) => Some ( File :: create ( f) . map_err ( |e| {
431
+ e. context ( "Unable to open file for writing two-pass data" )
432
+ } ) ?) ,
433
+ None => None ,
434
+ } ;
435
+
436
436
let cfg =
437
437
Config :: new ( ) . with_encoder_config ( cli. enc ) . with_threads ( cli. threads ) ;
438
438
@@ -490,8 +490,8 @@ fn run() -> Result<(), error::CliError> {
490
490
progress,
491
491
& mut * cli. io . output ,
492
492
& mut source,
493
- cli . pass1file_name . as_ref ( ) ,
494
- cli . pass2file_name . as_ref ( ) ,
493
+ pass1file ,
494
+ pass2file ,
495
495
y4m_enc,
496
496
cli. metrics_enabled ,
497
497
) ?
@@ -502,8 +502,8 @@ fn run() -> Result<(), error::CliError> {
502
502
progress,
503
503
& mut * cli. io . output ,
504
504
& mut source,
505
- cli . pass1file_name . as_ref ( ) ,
506
- cli . pass2file_name . as_ref ( ) ,
505
+ pass1file ,
506
+ pass2file ,
507
507
y4m_enc,
508
508
cli. metrics_enabled ,
509
509
) ?
0 commit comments