Merge commit '96cad81ddc6f79e8f06121532c71d5d7a1935681' into HEAD

Change-Id: I3786b3de079c8514f0492bc7ca3b5f0334232edd
diff --git a/BoardConfig.mk b/BoardConfig.mk
index ce15baf..aab17ef 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -82,10 +82,8 @@
 BOARD_USES_LIBDRM := true
 
 TARGET_USES_HWC2 := true
+NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
 SF_START_GRAPHICS_ALLOCATOR_SERVICE := true
-VSYNC_EVENT_PHASE_OFFSET_NS := 2000000
-SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000
-
 
 # Audio
 BOARD_USES_ALSA_AUDIO := true
diff --git a/Generic.kl b/Generic.kl
new file mode 100644
index 0000000..e0115a3
--- /dev/null
+++ b/Generic.kl
@@ -0,0 +1,441 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Generic key layout file for full alphabetic US English PC style external keyboards.
+#
+# This file is intentionally very generic and is intended to support a broad rang of keyboards.
+# Do not edit the generic key layout to support a specific keyboard; instead, create
+# a new key layout file with the required keyboard configuration.
+#
+
+key 1     ESCAPE
+key 2     1
+key 3     2
+key 4     3
+key 5     4
+key 6     5
+key 7     6
+key 8     7
+key 9     8
+key 10    9
+key 11    0
+key 12    MINUS
+key 13    EQUALS
+key 14    DEL
+key 15    TAB
+key 16    Q
+key 17    W
+key 18    E
+key 19    R
+key 20    T
+key 21    Y
+key 22    U
+key 23    I
+key 24    O
+key 25    P
+key 26    LEFT_BRACKET
+key 27    RIGHT_BRACKET
+key 28    ENTER
+key 29    CTRL_LEFT
+key 30    A
+key 31    S
+key 32    D
+key 33    F
+key 34    G
+key 35    H
+key 36    J
+key 37    K
+key 38    L
+key 39    SEMICOLON
+key 40    APOSTROPHE
+key 41    GRAVE
+key 42    SHIFT_LEFT
+key 43    BACKSLASH
+key 44    Z
+key 45    X
+key 46    C
+key 47    V
+key 48    B
+key 49    N
+key 50    M
+key 51    COMMA
+key 52    PERIOD
+key 53    SLASH
+key 54    SHIFT_RIGHT
+key 55    NUMPAD_MULTIPLY
+key 56    ALT_LEFT
+key 57    SPACE
+key 58    CAPS_LOCK
+key 59    F1
+key 60    F2
+key 61    F3
+key 62    F4
+key 63    F5
+key 64    F6
+key 65    F7
+key 66    F8
+key 67    F9
+key 68    F10
+key 69    NUM_LOCK
+key 70    SCROLL_LOCK
+key 71    NUMPAD_7
+key 72    NUMPAD_8
+key 73    NUMPAD_9
+key 74    NUMPAD_SUBTRACT
+key 75    NUMPAD_4
+key 76    NUMPAD_5
+key 77    NUMPAD_6
+key 78    NUMPAD_ADD
+key 79    NUMPAD_1
+key 80    NUMPAD_2
+key 81    NUMPAD_3
+key 82    NUMPAD_0
+key 83    NUMPAD_DOT
+# key 84 (undefined)
+key 85    ZENKAKU_HANKAKU
+key 86    BACKSLASH
+key 87    F11
+key 88    F12
+key 89    RO
+# key 90 "KEY_KATAKANA"
+# key 91 "KEY_HIRAGANA"
+key 92    HENKAN
+key 93    KATAKANA_HIRAGANA
+key 94    MUHENKAN
+key 95    NUMPAD_COMMA
+key 96    NUMPAD_ENTER
+key 97    CTRL_RIGHT
+key 98    NUMPAD_DIVIDE
+key 99    SYSRQ
+key 100   ALT_RIGHT
+# key 101 "KEY_LINEFEED"
+key 102   MOVE_HOME
+key 103   DPAD_UP
+key 104   PAGE_UP
+key 105   DPAD_LEFT
+key 106   DPAD_RIGHT
+key 107   MOVE_END
+key 108   DPAD_DOWN
+key 109   PAGE_DOWN
+key 110   INSERT
+key 111   FORWARD_DEL
+# key 112 "KEY_MACRO"
+key 113   VOLUME_MUTE
+key 114   VOLUME_DOWN
+key 115   VOLUME_UP
+key 116   POWER
+key 117   NUMPAD_EQUALS
+# key 118 "KEY_KPPLUSMINUS"
+key 119   BREAK
+# key 120 (undefined)
+key 121   NUMPAD_COMMA
+key 122   KANA
+key 123   EISU
+key 124   YEN
+key 125   META_LEFT
+key 126   META_RIGHT
+key 127   MENU
+key 128   MEDIA_STOP
+# key 129 "KEY_AGAIN"
+# key 130 "KEY_PROPS"
+# key 131 "KEY_UNDO"
+# key 132 "KEY_FRONT"
+key 133   COPY
+# key 134 "KEY_OPEN"
+key 135   PASTE
+# key 136 "KEY_FIND"
+key 137   CUT
+# key 138 "KEY_HELP"
+key 139   MENU
+key 140   CALCULATOR
+# key 141 "KEY_SETUP"
+key 142   SLEEP
+key 143   WAKEUP
+# key 144 "KEY_FILE"
+# key 145 "KEY_SENDFILE"
+# key 146 "KEY_DELETEFILE"
+# key 147 "KEY_XFER"
+# key 148 "KEY_PROG1"
+# key 149 "KEY_PROG2"
+key 150   EXPLORER
+# key 151 "KEY_MSDOS"
+key 152   POWER
+# key 153 "KEY_DIRECTION"
+# key 154 "KEY_CYCLEWINDOWS"
+key 155   ENVELOPE
+key 156   BOOKMARK
+# key 157 "KEY_COMPUTER"
+key 158   BACK
+key 159   FORWARD
+key 160   MEDIA_CLOSE
+key 161   MEDIA_EJECT
+key 162   MEDIA_EJECT
+key 163   MEDIA_NEXT
+key 164   MEDIA_PLAY_PAUSE
+key 165   MEDIA_PREVIOUS
+key 166   MEDIA_STOP
+key 167   MEDIA_RECORD
+key 168   MEDIA_REWIND
+key 169   CALL
+# key 170 "KEY_ISO"
+key 171   MUSIC
+key 172   HOME
+# key 173 "KEY_REFRESH"
+# key 174 "KEY_EXIT"
+# key 175 "KEY_MOVE"
+# key 176 "KEY_EDIT"
+key 177   PAGE_UP
+key 178   PAGE_DOWN
+key 179   NUMPAD_LEFT_PAREN
+key 180   NUMPAD_RIGHT_PAREN
+# key 181 "KEY_NEW"
+# key 182 "KEY_REDO"
+# key 183   F13
+# key 184   F14
+# key 185   F15
+# key 186   F16
+# key 187   F17
+# key 188   F18
+# key 189   F19
+# key 190   F20
+# key 191   F21
+# key 192   F22
+# key 193   F23
+# key 194   F24
+# key 195 (undefined)
+# key 196 (undefined)
+# key 197 (undefined)
+# key 198 (undefined)
+# key 199 (undefined)
+key 200   MEDIA_PLAY
+key 201   MEDIA_PAUSE
+# key 202 "KEY_PROG3"
+# key 203 "KEY_PROG4"
+# key 204 (undefined)
+# key 205 "KEY_SUSPEND"
+# key 206 "KEY_CLOSE"
+key 207   MEDIA_PLAY
+key 208   MEDIA_FAST_FORWARD
+# key 209 "KEY_BASSBOOST"
+# key 210 "KEY_PRINT"
+# key 211 "KEY_HP"
+key 212   CAMERA
+key 213   MUSIC
+# key 214 "KEY_QUESTION"
+key 215   ENVELOPE
+# key 216 "KEY_CHAT"
+key 217   ASSIST
+# key 218 "KEY_CONNECT"
+# key 219 "KEY_FINANCE"
+# key 220 "KEY_SPORT"
+# key 221 "KEY_SHOP"
+# key 222 "KEY_ALTERASE"
+# key 223 "KEY_CANCEL"
+key 224   BRIGHTNESS_DOWN
+key 225   BRIGHTNESS_UP
+key 226   HEADSETHOOK
+
+key 256   BUTTON_1
+key 257   BUTTON_2
+key 258   BUTTON_3
+key 259   BUTTON_4
+key 260   BUTTON_5
+key 261   BUTTON_6
+key 262   BUTTON_7
+key 263   BUTTON_8
+key 264   BUTTON_9
+key 265   BUTTON_10
+key 266   BUTTON_11
+key 267   BUTTON_12
+key 268   BUTTON_13
+key 269   BUTTON_14
+key 270   BUTTON_15
+key 271   BUTTON_16
+
+key 288   BUTTON_1
+key 289   BUTTON_2
+key 290   BUTTON_3
+key 291   BUTTON_4
+key 292   BUTTON_5
+key 293   BUTTON_6
+key 294   BUTTON_7
+key 295   BUTTON_8
+key 296   BUTTON_9
+key 297   BUTTON_10
+key 298   BUTTON_11
+key 299   BUTTON_12
+key 300   BUTTON_13
+key 301   BUTTON_14
+key 302   BUTTON_15
+key 303   BUTTON_16
+
+
+key 304   BUTTON_A
+key 305   BUTTON_B
+key 306   BUTTON_C
+key 307   BUTTON_X
+key 308   BUTTON_Y
+key 309   BUTTON_Z
+key 310   BUTTON_L1
+key 311   BUTTON_R1
+key 312   BUTTON_L2
+key 313   BUTTON_R2
+key 314   BUTTON_SELECT
+key 315   BUTTON_START
+key 316   BUTTON_MODE
+key 317   BUTTON_THUMBL
+key 318   BUTTON_THUMBR
+
+
+# key 352 "KEY_OK"
+key 353   DPAD_CENTER
+# key 354 "KEY_GOTO"
+# key 355 "KEY_CLEAR"
+# key 356 "KEY_POWER2"
+# key 357 "KEY_OPTION"
+# key 358 "KEY_INFO"
+# key 359 "KEY_TIME"
+# key 360 "KEY_VENDOR"
+# key 361 "KEY_ARCHIVE"
+key 362   GUIDE
+# key 363 "KEY_CHANNEL"
+# key 364 "KEY_FAVORITES"
+# key 365 "KEY_EPG"
+key 366   DVR
+# key 367 "KEY_MHP"
+# key 368 "KEY_LANGUAGE"
+# key 369 "KEY_TITLE"
+# key 370 "KEY_SUBTITLE"
+# key 371 "KEY_ANGLE"
+# key 372 "KEY_ZOOM"
+# key 373 "KEY_MODE"
+# key 374 "KEY_KEYBOARD"
+# key 375 "KEY_SCREEN"
+# key 376 "KEY_PC"
+key 377   TV
+# key 378 "KEY_TV2"
+# key 379 "KEY_VCR"
+# key 380 "KEY_VCR2"
+# key 381 "KEY_SAT"
+# key 382 "KEY_SAT2"
+# key 383 "KEY_CD"
+# key 384 "KEY_TAPE"
+# key 385 "KEY_RADIO"
+# key 386 "KEY_TUNER"
+# key 387 "KEY_PLAYER"
+# key 388 "KEY_TEXT"
+# key 389 "KEY_DVD"
+# key 390 "KEY_AUX"
+# key 391 "KEY_MP3"
+# key 392 "KEY_AUDIO"
+# key 393 "KEY_VIDEO"
+# key 394 "KEY_DIRECTORY"
+# key 395 "KEY_LIST"
+# key 396 "KEY_MEMO"
+key 397   CALENDAR
+# key 398 "KEY_RED"
+# key 399 "KEY_GREEN"
+# key 400 "KEY_YELLOW"
+# key 401 "KEY_BLUE"
+key 402   CHANNEL_UP
+key 403   CHANNEL_DOWN
+# key 404 "KEY_FIRST"
+# key 405 "KEY_LAST"
+# key 406 "KEY_AB"
+# key 407 "KEY_NEXT"
+# key 408 "KEY_RESTART"
+# key 409 "KEY_SLOW"
+# key 410 "KEY_SHUFFLE"
+# key 411 "KEY_BREAK"
+# key 412 "KEY_PREVIOUS"
+# key 413 "KEY_DIGITS"
+# key 414 "KEY_TEEN"
+# key 415 "KEY_TWEN"
+
+key 429   CONTACTS
+
+# key 448 "KEY_DEL_EOL"
+# key 449 "KEY_DEL_EOS"
+# key 450 "KEY_INS_LINE"
+# key 451 "KEY_DEL_LINE"
+
+
+key 464   FUNCTION
+key 465   ESCAPE            FUNCTION
+key 466   F1                FUNCTION
+key 467   F2                FUNCTION
+key 468   F3                FUNCTION
+key 469   F4                FUNCTION
+key 470   F5                FUNCTION
+key 471   F6                FUNCTION
+key 472   F7                FUNCTION
+key 473   F8                FUNCTION
+key 474   F9                FUNCTION
+key 475   F10               FUNCTION
+key 476   F11               FUNCTION
+key 477   F12               FUNCTION
+key 478   1                 FUNCTION
+key 479   2                 FUNCTION
+key 480   D                 FUNCTION
+key 481   E                 FUNCTION
+key 482   F                 FUNCTION
+key 483   S                 FUNCTION
+key 484   B                 FUNCTION
+
+
+# key 497 KEY_BRL_DOT1
+# key 498 KEY_BRL_DOT2
+# key 499 KEY_BRL_DOT3
+# key 500 KEY_BRL_DOT4
+# key 501 KEY_BRL_DOT5
+# key 502 KEY_BRL_DOT6
+# key 503 KEY_BRL_DOT7
+# key 504 KEY_BRL_DOT8
+
+key 580   APP_SWITCH
+key 582   VOICE_ASSIST
+
+# Keys defined by HID usages
+key usage 0x0c006F BRIGHTNESS_UP
+key usage 0x0c0070 BRIGHTNESS_DOWN
+
+# Joystick and game controller axes.
+# Axes that are not mapped will be assigned generic axis numbers by the input subsystem.
+axis 0x00 X
+axis 0x01 Y
+axis 0x02 Z
+axis 0x03 RX
+axis 0x04 RY
+axis 0x05 RZ
+axis 0x06 THROTTLE
+axis 0x07 RUDDER
+axis 0x08 WHEEL
+axis 0x09 GAS
+axis 0x0a BRAKE
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+# LEDs
+led 0x00 NUM_LOCK
+led 0x01 CAPS_LOCK
+led 0x02 SCROLL_LOCK
+led 0x03 COMPOSE
+led 0x04 KANA
+led 0x05 SLEEP
+led 0x06 SUSPEND
+led 0x07 MUTE
+led 0x08 MISC
+led 0x09 MAIL
+led 0x0a CHARGING
diff --git a/Nexus_Remote.kl b/Nexus_Remote.kl
index 4271c23..dbe4f45 100644
--- a/Nexus_Remote.kl
+++ b/Nexus_Remote.kl
@@ -23,5 +23,5 @@
 key 158   BACK
 key 164   MEDIA_PLAY_PAUSE
 key 172   HOME
-key 217   SEARCH
+key 217   ASSIST
 key 353   DPAD_CENTER
diff --git a/Spike.kl b/Spike.kl
index 4271c23..dbe4f45 100644
--- a/Spike.kl
+++ b/Spike.kl
@@ -23,5 +23,5 @@
 key 158   BACK
 key 164   MEDIA_PLAY_PAUSE
 key 172   HOME
-key 217   SEARCH
+key 217   ASSIST
 key 353   DPAD_CENTER
diff --git a/device.mk b/device.mk
index a8d96a8..54ec077 100644
--- a/device.mk
+++ b/device.mk
@@ -278,7 +278,8 @@
     device/asus/fugu/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
     device/asus/fugu/gpio-keys.kcm:system/usr/keychars/gpio-keys.kcm \
     device/asus/fugu/Spike.kl:system/usr/keylayout/Spike.kl \
-    device/asus/fugu/Nexus_Remote.kl:system/usr/keylayout/Nexus_Remote.kl
+    device/asus/fugu/Nexus_Remote.kl:system/usr/keylayout/Nexus_Remote.kl \
+    device/asus/fugu/Generic.kl:system/usr/keylayout/Generic.kl
 
 #GFX Config
 PRODUCT_COPY_FILES += \
@@ -317,18 +318,6 @@
     device/asus/fugu/init.fugu.diag.rc.userdebug:root/init.fugu.diag.rc
 endif
 
-# In userdebug, add minidebug info the the boot image and the system server to support
-# diagnosing native crashes.
-ifneq (,$(filter userdebug, $(TARGET_BUILD_VARIANT)))
-    # Boot image.
-    PRODUCT_DEX_PREOPT_BOOT_FLAGS += --generate-mini-debug-info
-    # System server and some of its services. This is just here for completeness and consistency,
-    # as we currently only compile the boot image.
-    # Note: we cannot use PRODUCT_SYSTEM_SERVER_JARS, as it has not been expanded at this point.
-    $(call add-product-dex-preopt-module-config,services,--generate-mini-debug-info)
-    $(call add-product-dex-preopt-module-config,wifi-service,--generate-mini-debug-info)
-endif
-
 $(call inherit-product-if-exists, vendor/asus/fugu/device-vendor.mk)
 $(call inherit-product-if-exists, vendor/intel/PRIVATE/fugu/device-vendor.mk)
 $(call inherit-product-if-exists, vendor/intel/moorefield/prebuilts/houdini/houdini.mk)
diff --git a/media_codecs_performance.xml b/media_codecs_performance.xml
index f92bbe5..acb6f5c 100644
--- a/media_codecs_performance.xml
+++ b/media_codecs_performance.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8" ?>
-<!-- Copyright 2016 The Android Open Source Project
+<!-- Copyright 2017 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,106 +14,125 @@
      limitations under the License.
 -->
 
+<!-- Generated file for fugu using measurements between OPR1.170623.019 and OPM1.170913.003 -->
 <MediaCodecs>
     <Encoders>
         <MediaCodec name="OMX.Intel.VideoEncoder.AVC" type="video/avc" update="true">
-            <!-- measured 96%:54-186 med:64 SLOW -->
-            <Limit name="measured-frame-rate-320x240" range="64-128" /> <!-- N=52 v96%=1.9 -->
-            <!-- measured 96%:47-80 med:52 SLOW -->
-            <Limit name="measured-frame-rate-720x480" range="51-78" /> <!-- N=52 v96%=1.3 -->
-            <!-- measured 96%:32-54 med:37 SLOW -->
-            <Limit name="measured-frame-rate-1280x720" range="32-42" /> <!-- N=52 v96%=1.3 -->
-            <!-- measured 96%:17-28 med:19 SLOW -->
-            <Limit name="measured-frame-rate-1920x1080" range="17-22" /> <!-- N=52 v95%=1.3 -->
+            <!-- measured 98%:33-35 med:34/34 N=94 -->
+            <Limit name="measured-frame-rate-320x240" range="34-34" /> <!-- v98%=1.0 -->
+            <!-- measured 98%:29-31 med:30/30 N=94 -->
+            <Limit name="measured-frame-rate-720x480" range="30-30" /> <!-- v98%=1.0 -->
+            <!-- measured 98%:24-33 med:31/28 N=94 -->
+            <Limit name="measured-frame-rate-1280x720" range="28-28" /> <!-- v98%=1.2 -->
+            <!-- measured 98%:17-18 med:17/17 N=94 -->
+            <Limit name="measured-frame-rate-1920x1080" range="17-17" /> <!-- v98%=1.0 -->
         </MediaCodec>
         <MediaCodec name="OMX.Intel.VideoEncoder.VP8" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-640x360" range="89-89" /> <!-- N=40 v95%=1.0 -->
-            <Limit name="measured-frame-rate-1280x720" range="36-39" /> <!-- N=40 v95%=1.1 -->
-            <!-- measured 95%:17-26 med:18 SLOW -->
-            <Limit name="measured-frame-rate-1920x1080" range="18-21" /> <!-- N=40 v95%=1.2 -->
+            <!-- measured 98%:88-92 med:90/90 N=92 -->
+            <Limit name="measured-frame-rate-640x360" range="90-90" /> <!-- v98%=1.0 (OPR1.170623.014-) -->
+            <!-- measured 98%:36-43 med:37/39 N=94 -->
+            <Limit name="measured-frame-rate-1280x720" range="37-39" /> <!-- v98%=1.1 -->
+            <!-- measured 98%:18-26 med:25/22 N=92 -->
+            <Limit name="measured-frame-rate-1920x1080" range="22-22" /> <!-- v98%=1.2 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
-            <Limit name="measured-frame-rate-176x144" range="465-465" /> <!-- N=40 v95%=1.2 -->
+            <!-- measured 98%:481-578 med:539/539 N=94 -->
+            <Limit name="measured-frame-rate-176x144" range="539-539" /> <!-- v98%=1.1 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="222-237" /> <!-- N=38 v93%=1.1 -->
-            <Limit name="measured-frame-rate-720x480" range="73-75" /> <!-- N=38 v93%=1.1 -->
-            <Limit name="measured-frame-rate-1280x720" range="32-35" /> <!-- N=38 v93%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="14-14" /> <!-- N=38 v93%=1.2 -->
+            <!-- measured 98%:220-307 med:257/257 N=94 -->
+            <Limit name="measured-frame-rate-320x240" range="257-257" /> <!-- v98%=1.2 (-OPM1.170908.002) -->
+            <!-- measured 98%:77-117 med:91/90 N=94 -->
+            <Limit name="measured-frame-rate-720x480" range="90-90" /> <!-- v98%=1.2 (-OPM1.170908.002) -->
         </MediaCodec>
         <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
-            <Limit name="measured-frame-rate-176x144" range="614-617" /> <!-- N=40 v93%=1.1 -->
+            <!-- measured 98%:557-670 med:601/601 N=94 -->
+            <Limit name="measured-frame-rate-176x144" range="601-601" /> <!-- v98%=1.1 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x180" range="100-145" /> <!-- N=54 v95%=1.4 -->
-            <Limit name="measured-frame-rate-640x360" range="54-61" /> <!-- N=54 v95%=1.2 -->
-            <Limit name="measured-frame-rate-1280x720" range="25-33" /> <!-- N=54 v95%=1.3 -->
-            <Limit name="measured-frame-rate-1920x1080" range="12-16" /> <!-- N=54 v95%=1.2 -->
+            <Limit name="measured-frame-rate-320x180" range="132-132" /> <!-- N=108 v98%=1.1 -->
+            <Limit name="measured-frame-rate-640x360" range="54-54" /> <!-- N=108 v98%=1.0 -->
+            <Limit name="measured-frame-rate-1280x720" range="27-27" /> <!-- N=108 v98%=1.1 -->
         </MediaCodec>
     </Encoders>
     <Decoders>
         <MediaCodec name="OMX.Intel.VideoDecoder.H263" type="video/3gpp" update="true">
-            <Limit name="measured-frame-rate-176x144" range="423-423" /> <!-- N=40 v95%=1.3 -->
-            <Limit name="measured-frame-rate-352x288" range="389-389" /> <!-- N=40 v95%=1.4 -->
+            <Limit name="measured-frame-rate-176x144" range="563-563" /> <!-- N=422 v98%=1.2 -->
+            <Limit name="measured-frame-rate-352x288" range="550-550" /> <!-- N=422 v98%=1.2 -->
         </MediaCodec>
+        <!-- Measurements between OPR1.170623.013 and OPM1.170913.003 -->
         <MediaCodec name="OMX.Intel.VideoDecoder.AVC" type="video/avc" update="true">
-            <!-- measured 93%:706-1611 med:1284 FLAKY(mn=500.0 < 533 - 2132) WIDEN(500 - 2132) -->
-            <Limit name="measured-frame-rate-320x240" range="1000-1066" /> <!-- N=40 v93%=1.5 -->
-            <Limit name="measured-frame-rate-720x480" range="669-669" /> <!-- N=40 v95%=1.0 -->
-            <Limit name="measured-frame-rate-1280x720" range="243-243" /> <!-- N=40 v95%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="117-117" /> <!-- N=40 v95%=1.1 -->
+            <!-- measured 98%:505-1249 med:1079/1077 FLAKY(mn=376.4 < 505 - 2154) -->
+            <Limit name="measured-frame-rate-320x240" range="752-1077" /> <!-- TWEAKED N=424 v98%=1.6 -->
+            <Limit name="measured-frame-rate-720x480" range="693-693" /> <!-- N=424 v98%=1.0 -->
+            <Limit name="measured-frame-rate-1280x720" range="277-277" /> <!-- N=424 v98%=1.0 -->
+            <Limit name="measured-frame-rate-1920x1080" range="127-127" /> <!-- N=424 v98%=1.0 -->
         </MediaCodec>
         <MediaCodec name="OMX.Intel.sw_vd.h265" type="video/hevc" update="true">
-            <Limit name="measured-frame-rate-352x288" range="331-331" /> <!-- N=40 v95%=1.4 -->
-            <Limit name="measured-frame-rate-640x360" range="168-168" /> <!-- N=40 v95%=1.4 -->
-            <Limit name="measured-frame-rate-720x480" range="137-137" /> <!-- N=40 v95%=1.6 -->
-            <Limit name="measured-frame-rate-1280x720" range="67-67" /> <!-- N=40 v95%=1.4 -->
+            <!-- measured 98%:215-404 med:395/395 FLAKY(mn=178.5 < 198 - 790) -->
+            <Limit name="measured-frame-rate-352x288" range="357-395" /> <!-- TWEAKED N=422 v98%=1.4 -->
+            <!-- measured 98%:98-203 med:198/198 FLAKY(mn=96.2 < 98 - 396) -->
+            <Limit name="measured-frame-rate-640x360" range="192-198" /> <!-- TWEAKED N=422 v98%=1.4 -->
+            <!-- measured 98%:86-179 med:174/174 FLAKY(mn=79.2 < 86 - 348) -->
+            <Limit name="measured-frame-rate-720x480" range="158-174" /> <!-- TWEAKED N=422 v98%=1.4 -->
+            <!-- measured 98%:38-74 med:67/67 FLAKY(mn=33.0 < 34 - 134) -->
+            <Limit name="measured-frame-rate-1280x720" range="66-67" /> <!-- TWEAKED N=422 v98%=1.4 -->
         </MediaCodec>
         <MediaCodec name="OMX.Intel.VideoDecoder.MPEG4" type="video/mp4v-es" update="true">
-            <Limit name="measured-frame-rate-176x144" range="287-287" /> <!-- N=40 v95%=1.3 -->
+            <Limit name="measured-frame-rate-176x144" range="370-370" /> <!-- N=424 v98%=1.1 -->
         </MediaCodec>
         <MediaCodec name="OMX.Intel.VideoDecoder.VP8" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x180" range="305-305" /> <!-- N=40 v95%=1.3 -->
-            <Limit name="measured-frame-rate-640x360" range="221-221" /> <!-- N=40 v95%=1.2 -->
-            <Limit name="measured-frame-rate-1280x720" range="116-116" /> <!-- N=40 v95%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="61-62" /> <!-- N=40 v95%=1.0 -->
+            <Limit name="measured-frame-rate-320x180" range="424-424" /> <!-- N=422 v98%=1.1 -->
+            <Limit name="measured-frame-rate-640x360" range="275-275" /> <!-- N=422 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1280x720" range="128-128" /> <!-- N=424 v98%=1.0 (OPR1.170623.013-) -->
+            <Limit name="measured-frame-rate-1920x1080" range="63-63" /> <!-- N=422 v98%=1.0 -->
         </MediaCodec>
         <MediaCodec name="OMX.Intel.VideoDecoder.VP9.hybrid" type="video/x-vnd.on2.vp9" update="true">
-            <Limit name="measured-frame-rate-320x180" range="189-189" /> <!-- N=40 v95%=1.6 -->
-            <Limit name="measured-frame-rate-640x360" range="113-113" /> <!-- N=40 v95%=1.2 -->
-            <Limit name="measured-frame-rate-1280x720" range="44-47" /> <!-- N=40 v95%=1.5 -->
-            <Limit name="measured-frame-rate-1920x1080" range="30-31" /> <!-- N=40 v95%=1.5 -->
+            <Limit name="measured-frame-rate-320x180" range="318-318" /> <!-- N=420 v98%=1.4 -->
+            <!-- measured 90%:101-135 med:131/130 FLAKY(mn=62.7 < 65 - 260) -->
+            <Limit name="measured-frame-rate-640x360" range="125-130" /> <!-- TWEAKED N=420 v90%=1.2 -->
+            <Limit name="measured-frame-rate-1280x720" range="47-47" /> <!-- N=420 v98%=1.4 -->
+            <!-- measured 98%:17-35 med:34/34 FLAKY(mn=15.0 < 17 - 68) -->
+            <Limit name="measured-frame-rate-1920x1080" range="30-34" /> <!-- TWEAKED N=420 v98%=1.4 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
-            <Limit name="measured-frame-rate-176x144" range="740-740" /> <!-- N=40 v95%=1.2 -->
+            <!-- measured 98%:413-758 med:736/736 FLAKY(mn=298.9 < 368 - 1472) -->
+            <Limit name="measured-frame-rate-176x144" range="597-736" /> <!-- TWEAKED N=422 v98%=1.4 -->
         </MediaCodec>
+        <!-- Measurements between OPR1.170623.013 and OPM1.170913.003 -->
         <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="208-208" /> <!-- N=40 v95%=1.9 -->
-            <Limit name="measured-frame-rate-720x480" range="99-99" /> <!-- N=40 v95%=1.3 -->
-            <Limit name="measured-frame-rate-1280x720" range="36-36" /> <!-- N=40 v95%=1.2 -->
-            <Limit name="measured-frame-rate-1920x1080" range="16-16" /> <!-- N=39 v93%=1.1 -->
+            <!-- measured 98%:171-325 med:307/307 FLAKY(mn=140.0 < 154 - 614) -->
+            <Limit name="measured-frame-rate-320x240" range="279-307" /> <!-- TWEAKED N=610 v98%=1.4 -->
+            <Limit name="measured-frame-rate-720x480" range="110-110" /> <!-- N=610 v98%=1.2 -->
+            <!-- measured 98%:20-42 med:39/39 FLAKY(mn=16.3 < 20 - 78) -->
+            <Limit name="measured-frame-rate-1280x720" range="32-39" /> <!-- TWEAKED N=610 v98%=1.4 -->
+            <!-- measured 98%:8-18 med:17/17 FLAKY(mn=6.9 < 8 - 34) -->
+            <Limit name="measured-frame-rate-1920x1080" range="15-17" /> <!-- TWEAKED N=517 v98%=1.5 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
-            <Limit name="measured-frame-rate-352x288" range="225-225" /> <!-- N=40 v95%=1.6 -->
-            <Limit name="measured-frame-rate-640x360" range="110-110" /> <!-- N=40 v95%=1.5 -->
-            <Limit name="measured-frame-rate-720x480" range="119-119" /> <!-- N=40 v93%=1.3 -->
-            <Limit name="measured-frame-rate-1280x720" range="49-54" /> <!-- N=40 v95%=1.3 -->
-            <Limit name="measured-frame-rate-1920x1080" range="27-29" /> <!-- N=40 v95%=1.4 -->
+            <Limit name="measured-frame-rate-352x288" range="286-286" /> <!-- N=422 v98%=1.4 -->
+            <!-- measured 95%:99-142 med:130/130 FLAKY(mn=57.9 < 65 - 260) -->
+            <Limit name="measured-frame-rate-640x360" range="115-130" /> <!-- TWEAKED N=422 v95%=1.2 -->
+            <!-- measured 97%:86-125 med:118/118 FLAKY(mn=54.5 < 59 - 236) -->
+            <Limit name="measured-frame-rate-720x480" range="108-118" /> <!-- TWEAKED N=422 v97%=1.2 -->
+            <!-- measured 98%:24-54 med:52/51 FLAKY(mn=20.6 < 24 - 102) -->
+            <Limit name="measured-frame-rate-1280x720" range="41-51" /> <!-- TWEAKED N=422 v98%=1.5 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
-            <Limit name="measured-frame-rate-176x144" range="805-805" /> <!-- N=40 v95%=1.3 -->
+            <!-- measured 98%:493-911 med:875/875 FLAKY(mn=392.0 < 438 - 1750) -->
+            <Limit name="measured-frame-rate-176x144" range="784-875" /> <!-- TWEAKED N=424 v98%=1.4 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x180" range="514-514" /> <!-- N=40 v95%=1.3 -->
-            <Limit name="measured-frame-rate-640x360" range="175-175" /> <!-- N=40 v95%=1.1 -->
-            <Limit name="measured-frame-rate-1280x720" range="44-44" /> <!-- N=40 v95%=1.0 -->
-            <Limit name="measured-frame-rate-1920x1080" range="18-18" /> <!-- N=40 v95%=1.0 -->
+            <Limit name="measured-frame-rate-320x180" range="594-594" /> <!-- N=422 v98%=1.4 -->
+            <Limit name="measured-frame-rate-640x360" range="189-189" /> <!-- N=422 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1280x720" range="45-45" /> <!-- N=422 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1920x1080" range="18-18" /> <!-- N=422 v98%=1.3 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
-            <Limit name="measured-frame-rate-320x180" range="327-327" /> <!-- N=40 v95%=1.2 -->
-            <Limit name="measured-frame-rate-640x360" range="134-134" /> <!-- N=40 v95%=1.2 -->
-            <Limit name="measured-frame-rate-1280x720" range="54-60" /> <!-- N=40 v95%=1.3 -->
-            <Limit name="measured-frame-rate-1920x1080" range="31-34" /> <!-- N=40 v95%=1.3 -->
+            <Limit name="measured-frame-rate-320x180" range="459-459" /> <!-- N=420 v98%=1.2 -->
+            <!-- measured 97%:133-190 med:183/183 FLAKY(mn=85.1 < 92 - 366) -->
+            <Limit name="measured-frame-rate-640x360" range="170-183" /> <!-- TWEAKED N=420 v97%=1.2 -->
+            <Limit name="measured-frame-rate-1280x720" range="59-59" /> <!-- N=420 v98%=1.4 -->
         </MediaCodec>
     </Decoders>
 </MediaCodecs>
diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt
index c075217..9e09eeb 100644
--- a/proprietary-blobs.txt
+++ b/proprietary-blobs.txt
@@ -117,7 +117,6 @@
 /system/lib/arm/libprocessgroup.so
 /system/lib/arm/libprotobuf-cpp-lite.so
 /system/lib/arm/libradio_metadata.so
-/system/lib/arm/libradio.so
 /system/lib/arm/libRScpp.so
 /system/lib/arm/libRSCpuRef.so
 /system/lib/arm/libRSDriver.so
@@ -147,7 +146,7 @@
 /system/lib/arm/libutils.so
 /system/lib/arm/libvorbisidec.so
 /system/lib/arm/libvulkan.so
-/system/lib/libwebrtc_audio_preprocessing.so
+/system/vendor/lib/libwebrtc_audio_preprocessing.so
 /system/lib/arm/libwebviewchromium_plat_support.so
 /system/lib/arm/libwilhelm.so
 /system/lib/arm/libz.so
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
index 81b31e5..8b7476f 100644
--- a/self-extractors/extract-lists.txt
+++ b/self-extractors/extract-lists.txt
@@ -121,7 +121,6 @@
             system/lib/arm/libprocessgroup.so \
             system/lib/arm/libprotobuf-cpp-lite.so \
             system/lib/arm/libradio_metadata.so \
-            system/lib/arm/libradio.so \
             system/lib/arm/libRScpp.so \
             system/lib/arm/libRSCpuRef.so \
             system/lib/arm/libRSDriver.so \
@@ -151,7 +150,7 @@
             system/lib/arm/libutils.so \
             system/lib/arm/libvorbisidec.so \
             system/lib/arm/libvulkan.so \
-            system/lib/libwebrtc_audio_preprocessing.so \
+            system/vendor/lib/libwebrtc_audio_preprocessing.so \
             system/lib/arm/libwebviewchromium_plat_support.so \
             system/lib/arm/libwilhelm.so \
             system/lib/arm/libz.so \
diff --git a/self-extractors/intel/staging/device-partial.mk b/self-extractors/intel/staging/device-partial.mk
index 2c837aa..3104b32 100644
--- a/self-extractors/intel/staging/device-partial.mk
+++ b/self-extractors/intel/staging/device-partial.mk
@@ -110,7 +110,6 @@
     vendor/intel/fugu/proprietary/libprocessgroup.so:system/lib/arm/libprocessgroup.so:intel \
     vendor/intel/fugu/proprietary/libprotobuf-cpp-lite.so:system/lib/arm/libprotobuf-cpp-lite.so:intel \
     vendor/intel/fugu/proprietary/libradio_metadata.so:system/lib/arm/libradio_metadata.so:intel \
-    vendor/intel/fugu/proprietary/libradio.so:system/lib/arm/libradio.so:intel \
     vendor/intel/fugu/proprietary/libRScpp.so:system/lib/arm/libRScpp.so:intel \
     vendor/intel/fugu/proprietary/libRSCpuRef.so:system/lib/arm/libRSCpuRef.so:intel \
     vendor/intel/fugu/proprietary/libRSDriver.so:system/lib/arm/libRSDriver.so:intel \
@@ -140,7 +139,7 @@
     vendor/intel/fugu/proprietary/libutils.so:system/lib/arm/libutils.so:intel \
     vendor/intel/fugu/proprietary/libvorbisidec.so:system/lib/arm/libvorbisidec.so:intel \
     vendor/intel/fugu/proprietary/libvulkan.so:system/lib/arm/libvulkan.so:intel \
-    vendor/intel/fugu/proprietary/libwebrtc_audio_preprocessing.so:system/lib/libwebrtc_audio_preprocessing.so:intel \
+    vendor/intel/fugu/proprietary/libwebrtc_audio_preprocessing.so:system/vendor/lib/libwebrtc_audio_preprocessing.so:intel \
     vendor/intel/fugu/proprietary/libwebviewchromium_plat_support.so:system/lib/arm/libwebviewchromium_plat_support.so:intel \
     vendor/intel/fugu/proprietary/libwilhelm.so:system/lib/arm/libwilhelm.so:intel \
     vendor/intel/fugu/proprietary/libz.so:system/lib/arm/libz.so:intel \
diff --git a/vendor_owner_info.txt b/vendor_owner_info.txt
index 3f65592..61a6b9a 100644
--- a/vendor_owner_info.txt
+++ b/vendor_owner_info.txt
@@ -100,7 +100,6 @@
 system/lib/arm/libprocessgroup.so:intel
 system/lib/arm/libprotobuf-cpp-lite.so:intel
 system/lib/arm/libradio_metadata.so:intel
-system/lib/arm/libradio.so:intel
 system/lib/arm/libRScpp.so:intel
 system/lib/arm/libRSCpuRef.so:intel
 system/lib/arm/libRSDriver.so:intel
@@ -130,7 +129,7 @@
 system/lib/arm/libutils.so:intel
 system/lib/arm/libvorbisidec.so:intel
 system/lib/arm/libvulkan.so:intel
-system/lib/libwebrtc_audio_preprocessing.so:intel
+system/vendor/lib/libwebrtc_audio_preprocessing.so:intel
 system/lib/arm/libwebviewchromium_plat_support.so:intel
 system/lib/arm/libwilhelm.so:intel
 system/lib/arm/libz.so:intel