shithub: libvpx

Download patch

ref: bcaf1d69ec8ba4a616464aeb7b58ec92b76cc42a
parent: f932e15210820b806e7932f2ceb2e5f8758c8cc8
author: Yaowu Xu <yaowu@google.com>
date: Mon Jul 21 11:55:12 EDT 2014

Moved call to vp9_clear_system_state() to a proper location

The commit moved a call to vp9_clear_system_state() to a correct
location, i.e. prior function calls using floating point numbers.
This was to fix a mismatch mmx code and sse2 version, where a
floating point number used in adjust_frame_rate(cpi) gets NAN due
to mmx registers being in wrong state.

Change-Id: I40e0a6de98812000ccee6a729badb630604fd7e6

--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -2703,6 +2703,9 @@
     cpi->last_end_time_stamp_seen = cpi->source->ts_start;
   }
 
+  // Clear down mmx registers
+  vp9_clear_system_state();
+
   // adjust frame rates based on timestamps given
   if (cm->show_frame) {
     adjust_frame_rate(cpi);
@@ -2716,9 +2719,6 @@
 
   // start with a 0 size frame
   *size = 0;
-
-  // Clear down mmx registers
-  vp9_clear_system_state();
 
   /* find a free buffer for the new frame, releasing the reference previously
    * held.