<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 11, 2017 at 5:56 AM, Zhao Yakui <span dir="ltr"><<a href="mailto:yakui.zhao@intel.com" target="_blank">yakui.zhao@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 01/11/2017 06:02 AM, Sean V Kelley wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: "Xiang, Haihao"<<a href="mailto:haihao.xiang@intel.com" target="_blank">haihao.xiang@intel.com</a><wbr>><br>
<br>
Currently only one temporal layer is supported<br>
<br>
Signed-off-by: Xiang, Haihao<<a href="mailto:haihao.xiang@intel.com" target="_blank">haihao.xiang@intel.com</a>><br>
Reviewed-by: Sean V Kelley<<a href="mailto:seanvk@posteo.de" target="_blank">seanvk@posteo.de</a>><br>
---<br>
  src/Makefile.am        |    3 +<br>
  src/gen8_encoder_vp8.c |  140 +<br>
  src/gen8_mfc.c         |    8 +-<br>
  src/gen8_vme.c         |    5 +<br>
  src/i965_defines.h     |   10 +<br>
  src/i965_encoder.c     |    2 +<br>
  src/i965_encoder_vp8.c | 6697 ++++++++++++++++++++++++++++++<wbr>++++++++++++++++++<br>
  src/i965_encoder_vp8.h | 2643 +++++++++++++++++++<br>
  8 files changed, 9507 insertions(+), 1 deletion(-)<br>
  create mode 100644 src/gen8_encoder_vp8.c<br>
  create mode 100644 src/i965_encoder_vp8.c<br>
  create mode 100644 src/i965_encoder_vp8.h<br>
<br>
diff --git a/src/Makefile.am b/src/Makefile.am<br>
index 424812b3..7980836e 100755<br>
--- a/src/Makefile.am<br>
+++ b/src/Makefile.am<br>
@@ -59,6 +59,7 @@ source_c = \<br>
        gen7_mfd.c              \<br>
        gen75_mfd.c             \<br>
        gen75_mfc.c             \<br>
+       gen8_encoder_vp8.c      \<br>
        gen8_mfc.c              \<br>
        gen8_mfd.c              \<br>
        gen8_vme.c              \<br>
@@ -80,6 +81,7 @@ source_c = \<br>
        i965_drv_video.c        \<br>
        i965_encoder.c          \<br>
        i965_encoder_utils.c    \<br>
+       i965_encoder_vp8.c      \<br>
        i965_media.c            \<br>
        i965_media_h264.c       \<br>
        i965_media_mpeg2.c      \<br>
@@ -126,6 +128,7 @@ source_h = \<br>
        i965_drv_video.h        \<br>
        i965_encoder.h          \<br>
        i965_encoder_utils.h    \<br>
+       i965_encoder_vp8.h      \<br>
        i965_media.h            \<br>
        i965_media_h264.h       \<br>
        i965_media_mpeg2.h      \<br>
diff --git a/src/gen8_encoder_vp8.c b/src/gen8_encoder_vp8.c<br>
new file mode 100644<br>
index 00000000..00ca3df5<br>
--- /dev/null<br>
+++ b/src/gen8_encoder_vp8.c<br>
@@ -0,0 +1,140 @@<br>
+/*<br>
+ * Copyright © 2015 Intel Corporation<br>
+ *<br>
+ * Permission is hereby granted, free of charge, to any person obtaining a<br>
+ * copy of this software and associated documentation files (the<br>
+ * "Software"), to deal in the Software without restriction, including<br>
+ * without limitation the rights to use, copy, modify, merge, publish,<br>
+ * distribute, sub license, and/or sell copies of the Software, and to<br>
+ * permit persons to whom the Software is furnished to do so, subject to<br>
+ * the following conditions:<br>
+ *<br>
+ * The above copyright notice and this permission notice (including the<br>
+ * next paragraph) shall be included in all copies or substantial portions<br>
+ * of the Software.<br>
+ *<br>
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS<br>
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF<br>
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.<br>
+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR<br>
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,<br>
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE<br>
+ * SOFTWAR<br>
+ *<br>
+ * Authors:<br>
+ *    Xiang, Haihao<<a href="mailto:haihao.xiang@intel.com" target="_blank">haihao.xiang@intel.com</a>><br>
+ *<br>
+ */<br>
+<br>
+#include<stdio.h><br>
+#include<stdlib.h><br>
+#include<stdbool.h><br>
+#include<string.h><br>
+#include<math.h><br>
+#include<assert.h><br>
+<br>
+#include "intel_batchbuffer.h"<br>
+#include "intel_driver.h"<br>
+<br>
+#include "i965_defines.h"<br>
+#include "i965_drv_video.h"<br>
+#include "i965_encoder.h"<br>
+#include "i965_encoder_vp8.h"<br>
+<br>
+extern struct i965_kernel vp8_kernels_brc_init_reset[NUM<wbr>_VP8_BRC_RESET];<br>
+extern struct i965_kernel vp8_kernels_scaling[NUM_VP8_SC<wbr>ALING];<br>
+extern struct i965_kernel vp8_kernels_me[NUM_VP8_ME];<br>
+extern struct i965_kernel vp8_kernels_mbenc[NUM_VP8_MBEN<wbr>C];<br>
+extern struct i965_kernel vp8_kernels_mpu[NUM_VP8_MPU];<br>
+extern struct i965_kernel vp8_kernels_tpu[NUM_VP8_TPU];<br>
+extern struct i965_kernel vp8_kernels_brc_update[NUM_VP8<wbr>_BRC_UPDATE];<br>
+<br>
+static const uint32_t gen8_brc_init_bin_vp8[][4] = {<br>
+#include "shaders/brc/bsw/vp8_brc_init_<wbr>genx_0.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_brc_reset_bin_vp8[][4] = {<br>
+#include "shaders/brc/bsw/vp8_brc_reset<wbr>_genx_0.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_scaling_bin_vp8[][4] = {<br>
+#include "shaders/brc/bsw/hme_downscale<wbr>_genx_0.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_me_bin_vp8[][4] = {<br>
+#include "shaders/brc/bsw/hme_genx_0.g8<wbr>b"<br>
+};<br>
+<br>
+static const uint32_t gen8_mbenc_i_frame_dist_bin_vp<wbr>8[][4] = {<br>
+#include "shaders/brc/bsw/vp8_intra_dis<wbr>tortion_genx_0.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_mbenc_i_frame_luma_bin_vp<wbr>8[][4] = {<br>
+#include "shaders/brc/bsw/vp8_enc_genx_<wbr>0.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_mbenc_i_frame_chroma_bin_<wbr>vp8[][4] = {<br>
+#include "shaders/brc/bsw/vp8_enc_genx_<wbr>1.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_mbenc_p_frame_bin_vp8[][4<wbr>] = {<br>
+#include "shaders/brc/bsw/vp8_enc_genx_<wbr>2.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_mpu_bin_vp8[][4] = {<br>
+#include "shaders/brc/bsw/vp8_mpu_genx_<wbr>0.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_tpu_bin_vp8[][4] = {<br>
+#include "shaders/brc/bsw/vp8_tpu_genx_<wbr>0.g8b"<br>
+};<br>
+<br>
+static const uint32_t gen8_brc_update_bin_vp8[][4] = {<br>
+#include "shaders/brc/bsw/vp8_brc_updat<wbr>e_genx_0.g8b"<br>
+};<br>
+<br>
+Bool<br>
+gen8_encoder_vp8_context_init<wbr>(VADriverContextP ctx,<br>
+                              struct intel_encoder_context *encoder_context,<br>
+                              struct i965_encoder_vp8_context *vp8_context)<br>
+{<br>
+    vp8_kernels_brc_init_reset[VP8<wbr>_BRC_INIT].bin = gen8_brc_init_bin_vp8;<br>
+    vp8_kernels_brc_init_reset[VP8<wbr>_BRC_INIT].size = sizeof(gen8_brc_init_bin_vp8);<br>
+    vp8_kernels_brc_init_reset[VP8<wbr>_BRC_RESET].bin = gen8_brc_reset_bin_vp8;<br>
+    vp8_kernels_brc_init_reset[VP8<wbr>_BRC_RESET].size = sizeof(gen8_brc_reset_bin_vp8)<wbr>;<br>
+<br>
+    /* scaling 4x and 16x use the same kernel */<br>
+    vp8_kernels_scaling[VP8_SCALIN<wbr>G_4X].bin = gen8_scaling_bin_vp8;<br>
+    vp8_kernels_scaling[VP8_SCALIN<wbr>G_4X].size = sizeof(gen8_scaling_bin_vp8);<br>
+    vp8_kernels_scaling[VP8_SCALIN<wbr>G_16X].bin = gen8_scaling_bin_vp8;<br>
+    vp8_kernels_scaling[VP8_SCALIN<wbr>G_16X].size = sizeof(gen8_scaling_bin_vp8);<br>
+<br>
+    /* me 4x and 16x use the same kernel */<br>
+    vp8_kernels_me[VP8_ME_4X].bin = gen8_me_bin_vp8;<br>
+    vp8_kernels_me[VP8_ME_4X].size = sizeof(gen8_me_bin_vp8);<br>
+    vp8_kernels_me[VP8_ME_16X].bin = gen8_me_bin_vp8;<br>
+    vp8_kernels_me[VP8_ME_16X].siz<wbr>e = sizeof(gen8_me_bin_vp8);<br>
+<br>
+    vp8_kernels_mbenc[VP8_MBENC_I_<wbr>FRAME_DIST].bin = gen8_mbenc_i_frame_dist_bin_vp<wbr>8;<br>
+    vp8_kernels_mbenc[VP8_MBENC_I_<wbr>FRAME_DIST].size = sizeof(gen8_mbenc_i_frame_dist<wbr>_bin_vp8);<br>
+    vp8_kernels_mbenc[VP8_MBENC_I_<wbr>FRAME_LUMA].bin = gen8_mbenc_i_frame_luma_bin_vp<wbr>8;<br>
+    vp8_kernels_mbenc[VP8_MBENC_I_<wbr>FRAME_LUMA].size = sizeof(gen8_mbenc_i_frame_luma<wbr>_bin_vp8);<br>
+    vp8_kernels_mbenc[VP8_MBENC_I_<wbr>FRAME_CHROMA].bin = gen8_mbenc_i_frame_chroma_bin_<wbr>vp8;<br>
+    vp8_kernels_mbenc[VP8_MBENC_I_<wbr>FRAME_CHROMA].size = sizeof(gen8_mbenc_i_frame_chro<wbr>ma_bin_vp8);<br>
+    vp8_kernels_mbenc[VP8_MBENC_P_<wbr>FRAME].bin = gen8_mbenc_p_frame_bin_vp8;<br>
+    vp8_kernels_mbenc[VP8_MBENC_P_<wbr>FRAME].size = sizeof(gen8_mbenc_p_frame_bin_<wbr>vp8);<br>
+<br>
+    vp8_kernels_mpu[VP8_MPU].bin = gen8_mpu_bin_vp8;<br>
+    vp8_kernels_mpu[VP8_MPU].size = sizeof(gen8_mpu_bin_vp8);<br>
+<br>
+    vp8_kernels_brc_update[VP8_BRC<wbr>_UPDATE].bin = gen8_brc_update_bin_vp8;<br>
+    vp8_kernels_brc_update[VP8_BRC<wbr>_UPDATE].size = sizeof(gen8_brc_update_bin_vp8<wbr>);<br>
+<br>
+    vp8_kernels_tpu[VP8_TPU].bin = gen8_tpu_bin_vp8;<br>
+    vp8_kernels_tpu[VP8_TPU].size = sizeof(gen8_tpu_bin_vp8);<br>
+<br>
+    vp8_context->idrt_entry_size = ALIGN(sizeof(struct gen8_interface_descriptor_data<wbr>), 64);<br>
+    vp8_context->mocs = 0;<br>
+<br>
+    return True;<br>
+}<br>
diff --git a/src/gen8_mfc.c b/src/gen8_mfc.c<br>
index 8e68c7ce..c59325ed 100644<br>
--- a/src/gen8_mfc.c<br>
+++ b/src/gen8_mfc.c<br>
@@ -4561,11 +4561,17 @@ static VAStatus gen8_mfc_pipeline(VADriverCont<wbr>extP ctx,<br>
      return vaStatus;<br>
  }<br>
<br>
+extern Bool i965_encoder_vp8_pak_context_i<wbr>nit(VADriverContextP ctx, struct intel_encoder_context *encoder_context);<br>
+<br>
  Bool gen8_mfc_context_init(VADriver<wbr>ContextP ctx, struct intel_encoder_context *encoder_context)<br>
  {<br>
      struct i965_driver_data *i965 = i965_driver_data(ctx);<br>
-    struct gen6_mfc_context *mfc_context = calloc(1, sizeof(struct gen6_mfc_context));<br>
+    struct gen6_mfc_context *mfc_context;<br>
+<br>
+    if (IS_CHERRYVIEW(i965->intel.dev<wbr>ice_info)&&  encoder_context->codec == CODEC_VP8)<br>
+        return i965_encoder_vp8_pak_context_i<wbr>nit(ctx, encoder_context);<br>
<br>
+    mfc_context = calloc(1, sizeof(struct gen6_mfc_context));<br>
      assert(mfc_context);<br>
      mfc_context->gpe_context.surfa<wbr>ce_state_binding_table.length = (SURFACE_STATE_PADDED_SIZE + sizeof(unsigned int)) * MAX_MEDIA_SURFACES_GEN6;<br>
<br>
diff --git a/src/gen8_vme.c b/src/gen8_vme.c<br>
index 7a9ed6bb..786d0419 100644<br>
--- a/src/gen8_vme.c<br>
+++ b/src/gen8_vme.c<br>
@@ -1331,6 +1331,8 @@ gen8_vme_context_destroy(void *context)<br>
      free(vme_context);<br>
  }<br>
<br>
+extern Bool i965_encoder_vp8_vme_context_i<wbr>nit(VADriverContextP ctx, struct intel_encoder_context *encoder_context);<br>
+<br>
  Bool gen8_vme_context_init(VADriver<wbr>ContextP ctx, struct intel_encoder_context *encoder_context)<br>
  {<br>
      struct i965_driver_data *i965 = i965_driver_data(ctx);<br>
@@ -1338,6 +1340,9 @@ Bool gen8_vme_context_init(VADriver<wbr>ContextP ctx, struct intel_encoder_context *e<br>
      struct i965_kernel *vme_kernel_list = NULL;<br>
      int i965_kernel_num;<br>
<br>
+    if (IS_CHERRYVIEW(i965->intel.dev<wbr>ice_info)&&  encoder_context->codec == CODEC_VP8)<br>
+        return i965_encoder_vp8_vme_context_i<wbr>nit(ctx, encoder_context);<br>
+<br>
      switch (encoder_context->codec) {<br>
      case CODEC_H264:<br>
      case CODEC_H264_MVC:<br>
diff --git a/src/i965_defines.h b/src/i965_defines.h<br>
index 941ad4e3..2596ea5c 100755<br>
--- a/src/i965_defines.h<br>
+++ b/src/i965_defines.h<br>
@@ -981,4 +981,14 @@<br>
<br>
  #define GEN9_CACHE_PTE                  0x02<br>
<br>
+#define I965_VDIRECTION_TOP_FIELD               1<br>
+#define I965_VDIRECTION_FULL_FRAME              2<br>
+#define I965_VDIRECTION_BOTTOM_FIELD            3<br>
+<br>
+#define VP8_REF_FLAG_NONE                       0<br>
+#define VP8_REF_FLAG_LAST                       1<br>
+#define VP8_REF_FLAG_GOLDEN                     2<br>
+#define VP8_REF_FLAG_ALT                        4<br>
+#define VP8_REF_FLAG_ALL                        (VP8_REF_FLAG_LAST | VP8_REF_FLAG_GOLDEN | VP8_REF_FLAG_ALT)<br>
+<br>
  #endif /* _I965_DEFINES_H_ */<br>
diff --git a/src/i965_encoder.c b/src/i965_encoder.c<br>
index 0a648d4d..b6674741 100644<br>
--- a/src/i965_encoder.c<br>
+++ b/src/i965_encoder.c<br>
@@ -1410,6 +1410,8 @@ intel_enc_hw_context_init(VADr<wbr>iverContextP ctx,<br>
<br>
      case VAProfileVP8Version0_3:<br>
          encoder_context->codec = CODEC_VP8;<br>
+        encoder_context->quality_range = ENCODER_QUALITY_RANGE;<br>
+<br>
          break;<br>
<br>
      case VAProfileHEVCMain:<br>
diff --git a/src/i965_encoder_vp8.c b/src/i965_encoder_vp8.c<br>
new file mode 100644<br>
index 00000000..b1602225<br>
--- /dev/null<br>
+++ b/src/i965_encoder_vp8.c<br>
@@ -0,0 +1,6697 @@<br>
+/*<br>
+ * Copyright © 2015 Intel Corporation<br>
+ *<br>
+ * Permission is hereby granted, free of charge, to any person obtaining a<br>
+ * copy of this software and associated documentation files (the<br>
+ * "Software"), to deal in the Software without restriction, including<br>
+ * without limitation the rights to use, copy, modify, merge, publish,<br>
+ * distribute, sub license, and/or sell copies of the Software, and to<br>
+ * permit persons to whom the Software is furnished to do so, subject to<br>
+ * the following conditions:<br>
+ *<br>
+ * The above copyright notice and this permission notice (including the<br>
+ * next paragraph) shall be included in all copies or substantial portions<br>
+ * of the Software.<br>
+ *<br>
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS<br>
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF<br>
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.<br>
+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR<br>
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,<br>
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE<br>
+ * SOFTWAR<br>
+ *<br>
+ * Authors:<br>
+ *    Xiang, Haihao<<a href="mailto:haihao.xiang@intel.com" target="_blank">haihao.xiang@intel.com</a>><br>
+ *<br>
+ */<br>
+<br>
+#include<stdio.h><br>
+#include<stdlib.h><br>
+#include<stdbool.h><br>
+#include<string.h><br>
+#include<math.h><br>
+#include<time.h><br>
+#include<assert.h><br>
+<br>
+#include "intel_batchbuffer.h"<br>
+#include "intel_driver.h"<br>
+<br>
+#include "i965_defines.h"<br>
+#include "i965_drv_video.h"<br>
+#include "i965_encoder.h"<br>
+#include "i965_encoder_vp8.h"<br>
+<br>
+#define SCALE_FACTOR_4X                 4<br>
+#define SCALE_FACTOR_16X                16<br>
+<br>
+#define MAX_VP8_ENCODER_SURFACES        128<br>
+<br>
+#define MAX_URB_SIZE                    2048 /* In register */<br>
+#define NUM_KERNELS_PER_GPE_CONTEXT     1<br>
+<br>
+#define VP8_BRC_KBPS                    1000<br>
+<br>
+#define BRC_KERNEL_CBR                  0x0010<br>
+#define BRC_KERNEL_VBR                  0x0020<br>
+<br>
+struct i965_kernel vp8_kernels_brc_init_reset[NUM<wbr>_VP8_BRC_RESET] = {<br>
+    {<br>
+        "VP8 BRC Init",<br>
+        VP8_BRC_INIT,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+<br>
+    {<br>
+        "VP8 BRC Reset",<br>
+        VP8_BRC_RESET,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+};<br>
+<br>
+struct i965_kernel vp8_kernels_scaling[NUM_VP8_SC<wbr>ALING] = {<br>
+    {<br>
+        "VP8 SCALE 4X",<br>
+        VP8_SCALING_4X,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+<br>
+    {<br>
+        "VP8 SCALE 16",<br>
+        VP8_SCALING_16X,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+};<br>
+<br>
+struct i965_kernel vp8_kernels_me[NUM_VP8_ME] = {<br>
+    {<br>
+        "VP8 ME 4X",<br>
+        VP8_ME_4X,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+<br>
+    {<br>
+        "VP8 ME 16",<br>
+        VP8_ME_16X,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+};<br>
+<br>
+struct i965_kernel vp8_kernels_mbenc[NUM_VP8_MBEN<wbr>C] = {<br>
+    {<br>
+        "VP8 MBEnc I Frame Dist",<br>
+        VP8_MBENC_I_FRAME_DIST,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+<br>
+    {<br>
+        "VP8 MBEnc I Frame Luma",<br>
+        VP8_MBENC_I_FRAME_LUMA,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+<br>
+    {<br>
+        "VP8 MBEnc I Frame Chroma",<br>
+        VP8_MBENC_I_FRAME_CHROMA,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+<br>
+    {<br>
+        "VP8 MBEnc P Frame",<br>
+        VP8_MBENC_P_FRAME,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+};<br>
+<br>
+struct i965_kernel vp8_kernels_mpu[NUM_VP8_MPU] = {<br>
+    {<br>
+        "VP8 MPU",<br>
+        VP8_MPU,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+};<br>
+<br>
+struct i965_kernel vp8_kernels_tpu[NUM_VP8_TPU] = {<br>
+    {<br>
+        "VP8 TPU",<br>
+        VP8_TPU,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+};<br>
+<br>
+struct i965_kernel vp8_kernels_brc_update[NUM_VP8<wbr>_BRC_UPDATE] = {<br>
+    {<br>
+        "VP8 BRC Update",<br>
+        VP8_BRC_UPDATE,<br>
+        NULL,<br>
+        0,<br>
+        NULL<br>
+    },<br>
+};<br>
+<br>
</blockquote>
<br>
It seems that the below table is defined in VP8 spec. It should be same as that in libvpx.<br>
<br>
Can we put them into one dedicated files as we have done for VP9 enc? At the same time vpx license is also added.<br></blockquote><div><br></div><div><br></div><div>That's a good suggestion.  I'm fine with that. </div><div><br></div><div>Sean</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks<br>
   Yakui<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+const unsigned char<br>
+vp8_default_coeff_probs[4][8]<wbr>[3][11] = {<br>
+    {<br>
+        {<br>
+            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128},<br>
+            { 189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128},<br>
+            { 106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128},<br>
+            { 181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128},<br>
+            { 78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128},<br>
+            { 184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128},<br>
+            { 77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128},<br>
+            { 170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128},<br>
+            { 37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128},<br>
+            { 207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128},<br>
+            { 102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128},<br>
+            { 177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128},<br>
+            { 80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128}<br>
+        }<br>
+    },<br>
+    {<br>
+        {<br>
+            { 198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62},<br>
+            { 131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1},<br>
+            { 68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128}<br>
+        },<br>
+        {<br>
+            { 1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128},<br>
+            { 184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128},<br>
+            { 81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128}<br>
+        },<br>
+        {<br>
+            { 1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128},<br>
+            { 99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128},<br>
+            { 23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128}<br>
+        },<br>
+        {<br>
+            { 1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128},<br>
+            { 109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128},<br>
+            { 44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128},<br>
+            { 94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128},<br>
+            { 22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128},<br>
+            { 124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128},<br>
+            { 35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128},<br>
+            { 121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128},<br>
+            { 45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128},<br>
+            { 203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128},<br>
+            { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128}<br>
+        }<br>
+    },<br>
+    {<br>
+        {<br>
+            { 253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128},<br>
+            { 175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128},<br>
+            { 73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128}<br>
+        },<br>
+        {<br>
+            { 1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128},<br>
+            { 239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128},<br>
+            { 155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128},<br>
+            { 201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128},<br>
+            { 69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128},<br>
+            { 223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128},<br>
+            { 141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128},<br>
+            { 190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128},<br>
+            { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128},<br>
+            { 213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128},<br>
+            { 55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128}<br>
+        }<br>
+    },<br>
+    {<br>
+        {<br>
+            { 202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255},<br>
+            { 126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128},<br>
+            { 61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128}<br>
+        },<br>
+        {<br>
+            { 1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128},<br>
+            { 166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128},<br>
+            { 39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128}<br>
+        },<br>
+        {<br>
+            { 1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128},<br>
+            { 124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128},<br>
+            { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128}<br>
+        },<br>
+        {<br>
+            { 1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128},<br>
+            { 149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128},<br>
+            { 28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128}<br>
+        },<br>
+        {<br>
+            { 1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128},<br>
+            { 123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128},<br>
+            { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128},<br>
+            { 168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128},<br>
+            { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128},<br>
+            { 141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128},<br>
+            { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128}<br>
+        },<br>
+        {<br>
+            { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128},<br>
+            { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128}<br>
+        }<br>
+    }<br>
+};<br>
+<br>
+const unsigned short<br>
+vp8_c0_table[256] = {<br>
+    2047, 2047, 1791, 1641, 1535, 1452, 1385, 1328, 1279, 1235, 1196, 1161, 1129, 1099, 1072, 1046,<br>
+    1023, 1000,  979,  959,  940,  922,  905,  889,  873,  858,  843,  829,  816,  803,  790,  778,<br>
+    767,  755,  744,  733,  723,  713,  703,  693,  684,  675,  666,  657,  649,  641,  633,  625,<br>
+    617,  609,  602,  594,  587,  580,  573,  567,  560,  553,  547,  541,  534,  528,  522,  516,<br>
+    511,  505,  499,  494,  488,  483,  477,  472,  467,  462,  457,  452,  447,  442,  437,  433,<br>
+    428,  424,  419,  415,  410,  406,  401,  397,  393,  389,  385,  381,  377,  373,  369,  365,<br>
+    361,  357,  353,  349,  346,  342,  338,  335,  331,  328,  324,  321,  317,  314,  311,  307,<br>
+    304,  301,  297,  294,  291,  288,  285,  281,  278,  275,  272,  269,  266,  263,  260,  257,<br>
+    255,  252,  249,  246,  243,  240,  238,  235,  232,  229,  227,  224,  221,  219,  216,  214,<br>
+    211,  208,  206,  203,  201,  198,  196,  194,  191,  189,  186,  184,  181,  179,  177,  174,<br>
+    172,  170,  168,  165,  163,  161,  159,  156,  154,  152,  150,  148,  145,  143,  141,  139,<br>
+    137,  135,  133,  131,  129,  127,  125,  123,  121,  119,  117,  115,  113,  111,  109,  107,<br>
+    105,  103,  101,   99,   97,   95,   93,   92,   90,   88,   86,   84,   82,   81,   79,   77,<br>
+    75,   73,   72,   70,   68,   66,   65,   63,   61,   60,   58,   56,   55,   53,   51,   50,<br>
+    48,   46,   45,   43,   41,   40,   38,   37,   35,   33,   32,   30,   29,   27,   25,   24,<br>
+    22,   21,   19,   18,   16,   15,   13,   12,   10,    9,    7,    6,    4,    3,    1,   1<br>
+};<br>
+<br>
+const unsigned char<br>
+vp8_probability_update_flags[<wbr>VP8_NUM_COEFF_PLANES][VP8_NUM_<wbr>COEFF_BANDS][VP8_NUM_LOCAL_COM<wbr>PLEXITIES][VP8_NUM_COEFF_NODES<wbr>] = {<br>
+    {<br>
+        {{0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}},<br>
+        {{1,1,1,0,0,0,0,0,0,0,0}, {1,1,1,1,0,0,0,0,0,0,0}, {1,1,1,1,1,0,0,0,0,0,0}},<br>
+        {{0,1,1,1,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,1,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,1,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,1,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,1,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}},<br>
+        {{0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}},<br>
+    },<br>
+    {<br>
+        {{1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}, {1,1,1,1,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}},<br>
+    },<br>
+    {<br>
+        {{1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}},<br>
+    },<br>
+    {<br>
+        {{1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,1,0,0,0,0,0,0,0,0}, {1,1,1,1,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,1,1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0}},<br>
+        {{0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}}<br>
+    }<br>
+};<br>
+<br>
+const unsigned char<br>
+vp8_coeff_update_probs[4][8][<wbr>3][11] = {<br>
+    {<br>
+        {<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255},<br>
+            { 250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        }<br>
+    },<br>
+    {<br>
+        {<br>
+            { 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255},<br>
+            { 234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        }<br>
+    },<br>
+    {<br>
+        {<br>
+            { 186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        }<br>
+    },<br>
+    {<br>
+        {<br>
+            { 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        },<br>
+        {<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},<br>
+            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}<br>
+        }<br>
+    }<br>
+};<br>
+<br>
+const unsigned char<br>
+vp8_num_refs[8] = {<br>
+    0, 1, 1, 2, 1, 2, 2, 3<br>
+};<br>
+<br>
+const unsigned int<br>
+vp8_search_path[2][8][16] = {<br>
+    // I-Frame&  P-Frame<br>
+    {<br>
+        // MEMethod: 0<br>
+        {<br>
+            0x120FF10F, 0x1E22E20D, 0x20E2FF10, 0x2EDD06FC, 0x11D33FF1, 0xEB1FF33D, 0x4EF1F1F1, 0xF1F21211,<br>
+            0x0DFFFFE0, 0x11201F1F, 0x1105F1CF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 1<br>
+        {<br>
+            0x120FF10F, 0x1E22E20D, 0x20E2FF10, 0x2EDD06FC, 0x11D33FF1, 0xEB1FF33D, 0x4EF1F1F1, 0xF1F21211,<br>
+            0x0DFFFFE0, 0x11201F1F, 0x1105F1CF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 2<br>
+        {<br>
+            0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,<br>
+            0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 3<br>
+        {<br>
+            0x01010101, 0x11010101, 0x01010101, 0x11010101, 0x01010101, 0x11010101, 0x01010101, 0x11010101,<br>
+            0x01010101, 0x11010101, 0x01010101, 0x00010101, 0x00000000, 0x00000000, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 4<br>
+        {<br>
+            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010, 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,<br>
+            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F, 0xF0F0F0F0, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 5<br>
+        {<br>
+            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010, 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,<br>
+            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F, 0xF0F0F0F0, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 6<br>
+        {<br>
+            0x120FF10F, 0x1E22E20D, 0x20E2FF10, 0x2EDD06FC, 0x11D33FF1, 0xEB1FF33D, 0x4EF1F1F1, 0xF1F21211,<br>
+            0x0DFFFFE0, 0x11201F1F, 0x1105F1CF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 7 used for mpeg2 encoding P frames<br>
+        {<br>
+            0x1F11F10F, 0x2E22E2FE, 0x20E220DF, 0x2EDD06FC, 0x11D33FF1, 0xEB1FF33D, 0x02F1F1F1, 0x1F201111,<br>
+            0xF1EFFF0C, 0xF01104F1, 0x10FF0A50, 0x000FF1C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000<br>
+        }<br>
+    },<br>
+<br>
+    // B-Frame<br>
+    {<br>
+        // MEMethod: 0<br>
+        {<br>
+            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010, 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,<br>
+            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F, 0xF0F0F0F0, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 1<br>
+        {<br>
+            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010, 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,<br>
+            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F, 0xF0F0F0F0, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 2<br>
+        {<br>
+            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010, 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,<br>
+            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F, 0xF0F0F0F0, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 3<br>
+        {<br>
+            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010, 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,<br>
+            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F, 0xF0F0F0F0, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 4<br>
+        {<br>
+            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010, 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,<br>
+            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F, 0xF0F0F0F0, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 5<br>
+        {<br>
+            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010, 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,<br>
+            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F, 0xF0F0F0F0, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 6<br>
+        {<br>
+            0x120FF10F, 0x1E22E20D, 0x20E2FF10, 0x2EDD06FC, 0x11D33FF1, 0xEB1FF33D, 0x4EF1F1F1, 0xF1F21211,<br>
+            0x0DFFFFE0, 0x11201F1F, 0x1105F1CF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000<br>
+        },<br>
+        // MEMethod: 7 used for mpeg2 encoding B frames<br>
+        {<br>
+            0x1F11F10F, 0x2E22E2FE, 0x20E220DF, 0x2EDD06FC, 0x11D33FF1, 0xEB1FF33D, 0x02F1F1F1, 0x1F201111,<br>
+            0xF1EFFF0C, 0xF01104F1, 0x10FF0A50, 0x000FF1C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000<br>
+        }<br>
+    }<br>
+};<br>
+<br>
+const unsigned short<br>
+quant_dc_vp8[NUM_QP_VP8] = {<br>
+    4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17,<br>
+    18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28,<br>
+    29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43,<br>
+    44, 45, 46, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,<br>
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,<br>
+    75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,<br>
+    91, 93, 95, 96, 98, 100, 101, 102, 104, 106, 108, 110, 112, 114, 116, 118,<br>
+    122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 143, 145, 148, 151, 154, 157<br>
+};<br>
+<br>
+const unsigned short<br>
+quant_ac_vp8[NUM_QP_VP8] = {<br>
+    4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,<br>
+    20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,<br>
+    36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,<br>
+    52, 53, 54, 55, 56, 57, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76,<br>
+    78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108,<br>
+    110, 112, 114, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143, 146, 149, 152,<br>
+    155, 158, 161, 164, 167, 170, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209,<br>
+    213, 217, 221, 225, 229, 234, 239, 245, 249, 254, 259, 264, 269, 274, 279, 284<br>
+};<br>
+<br>
+const unsigned short<br>
+quant_dc2_vp8[NUM_QP_VP8] = {<br>
+    8, 10, 12, 14, 16, 18, 20, 20, 22, 24, 26, 28, 30, 32, 34, 34,<br>
+    36, 38, 40, 40, 42, 42, 44, 44, 46, 46, 48, 50, 50, 52, 54, 56,<br>
+    58, 60, 62, 64, 66, 68, 70, 72, 74, 74, 76, 78, 80, 82, 84, 86,<br>
+    88, 90, 92, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116,<br>
+    118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148,<br>
+    150, 152, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178,<br>
+    182, 186, 190, 192, 196, 200, 202, 204, 208, 212, 216, 220, 224, 228, 232, 236,<br>
+    244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 286, 290, 296, 302, 308, 314<br>
+};<br>
+<br>
+const unsigned short<br>
+quant_ac2_vp8[NUM_QP_VP8] = {<br>
+    8, 8, 9, 10, 12, 13, 15, 17, 18, 20, 21, 23, 24, 26, 27, 29,<br>
+    31, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 48, 49, 51, 52, 54,<br>
+    55, 57, 58, 60, 62, 63, 65, 66, 68, 69, 71, 72, 74, 75, 77, 79,<br>
+    80, 82, 83, 85, 86, 88, 89, 93, 96, 99, 102, 105, 108, 111, 114, 117,<br>
+    120, 124, 127, 130, 133, 136, 139, 142, 145, 148, 151, 155, 158, 161, 164, 167,<br>
+    170, 173, 176, 179, 184, 189, 193, 198, 203, 207, 212, 217, 221, 226, 230, 235,<br>
+    240, 244, 249, 254, 258, 263, 268, 274, 280, 286, 292, 299, 305, 311, 317, 323,<br>
+    330, 336, 342, 348, 354, 362, 370, 379, 385, 393, 401, 409, 416, 424, 432, 440<br>
+};<br>
+<br>
+const unsigned short<br>
+quant_dc_uv_vp8[NUM_QP_VP8] = {<br>
+    4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17,<br>
+    18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28,<br>
+    29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43,<br>
+    44, 45, 46, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,<br>
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,<br>
+    75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,<br>
+    91, 93, 95, 96, 98, 100, 101, 102, 104, 106, 108, 110, 112, 114, 116, 118,<br>
+    122, 124, 126, 128, 130, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132<br>
+};<br>
+<br>
+const unsigned char<br>
+i_frame_vme_costs_vp8[NUM_QP_<wbr>VP8][4] = {<br>
+    {0x05, 0x1f, 0x02, 0x09},<br>
+    {0x05, 0x1f, 0x02, 0x09},<br>
+    {0x08, 0x2b, 0x03, 0x0e},<br>
+    {0x08, 0x2b, 0x03, 0x0e},<br>
+    {0x0a, 0x2f, 0x04, 0x12},<br>
+    {0x0a, 0x2f, 0x04, 0x12},<br>
+    {0x0d, 0x39, 0x05, 0x17},<br>
+    {0x0d, 0x39, 0x05, 0x17},<br>
+    {0x0d, 0x39, 0x05, 0x17},<br>
+    {0x0f, 0x3b, 0x06, 0x1b},<br>
+    {0x0f, 0x3b, 0x06, 0x1b},<br>
+    {0x19, 0x3d, 0x07, 0x20},<br>
+    {0x19, 0x3d, 0x07, 0x20},<br>
+    {0x1a, 0x3f, 0x08, 0x24},<br>
+    {0x1a, 0x3f, 0x08, 0x24},<br>
+    {0x1a, 0x3f, 0x08, 0x24},<br>
+    {0x1b, 0x48, 0x09, 0x29},<br>
+    {0x1b, 0x48, 0x09, 0x29},<br>
+    {0x1d, 0x49, 0x09, 0x2d},<br>
+    {0x1d, 0x49, 0x09, 0x2d},<br>
+    {0x1d, 0x49, 0x09, 0x2d},<br>
+    {0x1d, 0x49, 0x09, 0x2d},<br>
+    {0x1e, 0x4a, 0x0a, 0x32},<br>
+    {0x1e, 0x4a, 0x0a, 0x32},<br>
+    {0x1e, 0x4a, 0x0a, 0x32},<br>
+    {0x1e, 0x4a, 0x0a, 0x32},<br>
+    {0x1f, 0x4b, 0x0b, 0x36},<br>
+    {0x1f, 0x4b, 0x0b, 0x36},<br>
+    {0x1f, 0x4b, 0x0b, 0x36},<br>
+    {0x28, 0x4c, 0x0c, 0x3b},<br>
+    {0x28, 0x4c, 0x0c, 0x3b},<br>
+    {0x29, 0x4d, 0x0d, 0x3f},<br>
+    {0x29, 0x4d, 0x0d, 0x3f},<br>
+    {0x29, 0x4e, 0x0e, 0x44},<br>
+    {0x29, 0x4e, 0x0e, 0x44},<br>
+    {0x2a, 0x4f, 0x0f, 0x48},<br>
+    {0x2a, 0x4f, 0x0f, 0x48},<br>
+    {0x2b, 0x58, 0x10, 0x4d},<br>
+    {0x2b, 0x58, 0x10, 0x4d},<br>
+    {0x2b, 0x58, 0x11, 0x51},<br>
+    {0x2b, 0x58, 0x11, 0x51},<br>
+    {0x2b, 0x58, 0x11, 0x51},<br>
+    {0x2c, 0x58, 0x12, 0x56},<br>
+    {0x2c, 0x58, 0x12, 0x56},<br>
+    {0x2c, 0x59, 0x13, 0x5a},<br>
+    {0x2c, 0x59, 0x13, 0x5a},<br>
+    {0x2d, 0x59, 0x14, 0x5f},<br>
+    {0x2d, 0x59, 0x14, 0x5f},<br>
+    {0x2e, 0x5a, 0x15, 0x63},<br>
+    {0x2e, 0x5a, 0x15, 0x63},<br>
+    {0x2e, 0x5a, 0x16, 0x68},<br>
+    {0x2e, 0x5a, 0x16, 0x68},<br>
+    {0x2e, 0x5a, 0x16, 0x68},<br>
+    {0x2f, 0x5b, 0x17, 0x6c},<br>
+    {0x2f, 0x5b, 0x17, 0x6c},<br>
+    {0x38, 0x5b, 0x18, 0x71},<br>
+    {0x38, 0x5b, 0x18, 0x71},<br>
+    {0x38, 0x5c, 0x19, 0x76},<br>
+    {0x38, 0x5c, 0x19, 0x76},<br>
+    {0x38, 0x5c, 0x1a, 0x7a},<br>
+    {0x38, 0x5c, 0x1a, 0x7a},<br>
+    {0x39, 0x5d, 0x1a, 0x7f},<br>
+    {0x39, 0x5d, 0x1a, 0x7f},<br>
+    {0x39, 0x5d, 0x1b, 0x83},<br>
+    {0x39, 0x5d, 0x1b, 0x83},<br>
+    {0x39, 0x5e, 0x1c, 0x88},<br>
+    {0x39, 0x5e, 0x1c, 0x88},<br>
+    {0x3a, 0x5e, 0x1d, 0x8c},<br>
+    {0x3a, 0x5e, 0x1d, 0x8c},<br>
+    {0x3a, 0x5f, 0x1e, 0x91},<br>
+    {0x3a, 0x5f, 0x1e, 0x91},<br>
+    {0x3a, 0x5f, 0x1f, 0x95},<br>
+    {0x3a, 0x5f, 0x1f, 0x95},<br>
+    {0x3a, 0x68, 0x20, 0x9a},<br>
+    {0x3a, 0x68, 0x20, 0x9a},<br>
+    {0x3b, 0x68, 0x21, 0x9e},<br>
+    {0x3b, 0x68, 0x21, 0x9e},<br>
+    {0x3b, 0x68, 0x22, 0xa3},<br>
+    {0x3b, 0x68, 0x22, 0xa3},<br>
+    {0x3b, 0x68, 0x23, 0xa7},<br>
+    {0x3b, 0x68, 0x23, 0xa7},<br>
+    {0x3c, 0x68, 0x24, 0xac},<br>
+    {0x3c, 0x68, 0x24, 0xac},<br>
+    {0x3c, 0x68, 0x24, 0xac},<br>
+    {0x3c, 0x69, 0x25, 0xb0},<br>
+    {0x3c, 0x69, 0x25, 0xb0},<br>
+    {0x3c, 0x69, 0x26, 0xb5},<br>
+    {0x3c, 0x69, 0x26, 0xb5},<br>
+    {0x3d, 0x69, 0x27, 0xb9},<br>
+    {0x3d, 0x69, 0x27, 0xb9},<br>
+    {0x3d, 0x69, 0x28, 0xbe},<br>
+    {0x3d, 0x69, 0x28, 0xbe},<br>
+    {0x3d, 0x6a, 0x29, 0xc2},<br>
+    {0x3d, 0x6a, 0x29, 0xc2},<br>
+    {0x3e, 0x6a, 0x2a, 0xc7},<br>
+    {0x3e, 0x6a, 0x2a, 0xc7},<br>
+    {0x3e, 0x6a, 0x2b, 0xcb},<br>
+    {0x3e, 0x6a, 0x2b, 0xd0},<br>
+    {0x3f, 0x6b, 0x2c, 0xd4},<br>
+    {0x3f, 0x6b, 0x2d, 0xd9},<br>
+    {0x3f, 0x6b, 0x2e, 0xdd},<br>
+    {0x48, 0x6b, 0x2f, 0xe2},<br>
+    {0x48, 0x6b, 0x2f, 0xe2},<br>
+    {0x48, 0x6c, 0x30, 0xe6},<br>
+    {0x48, 0x6c, 0x31, 0xeb},<br>
+    {0x48, 0x6c, 0x32, 0xf0},<br>
+    {0x48, 0x6c, 0x33, 0xf4},<br>
+    {0x48, 0x6c, 0x34, 0xf9},<br>
+    {0x49, 0x6d, 0x35, 0xfd},<br>
+    {0x49, 0x6d, 0x36, 0xff},<br>
+    {0x49, 0x6d, 0x37, 0xff},<br>
+    {0x49, 0x6d, 0x38, 0xff},<br>
+    {0x49, 0x6e, 0x3a, 0xff},<br>
+    {0x49, 0x6e, 0x3b, 0xff},<br>
+    {0x4a, 0x6e, 0x3c, 0xff},<br>
+    {0x4a, 0x6f, 0x3d, 0xff},<br>
+    {0x4a, 0x6f, 0x3d, 0xff},<br>
+    {0x4a, 0x6f, 0x3e, 0xff},<br>
+    {0x4a, 0x6f, 0x3f, 0xff},<br>
+    {0x4a, 0x6f, 0x40, 0xff},<br>
+    {0x4b, 0x78, 0x41, 0xff},<br>
+    {0x4b, 0x78, 0x42, 0xff},<br>
+    {0x4b, 0x78, 0x43, 0xff},<br>
+    {0x4b, 0x78, 0x44, 0xff},<br>
+    {0x4b, 0x78, 0x46, 0xff},<br>
+    {0x4c, 0x78, 0x47, 0xff},<br>
+    {0x4c, 0x79, 0x49, 0xff},<br>
+    {0x4c, 0x79, 0x4a, 0xff}<br>
+};<br>
+<br>
+const unsigned char<br>
+mainref_table_vp8[8] = {<br>
+    0, 1, 2, 9, 3, 13, 14, 57<br>
+};<br>
+<br>
+const unsigned int<br>
+cost_table_vp8[NUM_QP_VP8][7] = {<br>
+    {0x398f0500, 0x6f6f6f6f, 0x0000006f, 0x06040402, 0x1a0c0907, 0x08, 0x0e},<br>
+    {0x3b8f0600, 0x6f6f6f6f, 0x0000006f, 0x06040402, 0x1a0c0907, 0x0a, 0x11},<br>
+    {0x3e8f0700, 0x6f6f6f6f, 0x0000006f, 0x06040402, 0x1a0c0907, 0x0c, 0x14},<br>
+    {0x488f0800, 0x6f6f6f6f, 0x0000006f, 0x06040402, 0x1a0c0907, 0x0f, 0x18},<br>
+    {0x498f0a00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x11, 0x1b},<br>
+    {0x4a8f0b00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x13, 0x1e},<br>
+    {0x4b8f0c00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x15, 0x22},<br>
+    {0x4b8f0c00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x15, 0x22},<br>
+    {0x4d8f0d00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x17, 0x25},<br>
+    {0x4e8f0e00, 0x6f6f6f6f, 0x0000006f, 0x190b0c07, 0x2e281e1a, 0x19, 0x29},<br>
+    {0x4f8f0f00, 0x6f6f6f6f, 0x0000006f, 0x190b0c07, 0x2e281e1a, 0x1b, 0x2c},<br>
+    {0x588f1800, 0x6f6f6f6f, 0x0000006f, 0x190b0c07, 0x2e281e1a, 0x1d, 0x2f},<br>
+    {0x588f1900, 0x6f6f6f6f, 0x0000006f, 0x190b0c07, 0x2e281e1a, 0x1f, 0x33},<br>
+    {0x598f1900, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x21, 0x36},<br>
+    {0x5a8f1a00, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x23, 0x3a},<br>
+    {0x5a8f1a00, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x23, 0x3a},<br>
+    {0x5a8f1a00, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x25, 0x3d},<br>
+    {0x5b8f1b00, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x27, 0x40},<br>
+    {0x5b8f1c00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2a, 0x44},<br>
+    {0x5b8f1c00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2a, 0x44},<br>
+    {0x5c8f1c00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2c, 0x47},<br>
+    {0x5c8f1c00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2c, 0x47},<br>
+    {0x5d8f1d00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2e, 0x4a},<br>
+    {0x5d8f1d00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2e, 0x4a},<br>
+    {0x5d8f1d00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x30, 0x4e},<br>
+    {0x5d8f1d00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x30, 0x4e},<br>
+    {0x5e8f1e00, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x32, 0x51},<br>
+    {0x5e8f1f00, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x34, 0x55},<br>
+    {0x5e8f1f00, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x34, 0x55},<br>
+    {0x5f8f1f00, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x36, 0x58},<br>
+    {0x688f2800, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x38, 0x5b},<br>
+    {0x688f2800, 0x6f6f6f6f, 0x0000006f, 0x2b1d1d18, 0x483a382c, 0x3a, 0x5f},<br>
+    {0x688f2800, 0x6f6f6f6f, 0x0000006f, 0x2b1d1d18, 0x483a382c, 0x3c, 0x62},<br>
+    {0x688f2900, 0x6f6f6f6f, 0x0000006f, 0x2b1d1d18, 0x483a382c, 0x3e, 0x65},<br>
+    {0x698f2900, 0x6f6f6f6f, 0x0000006f, 0x2b1d1d18, 0x483a382c, 0x40, 0x69},<br>
+    {0x698f2900, 0x6f6f6f6f, 0x0000006f, 0x2c1f1f19, 0x493b392e, 0x43, 0x6c},<br>
+    {0x698f2900, 0x6f6f6f6f, 0x0000006f, 0x2c1f1f19, 0x493b392e, 0x45, 0x70},<br>
+    {0x6a8f2a00, 0x6f6f6f6f, 0x0000006f, 0x2c1f1f19, 0x493b392e, 0x47, 0x73},<br>
+    {0x6a8f2a00, 0x6f6f6f6f, 0x0000006f, 0x2c1f1f19, 0x493b392e, 0x49, 0x76},<br>
+    {0x6a8f2a00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x4b, 0x7a},<br>
+    {0x6b8f2b00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x4d, 0x7d},<br>
+    {0x6b8f2b00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x4d, 0x7d},<br>
+    {0x6b8f2b00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x4f, 0x81},<br>
+    {0x6b8f2b00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x51, 0x84},<br>
+    {0x6b8f2c00, 0x6f6f6f6f, 0x0000006f, 0x2f29291c, 0x4c3e3b38, 0x53, 0x87},<br>
+    {0x6c8f2c00, 0x6f6f6f6f, 0x0000006f, 0x2f29291c, 0x4c3e3b38, 0x55, 0x8b},<br>
+    {0x6c8f2c00, 0x6f6f6f6f, 0x0000006f, 0x2f29291c, 0x4c3e3b38, 0x57, 0x8e},<br>
+    {0x6c8f2c00, 0x6f6f6f6f, 0x0000006f, 0x2f29291c, 0x4c3e3b38, 0x59, 0x91},<br>
+    {0x6d8f2d00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x5b, 0x95},<br>
+    {0x6d8f2d00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x5e, 0x98},<br>
+    {0x6d8f2d00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x60, 0x9c},<br>
+    {0x6d8f2d00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x60, 0x9c},<br>
+    {0x6d8f2e00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x62, 0x9f},<br>
+    {0x6e8f2e00, 0x6f6f6f6f, 0x0000006f, 0x392b2b1e, 0x4e483e3a, 0x64, 0xa2},<br>
+    {0x6e8f2e00, 0x6f6f6f6f, 0x0000006f, 0x392b2b1e, 0x4e483e3a, 0x66, 0xa6},<br>
+    {0x6e8f2e00, 0x6f6f6f6f, 0x0000006f, 0x392b2b1e, 0x4e483e3a, 0x68, 0xa9},<br>
+    {0x6f8f2f00, 0x6f6f6f6f, 0x0000006f, 0x392b2b1e, 0x4e483e3a, 0x6a, 0xad},<br>
+    {0x6f8f2f00, 0x6f6f6f6f, 0x0000006f, 0x3a2c2c1f, 0x4f493f3b, 0x6c, 0xb0},<br>
+    {0x6f8f2f00, 0x6f6f6f6f, 0x0000006f, 0x3a2c2c1f, 0x4f493f3b, 0x6e, 0xb3},<br>
+    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3a2c2c1f, 0x4f493f3b, 0x70, 0xb7},<br>
+    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3a2c2c1f, 0x4f493f3b, 0x72, 0xba},<br>
+    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2d2d28, 0x584a483c, 0x74, 0xbd},<br>
+    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2d2d28, 0x584a483c, 0x76, 0xc1},<br>
+    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2d2d28, 0x584a483c, 0x79, 0xc4},<br>
+    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2d2d28, 0x584a483c, 0x7b, 0xc8},<br>
+    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2e2e29, 0x594b483d, 0x7d, 0xcb},<br>
+    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3b2e2e29, 0x594b483d, 0x7f, 0xce},<br>
+    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3b2e2e29, 0x594b483d, 0x81, 0xd2},<br>
+    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3b2e2e29, 0x594b483d, 0x83, 0xd5},<br>
+    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3c2f2f29, 0x594b493e, 0x85, 0xd9},<br>
+    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3c2f2f29, 0x594b493e, 0x87, 0xdc},<br>
+    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3c2f2f29, 0x594b493e, 0x89, 0xdf},<br>
+    {0x798f3a00, 0x6f6f6f6f, 0x0000006f, 0x3c2f2f29, 0x594b493e, 0x8b, 0xe3},<br>
+    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3d38382a, 0x5a4c493f, 0x8d, 0xe6},<br>
+    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3d38382a, 0x5a4c493f, 0x8f, 0xe9},<br>
+    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3d38382a, 0x5a4c493f, 0x91, 0xed},<br>
+    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3d38382a, 0x5a4c493f, 0x94, 0xf0},<br>
+    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3e38382b, 0x5b4d4a48, 0x96, 0xf4},<br>
+    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3e38382b, 0x5b4d4a48, 0x98, 0xf7},<br>
+    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3e38382b, 0x5b4d4a48, 0x9a, 0xfa},<br>
+    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3e38382b, 0x5b4d4a48, 0x9c, 0xfe},<br>
+    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0x9e, 0xff},<br>
+    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0x9e, 0xff},<br>
+    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0xa0, 0xff},<br>
+    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0xa2, 0xff},<br>
+    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0xa4, 0xff},<br>
+    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f39392c, 0x5c4e4b48, 0xa6, 0xff},<br>
+    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x3f39392c, 0x5c4e4b48, 0xa8, 0xff},<br>
+    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x3f39392c, 0x5c4e4b48, 0xaa, 0xff},<br>
+    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x3f39392c, 0x5c4e4b48, 0xac, 0xff},<br>
+    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x48393a2c, 0x5c4f4c49, 0xaf, 0xff},<br>
+    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x48393a2c, 0x5c4f4c49, 0xb1, 0xff},<br>
+    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x48393a2c, 0x5c4f4c49, 0xb3, 0xff},<br>
+    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x48393a2c, 0x5c4f4c49, 0xb5, 0xff},<br>
+    {0x7d8f3d00, 0x6f6f6f6f, 0x0000006f, 0x483a3a2d, 0x5d584c49, 0xb7, 0xff},<br>
+    {0x7d8f3d00, 0x6f6f6f6f, 0x0000006f, 0x483a3a2d, 0x5d584c49, 0xb9, 0xff},<br>
+    {0x7d8f3d00, 0x6f6f6f6f, 0x0000006f, 0x483a3a2d, 0x5d584c49, 0xbd, 0xff},<br>
+    {0x7d8f3d00, 0x6f6f6f6f, 0x0000006f, 0x493a3b2e, 0x5e584d4a, 0xc1, 0xff},<br>
+    {0x7e8f3e00, 0x6f6f6f6f, 0x0000006f, 0x493a3b2e, 0x5e584d4a, 0xc5, 0xff},<br>
+    {0x7e8f3e00, 0x6f6f6f6f, 0x0000006f, 0x493b3b2e, 0x5e584e4a, 0xc8, 0xff},<br>
+    {0x7e8f3e00, 0x6f6f6f6f, 0x0000006f, 0x493b3b2e, 0x5e584e4a, 0xcc, 0xff},<br>
+    {0x7e8f3e00, 0x6f6f6f6f, 0x0000006f, 0x493b3c2f, 0x5f594e4b, 0xd0, 0xff},<br>
+    {0x7f8f3f00, 0x6f6f6f6f, 0x0000006f, 0x493b3c2f, 0x5f594e4b, 0xd2, 0xff},<br>
+    {0x7f8f3f00, 0x6f6f6f6f, 0x0000006f, 0x493b3c2f, 0x5f594e4b, 0xd4, 0xff},<br>
+    {0x7f8f3f00, 0x6f6f6f6f, 0x0000006f, 0x4a3c3c2f, 0x5f594f4b, 0xd8, 0xff},<br>
+    {0x7f8f3f00, 0x6f6f6f6f, 0x0000006f, 0x4a3c3c2f, 0x5f594f4b, 0xdc, 0xff},<br>
+    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4a3c3d38, 0x68594f4c, 0xe0, 0xff},<br>
+    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4a3c3d38, 0x68594f4c, 0xe5, 0xff},<br>
+    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4b3d3d38, 0x685a584c, 0xe9, 0xff},<br>
+    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4b3d3d38, 0x685a584c, 0xed, 0xff},<br>
+    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4b3d3e38, 0x685a584c, 0xf1, 0xff},<br>
+    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4b3d3e38, 0x685a584c, 0xf5, 0xff},<br>
+    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4b3e3e39, 0x695b584d, 0xfe, 0xff},<br>
+    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4c3e3e39, 0x695b594d, 0xff, 0xff},<br>
+    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4c3e3e39, 0x695b594d, 0xff, 0xff},<br>
+    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4c3f3f39, 0x695b594e, 0xff, 0xff},<br>
+    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4c3f3f39, 0x695b594e, 0xff, 0xff},<br>
+    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4d3f3f3a, 0x6a5c594e, 0xff, 0xff},<br>
+    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4d3f3f3a, 0x6a5c594e, 0xff, 0xff},<br>
+    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4d48483a, 0x6a5c594f, 0xff, 0xff},<br>
+    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4d48483a, 0x6a5c594f, 0xff, 0xff},<br>
+    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4d48483a, 0x6a5c5a4f, 0xff, 0xff},<br>
+    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4d48483a, 0x6a5c5a4f, 0xff, 0xff},<br>
+    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4e48483a, 0x6a5d5a58, 0xff, 0xff},<br>
+    {0x8b8f4b00, 0x6f6f6f6f, 0x0000006f, 0x4e48483b, 0x6b5d5a58, 0xff, 0xff},<br>
+    {0x8b8f4b00, 0x6f6f6f6f, 0x0000006f, 0x4e48483b, 0x6b5d5a58, 0xff, 0xff},<br>
+    {0x8b8f4b00, 0x6f6f6f6f, 0x0000006f, 0x4f48493b, 0x6b5d5b58, 0xff, 0xff},<br>
+    {0x8b8f4b00, 0x6f6f6f6f, 0x0000006f, 0x4f49493b, 0x6b5e5b58, 0xff, 0xff}<br>
+};<br>
+<br>
+const unsigned int single_su_vp8[56] = {<br>
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,<br>
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,<br>
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,<br>
+    0x00000000, 0x00000000<br>
+};<br>
+<br>
+const unsigned char full_spiral_48x40_vp8[56] = {<br>
+    // L ->  U ->  R ->  D<br>
+    0x0F,<br>
+    0xF0,<br>
+    0x01, 0x01,<br>
+    0x10, 0x10,<br>
+    0x0F, 0x0F, 0x0F,<br>
+    0xF0, 0xF0, 0xF0,<br>
+    0x01, 0x01, 0x01, 0x01,<br>
+    0x10, 0x10, 0x10, 0x10,<br>
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F,<br>
+    0xF0, 0xF0, 0xF0, 0xF0, 0xF0,<br>
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01,<br>
+    0x10, 0x10, 0x10, 0x10, 0x10, 0x10,       // The last 0x10 steps outside the search window.<br>
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, // These are outside the search window.<br>
+    0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0<br>
+};<br>
+<br>
+const unsigned char raster_scan_48x40_vp8[56] = {<br>
+    0x11, 0x01, 0x01, 0x01,<br>
+    0x11, 0x01, 0x01, 0x01,<br>
+    0x11, 0x01, 0x01, 0x01,<br>
+    0x11, 0x01, 0x01, 0x01,<br>
+    0x11, 0x01, 0x01, 0x01,<br>
+    0x01, 0x01, 0x01, 0x01,<br>
+    0x00, 0x00, 0x00, 0x00,<br>
+    0x00, 0x00, 0x00, 0x00,<br>
+    0x00, 0x00, 0x00, 0x00,<br>
+    0x00, 0x00, 0x00, 0x00,<br>
+    0x00, 0x00, 0x00, 0x00,<br>
+    0x00, 0x00, 0x00, 0x00,<br>
+    0x00, 0x00, 0x00, 0x00,<br>
+    0x00, 0x00, 0x00, 0x00<br>
+};<br>
+<br>
+const unsigned char diamond_vp8[56] = {<br>
+    0x0F, 0xF1, 0x0F, 0x12,//5<br>
+    0x0D, 0xE2, 0x22, 0x1E,//9<br>
+    0x10, 0xFF, 0xE2, 0x20,//13<br>
+    0xFC, 0x06, 0xDD,//16<br>
+    0x2E, 0xF1, 0x3F, 0xD3, 0x11, 0x3D, 0xF3, 0x1F,//24<br>
+    0xEB, 0xF1, 0xF1, 0xF1,//28<br>
+    0x4E, 0x11, 0x12, 0xF2, 0xF1,//33<br>
+    0xE0, 0xFF, 0xFF, 0x0D, 0x1F, 0x1F,//39<br>
+    0x20, 0x11, 0xCF, 0xF1, 0x05, 0x11,//45<br>
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,//51<br>
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00<br>
+};<br>
+<br>
+const unsigned short<br>
+mv_ref_cost_context_vp8[6][4]<wbr>[2] = {<br>
+    {{1328, 10},<br>
+     {2047, 1},<br>
+     {2047, 1},<br>
+     {214, 304},<br>
+    },<br>
+    {{1072, 21},<br>
+     {979, 27},<br>
+     {1072, 21},<br>
+     {321, 201},<br>
+    },<br>
+    {{235, 278},<br>
+     {511, 107},<br>
+     {553, 93},<br>
+     {488, 115},<br>
+    },<br>
+    {{534, 99},<br>
+     {560, 92},<br>
+     {255, 257},<br>
+     {505, 109},<br>
+    },<br>
+    {{174, 361},<br>
+     {238, 275},<br>
+     {255, 257},<br>
+     {744, 53},<br>
+    },<br>
+    {{32, 922},<br>
+     {113, 494},<br>
+     {255, 257},<br>
+     {816, 43},<br>
+    },<br>
+};<br>
+<br>
+const unsigned int<br>
+new_mv_skip_threshold_vp8[NUM<wbr>_QP_VP8] = {<br>
+    111, 120, 129, 137, 146, 155, 163, 172, 180, 189, 198, 206, 215, 224, 232, 241,<br>
+    249, 258, 267, 275, 284, 293, 301, 310, 318, 327, 336, 344, 353, 362, 370, 379,<br>
+    387, 396, 405, 413, 422, 431, 439, 448, 456, 465, 474, 482, 491, 500, 508, 517,<br>
+    525, 534, 543, 551, 560, 569, 577, 586, 594, 603, 612, 620, 629, 638, 646, 655,<br>
+    663, 672, 681, 689, 698, 707, 715, 724, 733, 741, 750, 758, 767, 776, 784, 793,<br>
+    802, 810, 819, 827, 836, 845, 853, 862, 871, 879, 888, 896, 905, 914, 922, 931,<br>
+    940, 948, 957, 965, 974, 983, 991, 1000, 1009, 1017, 1026, 1034, 1043, 1052, 1060, 1069,<br>
+    1078, 1086, 1095, 1103, 1112, 1121, 1129, 1138, 1147, 1155, 1164, 1172, 1181, 1190, 1198, 1208<br>
+};<br>
+<br>
+const unsigned short<br>
+mb_mode_cost_luma_vp8[10] = {<br>
+    657,    869,    915,    917,    208,    0,      0,      0,      0,      0<br>
+};<br>
+<br>
+<br>
+const unsigned short<br>
+block_mode_cost_vp8[10][10][1<wbr>0] = {<br>
+    {<br>
+        {37,  1725,  1868,  1151,  1622,  2096,  2011,  1770,  2218,  2128  },<br>
+        {139,  759,  1683,  911,  1455,  1846,  1570,  1295,  1792,  1648   },<br>
+        {560,  1383,  408,  639,  1612,  1174,  1562,  1736,  847,  991     },<br>
+        {191,  1293,  1299,  466,  1774,  1840,  1784,  1691,  1698,  1505  },<br>
+        {211,  1624,  1294,  779,  714,  1622,  2222,  1554,  1706,  903    },<br>
+        {297,  1259,  1098,  1062,  1583,  618,  1053,  1889,  851,  1127   },<br>
+        {275,  703,  1356,  1111,  1597,  1075,  656,  1529,  1531,  1275   },<br>
+        {150,  1046,  1760,  1039,  1353,  1981,  2174,  728,  1730,  1379  },<br>
+        {516,  1414,  741,  1045,  1495,  738,  1288,  1619,  442,  1200    },<br>
+        {424,  1365,  706,  825,  1197,  1453,  1191,  1462,  1186,  519    },<br>
+    },<br>
+    {<br>
+        {393,  515,  1491,  549,  1598,  1524,  964,  1126,  1651,  2172    },<br>
+        {693,  237,  1954,  641,  1525,  2073,  1183,  971,  1973,  2235    },<br>
+        {560,  739,  855,  836,  1224,  1115,  966,  839,  1076,  767       },<br>
+        {657,  368,  1406,  425,  1672,  1853,  1210,  1125,  1969,  1542   },<br>
+        {321,  1056,  1776,  774,  803,  3311,  1265,  1177,  1366,  636    },<br>
+        {693,  510,  949,  877,  1049,  658,  882,  1178,  1515,  1111      },<br>
+        {744,  377,  1278,  958,  1576,  1168,  477,  1146,  1838,  1501    },<br>
+        {488,  477,  1767,  973,  1107,  1511,  1773,  486,  1527,  1449    },<br>
+        {744,  1004,  695,  1012,  1326,  834,  1215,  774,  724,  704      },<br>
+        {522,  567,  1036,  1082,  1039,  1333,  873,  1135,  1189,  677    },<br>
+    },<br>
+    {<br>
+        {103,  1441,  1000,  864,  1513,  1928,  1832,  1916,  1663,  1567  },<br>
+        {304,  872,  1100,  515,  1416,  1417,  3463,  1051,  1305,  1227   },<br>
+        {684,  2176,  242,  729,  1867,  1496,  2056,  1544,  1038,  930    },<br>
+        {534,  1198,  669,  300,  1805,  1377,  2165,  1894,  1249,  1153   },<br>
+        {346,  1602,  1178,  612,  997,  3381,  1335,  1328,  997,  646     },<br>
+        {393,  1027,  649,  813,  1276,  945,  1545,  1278,  875,  1031     },<br>
+        {528,  996,  930,  617,  1086,  1190,  621,  2760,  787,  1347      },<br>
+        {216,  873,  1595,  738,  1339,  3896,  3898,  743,  1343,  1605    },<br>
+        {675,  1580,  543,  749,  1859,  1245,  1589,  2377,  384,  1075    },<br>
+        {594,  1163,  415,  684,  1474,  1080,  1491,  1478,  1077,  801    },<br>
+    },<br>
+    {<br>
+        {238,  1131,  1483,  398,  1510,  1651,  1495,  1545,  1970,  2090  },<br>
+        {499,  456,  1499,  449,  1558,  1691,  1272,  969,  2114,  2116    },<br>
+        {675,  1386,  318,  645,  1449,  1588,  1666,  1925,  979,  859     },<br>
+        {467,  957,  1223,  238,  1825,  1704,  1608,  1560,  1665,  1376   },<br>
+        {331,  1460,  1238,  627,  787,  1882,  3928,  1544,  1897,  579    },<br>
+        {457,  1038,  903,  784,  1158,  725,  955,  1517,  842,  1016      },<br>
+        {505,  497,  1131,  812,  1508,  1206,  703,  1072,  1254,  1256    },<br>
+        {397,  741,  1336,  642,  1506,  1852,  1340,  599,  1854,  1000    },<br>
+        {625,  1212,  597,  750,  1291,  1057,  1401,  1401,  527,  954     },<br>
+        {499,  1041,  654,  752,  1299,  1217,  1605,  1424,  1377,  505    },<br>
+    },<br>
+    {<br>
+        {263,  1094,  1218,  602,  938,  1487,  1231,  1016,  1724,  1448   },<br>
+        {452,  535,  1728,  562,  1008,  1471,  1473,  873,  3182,  1136    },<br>
+        {553,  1570,  935,  1093,  826,  1339,  879,  1007,  1006,  476     },<br>
+        {365,  900,  1050,  582,  866,  1398,  1236,  1123,  1608,  1039    },<br>
+        {294,  2044,  1790,  1143,  430,  1642,  3688,  1549,  2080,  704   },<br>
+        {703,  1210,  958,  815,  1211,  960,  623,  2455,  815,  559       },<br>
+        {675,  574,  862,  1261,  866,  864,  761,  1267,  1014,  936       },<br>
+        {342,  1254,  1857,  989,  612,  1856,  1858,  553,  1840,  1037    },<br>
+        {553,  1316,  811,  1072,  1068,  728,  1328,  1317,  1064,  475    },<br>
+        {288,  1303,  1167,  1167,  823,  1634,  1636,  2497,  1294,  491   },<br>
+    },<br>
+    {<br>
+        {227,  1059,  1369,  1066,  1505,  740,  970,  1511,  972,  1775    },<br>
+        {516,  587,  1033,  646,  1188,  748,  978,  1445,  1294,  1450     },<br>
+        {684,  1048,  663,  747,  1126,  826,  1386,  1128,  635,  924      },<br>
+        {494,  814,  933,  510,  1606,  951,  878,  1344,  1031,  1347      },<br>
+        {553,  1071,  1327,  726,  809,  3376,  1330,  1324,  1062,  407    },<br>
+        {625,  1120,  988,  1121,  1197,  347,  1064,  1308,  862,  1206    },<br>
+        {633,  853,  1657,  1073,  1662,  634,  460,  1405,  811,  1155     },<br>
+        {505,  621,  1394,  876,  1394,  876,  878,  795,  878,  1399       },<br>
+        {684,  1302,  968,  1704,  1280,  561,  972,  1713,  387,  1104     },<br>
+        {397,  1447,  1060,  867,  957,  1058,  749,  1475,  1210,  660     },<br>
+    },<br>
+    {<br>
+        {331,  933,  1647,  761,  1647,  998,  513,  1402,  1461,  2219     },<br>
+        {573,  485,  1968,  641,  1570,  1198,  588,  1086,  1382,  1982    },<br>
+        {790,  942,  570,  790,  1607,  1005,  938,  1193,  714,  751       },<br>
+        {511,  745,  1152,  492,  1878,  1206,  596,  1867,  1617,  1157    },<br>
+        {452,  1308,  896,  896,  451,  1308,  3354,  1301,  1306,  794     },<br>
+        {693,  670,  1072,  1020,  1687,  566,  488,  1432,  1096,  3142    },<br>
+        {778,  566,  1993,  1283,  3139,  1251,  227,  1378,  1784,  1447   },<br>
+        {393,  937,  1091,  934,  939,  1348,  1092,  579,  1351,  1095     },<br>
+        {560,  1013,  1007,  1014,  1011,  644,  1165,  1155,  605,  1016   },<br>
+        {567,  627,  997,  793,  2562,  998,  849,  1260,  922,  748        },<br>
+    },<br>
+    {<br>
+        {338,  762,  1868,  717,  1247,  1757,  1263,  535,  1751,  2162    },<br>
+        {488,  442,  3235,  756,  1658,  1814,  1264,  528,  1857,  2119    },<br>
+        {522,  1087,  840,  1103,  843,  1354,  1098,  888,  946,  588      },<br>
+        {483,  688,  1502,  651,  1213,  1446,  1397,  491,  1908,  1253    },<br>
+        {452,  1386,  1910,  1175,  298,  1507,  3553,  930,  1904,  905    },<br>
+        {713,  839,  716,  715,  932,  719,  931,  848,  3088,  1042        },<br>
+        {516,  495,  1331,  1340,  1331,  1069,  665,  702,  1593,  1337    },<br>
+        {401,  977,  2167,  1537,  1069,  1764,  3810,  259,  3624,  1578   },<br>
+        {560,  1104,  601,  1371,  965,  658,  2704,  779,  967,  969       },<br>
+        {547,  1057,  801,  1141,  1133,  1397,  937,  605,  1252,  631     },<br>
+    },<br>
+    {<br>
+        {163,  1240,  925,  983,  1653,  1321,  1353,  1566,  946,  1601    },<br>
+        {401,  726,  758,  836,  1241,  926,  1656,  795,  1394,  1396      },<br>
+        {905,  1073,  366,  876,  1436,  1576,  1732,  2432,  459,  1019    },<br>
+        {594,  922,  835,  417,  1387,  1124,  1098,  2042,  843,  1023     },</blockquote>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Sean V. Kelley <<a href="mailto:sean.v.kelley@intel.com" target="_blank">sean.v.kelley@intel.com</a>><br>Open Source Technology Center / SSG<br>Intel Corp.<br></div>
</div></div>