Index: source/libvpx/vpxenc.c |
=================================================================== |
--- source/libvpx/vpxenc.c (revision 219822) |
+++ source/libvpx/vpxenc.c (working copy) |
@@ -1688,8 +1688,10 @@ |
/* Initialize default parameters */ |
memset(global, 0, sizeof(*global)); |
global->codec = codecs; |
- global->passes = 1; |
+ global->passes = 0; |
global->use_i420 = 1; |
+ /* Assign default deadline to good quality */ |
+ global->deadline = VPX_DL_GOOD_QUALITY; |
for (argi = argj = argv; (*argj = *argi); argi += arg.argv_step) { |
arg.argv_step = 1; |
@@ -1761,6 +1763,11 @@ |
} |
/* Validate global config */ |
+ if (global->passes == 0) { |
+ // Make default VP9 passes = 2 until there is a better quality 1-pass |
+ // encoder |
+ global->passes = (global->codec->iface == vpx_codec_vp9_cx ? 2 : 1); |
+ } |
if (global->pass) { |
/* DWIM: Assume the user meant passes=2 if pass=2 is specified */ |
@@ -2631,8 +2638,8 @@ |
&global.framerate)); |
} |
+ FOREACH_STREAM(setup_pass(stream, &global, pass)); |
FOREACH_STREAM(open_output_file(stream, &global)); |
- FOREACH_STREAM(setup_pass(stream, &global, pass)); |
FOREACH_STREAM(initialize_encoder(stream, &global)); |
frame_avail = 1; |