<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>