Allow target autodetection to work when cross-compiling.
[profile/ivi/libvpx.git] / vpxenc.c
index d142c9b..d32b21b 100644 (file)
--- a/vpxenc.c
+++ b/vpxenc.c
@@ -1517,6 +1517,7 @@ struct stream_config
     int                       arg_ctrls[ARG_CTRL_CNT_MAX][2];
     int                       arg_ctrl_cnt;
     int                       write_webm;
+    int                       have_kf_max_dist;
 };
 
 
@@ -1883,7 +1884,10 @@ static int parse_stream_params(struct global_config *global,
         else if (arg_match(&arg, &kf_min_dist, argi))
             config->cfg.kf_min_dist = arg_parse_uint(&arg);
         else if (arg_match(&arg, &kf_max_dist, argi))
+        {
             config->cfg.kf_max_dist = arg_parse_uint(&arg);
+            config->have_kf_max_dist = 1;
+        }
         else if (arg_match(&arg, &kf_disabled, argi))
             config->cfg.kf_mode = VPX_KF_DISABLED;
         else
@@ -1986,6 +1990,21 @@ static void set_stream_dimensions(struct stream_state *stream,
 }
 
 
+static void set_default_kf_interval(struct stream_state  *stream,
+                                    struct global_config *global)
+{
+    /* Use a max keyframe interval of 5 seconds, if none was
+     * specified on the command line.
+     */
+    if (!stream->config.have_kf_max_dist)
+    {
+        double framerate = (double)global->framerate.num/global->framerate.den;
+        if (framerate > 0.0)
+            stream->config.cfg.kf_max_dist = 5.0*framerate;
+    }
+}
+
+
 static void show_stream_config(struct stream_state  *stream,
                                struct global_config *global,
                                struct input_state   *input)
@@ -2109,6 +2128,7 @@ static void setup_pass(struct stream_state  *stream,
 
     stream->cx_time = 0;
     stream->nbytes = 0;
+    stream->frames_out = 0;
 }
 
 
@@ -2401,6 +2421,8 @@ int main(int argc, const char **argv_)
         if (!global.have_framerate)
             global.framerate = input.framerate;
 
+        FOREACH_STREAM(set_default_kf_interval(stream, &global));
+
         /* Show configuration */
         if (global.verbose && pass == 0)
             FOREACH_STREAM(show_stream_config(stream, &global, &input));