[Libva] [PATCH 2/4] Set the pipeline to use the new VP8 encoding shaders on BSW

Sean V Kelley sean.v.kelley at intel.com
Wed Jan 11 00:37:35 UTC 2017


On Wed, Jan 11, 2017 at 5:56 AM, Zhao Yakui <yakui.zhao at intel.com> wrote:

> On 01/11/2017 06:02 AM, Sean V Kelley wrote:
>
>> From: "Xiang, Haihao"<haihao.xiang at intel.com>
>>
>> Currently only one temporal layer is supported
>>
>> Signed-off-by: Xiang, Haihao<haihao.xiang at intel.com>
>> Reviewed-by: Sean V Kelley<seanvk at posteo.de>
>> ---
>>   src/Makefile.am        |    3 +
>>   src/gen8_encoder_vp8.c |  140 +
>>   src/gen8_mfc.c         |    8 +-
>>   src/gen8_vme.c         |    5 +
>>   src/i965_defines.h     |   10 +
>>   src/i965_encoder.c     |    2 +
>>   src/i965_encoder_vp8.c | 6697 ++++++++++++++++++++++++++++++
>> ++++++++++++++++++
>>   src/i965_encoder_vp8.h | 2643 +++++++++++++++++++
>>   8 files changed, 9507 insertions(+), 1 deletion(-)
>>   create mode 100644 src/gen8_encoder_vp8.c
>>   create mode 100644 src/i965_encoder_vp8.c
>>   create mode 100644 src/i965_encoder_vp8.h
>>
>> diff --git a/src/Makefile.am b/src/Makefile.am
>> index 424812b3..7980836e 100755
>> --- a/src/Makefile.am
>> +++ b/src/Makefile.am
>> @@ -59,6 +59,7 @@ source_c = \
>>         gen7_mfd.c              \
>>         gen75_mfd.c             \
>>         gen75_mfc.c             \
>> +       gen8_encoder_vp8.c      \
>>         gen8_mfc.c              \
>>         gen8_mfd.c              \
>>         gen8_vme.c              \
>> @@ -80,6 +81,7 @@ source_c = \
>>         i965_drv_video.c        \
>>         i965_encoder.c          \
>>         i965_encoder_utils.c    \
>> +       i965_encoder_vp8.c      \
>>         i965_media.c            \
>>         i965_media_h264.c       \
>>         i965_media_mpeg2.c      \
>> @@ -126,6 +128,7 @@ source_h = \
>>         i965_drv_video.h        \
>>         i965_encoder.h          \
>>         i965_encoder_utils.h    \
>> +       i965_encoder_vp8.h      \
>>         i965_media.h            \
>>         i965_media_h264.h       \
>>         i965_media_mpeg2.h      \
>> diff --git a/src/gen8_encoder_vp8.c b/src/gen8_encoder_vp8.c
>> new file mode 100644
>> index 00000000..00ca3df5
>> --- /dev/null
>> +++ b/src/gen8_encoder_vp8.c
>> @@ -0,0 +1,140 @@
>> +/*
>> + * Copyright © 2015 Intel Corporation
>> + *
>> + * Permission is hereby granted, free of charge, to any person obtaining
>> a
>> + * copy of this software and associated documentation files (the
>> + * "Software"), to deal in the Software without restriction, including
>> + * without limitation the rights to use, copy, modify, merge, publish,
>> + * distribute, sub license, and/or sell copies of the Software, and to
>> + * permit persons to whom the Software is furnished to do so, subject to
>> + * the following conditions:
>> + *
>> + * The above copyright notice and this permission notice (including the
>> + * next paragraph) shall be included in all copies or substantial
>> portions
>> + * of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> EXPRESS
>> + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>> NON-INFRINGEMENT.
>> + * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
>> + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
>> CONTRACT,
>> + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> + * SOFTWAR
>> + *
>> + * Authors:
>> + *    Xiang, Haihao<haihao.xiang at intel.com>
>> + *
>> + */
>> +
>> +#include<stdio.h>
>> +#include<stdlib.h>
>> +#include<stdbool.h>
>> +#include<string.h>
>> +#include<math.h>
>> +#include<assert.h>
>> +
>> +#include "intel_batchbuffer.h"
>> +#include "intel_driver.h"
>> +
>> +#include "i965_defines.h"
>> +#include "i965_drv_video.h"
>> +#include "i965_encoder.h"
>> +#include "i965_encoder_vp8.h"
>> +
>> +extern struct i965_kernel vp8_kernels_brc_init_reset[NUM_VP8_BRC_RESET];
>> +extern struct i965_kernel vp8_kernels_scaling[NUM_VP8_SCALING];
>> +extern struct i965_kernel vp8_kernels_me[NUM_VP8_ME];
>> +extern struct i965_kernel vp8_kernels_mbenc[NUM_VP8_MBENC];
>> +extern struct i965_kernel vp8_kernels_mpu[NUM_VP8_MPU];
>> +extern struct i965_kernel vp8_kernels_tpu[NUM_VP8_TPU];
>> +extern struct i965_kernel vp8_kernels_brc_update[NUM_VP8_BRC_UPDATE];
>> +
>> +static const uint32_t gen8_brc_init_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_brc_init_genx_0.g8b"
>> +};
>> +
>> +static const uint32_t gen8_brc_reset_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_brc_reset_genx_0.g8b"
>> +};
>> +
>> +static const uint32_t gen8_scaling_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/hme_downscale_genx_0.g8b"
>> +};
>> +
>> +static const uint32_t gen8_me_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/hme_genx_0.g8b"
>> +};
>> +
>> +static const uint32_t gen8_mbenc_i_frame_dist_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_intra_distortion_genx_0.g8b"
>> +};
>> +
>> +static const uint32_t gen8_mbenc_i_frame_luma_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_enc_genx_0.g8b"
>> +};
>> +
>> +static const uint32_t gen8_mbenc_i_frame_chroma_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_enc_genx_1.g8b"
>> +};
>> +
>> +static const uint32_t gen8_mbenc_p_frame_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_enc_genx_2.g8b"
>> +};
>> +
>> +static const uint32_t gen8_mpu_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_mpu_genx_0.g8b"
>> +};
>> +
>> +static const uint32_t gen8_tpu_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_tpu_genx_0.g8b"
>> +};
>> +
>> +static const uint32_t gen8_brc_update_bin_vp8[][4] = {
>> +#include "shaders/brc/bsw/vp8_brc_update_genx_0.g8b"
>> +};
>> +
>> +Bool
>> +gen8_encoder_vp8_context_init(VADriverContextP ctx,
>> +                              struct intel_encoder_context
>> *encoder_context,
>> +                              struct i965_encoder_vp8_context
>> *vp8_context)
>> +{
>> +    vp8_kernels_brc_init_reset[VP8_BRC_INIT].bin =
>> gen8_brc_init_bin_vp8;
>> +    vp8_kernels_brc_init_reset[VP8_BRC_INIT].size =
>> sizeof(gen8_brc_init_bin_vp8);
>> +    vp8_kernels_brc_init_reset[VP8_BRC_RESET].bin =
>> gen8_brc_reset_bin_vp8;
>> +    vp8_kernels_brc_init_reset[VP8_BRC_RESET].size =
>> sizeof(gen8_brc_reset_bin_vp8);
>> +
>> +    /* scaling 4x and 16x use the same kernel */
>> +    vp8_kernels_scaling[VP8_SCALING_4X].bin = gen8_scaling_bin_vp8;
>> +    vp8_kernels_scaling[VP8_SCALING_4X].size =
>> sizeof(gen8_scaling_bin_vp8);
>> +    vp8_kernels_scaling[VP8_SCALING_16X].bin = gen8_scaling_bin_vp8;
>> +    vp8_kernels_scaling[VP8_SCALING_16X].size =
>> sizeof(gen8_scaling_bin_vp8);
>> +
>> +    /* me 4x and 16x use the same kernel */
>> +    vp8_kernels_me[VP8_ME_4X].bin = gen8_me_bin_vp8;
>> +    vp8_kernels_me[VP8_ME_4X].size = sizeof(gen8_me_bin_vp8);
>> +    vp8_kernels_me[VP8_ME_16X].bin = gen8_me_bin_vp8;
>> +    vp8_kernels_me[VP8_ME_16X].size = sizeof(gen8_me_bin_vp8);
>> +
>> +    vp8_kernels_mbenc[VP8_MBENC_I_FRAME_DIST].bin =
>> gen8_mbenc_i_frame_dist_bin_vp8;
>> +    vp8_kernels_mbenc[VP8_MBENC_I_FRAME_DIST].size =
>> sizeof(gen8_mbenc_i_frame_dist_bin_vp8);
>> +    vp8_kernels_mbenc[VP8_MBENC_I_FRAME_LUMA].bin =
>> gen8_mbenc_i_frame_luma_bin_vp8;
>> +    vp8_kernels_mbenc[VP8_MBENC_I_FRAME_LUMA].size =
>> sizeof(gen8_mbenc_i_frame_luma_bin_vp8);
>> +    vp8_kernels_mbenc[VP8_MBENC_I_FRAME_CHROMA].bin =
>> gen8_mbenc_i_frame_chroma_bin_vp8;
>> +    vp8_kernels_mbenc[VP8_MBENC_I_FRAME_CHROMA].size =
>> sizeof(gen8_mbenc_i_frame_chroma_bin_vp8);
>> +    vp8_kernels_mbenc[VP8_MBENC_P_FRAME].bin =
>> gen8_mbenc_p_frame_bin_vp8;
>> +    vp8_kernels_mbenc[VP8_MBENC_P_FRAME].size =
>> sizeof(gen8_mbenc_p_frame_bin_vp8);
>> +
>> +    vp8_kernels_mpu[VP8_MPU].bin = gen8_mpu_bin_vp8;
>> +    vp8_kernels_mpu[VP8_MPU].size = sizeof(gen8_mpu_bin_vp8);
>> +
>> +    vp8_kernels_brc_update[VP8_BRC_UPDATE].bin =
>> gen8_brc_update_bin_vp8;
>> +    vp8_kernels_brc_update[VP8_BRC_UPDATE].size =
>> sizeof(gen8_brc_update_bin_vp8);
>> +
>> +    vp8_kernels_tpu[VP8_TPU].bin = gen8_tpu_bin_vp8;
>> +    vp8_kernels_tpu[VP8_TPU].size = sizeof(gen8_tpu_bin_vp8);
>> +
>> +    vp8_context->idrt_entry_size = ALIGN(sizeof(struct
>> gen8_interface_descriptor_data), 64);
>> +    vp8_context->mocs = 0;
>> +
>> +    return True;
>> +}
>> diff --git a/src/gen8_mfc.c b/src/gen8_mfc.c
>> index 8e68c7ce..c59325ed 100644
>> --- a/src/gen8_mfc.c
>> +++ b/src/gen8_mfc.c
>> @@ -4561,11 +4561,17 @@ static VAStatus gen8_mfc_pipeline(VADriverContextP
>> ctx,
>>       return vaStatus;
>>   }
>>
>> +extern Bool i965_encoder_vp8_pak_context_init(VADriverContextP ctx,
>> struct intel_encoder_context *encoder_context);
>> +
>>   Bool gen8_mfc_context_init(VADriverContextP ctx, struct
>> intel_encoder_context *encoder_context)
>>   {
>>       struct i965_driver_data *i965 = i965_driver_data(ctx);
>> -    struct gen6_mfc_context *mfc_context = calloc(1, sizeof(struct
>> gen6_mfc_context));
>> +    struct gen6_mfc_context *mfc_context;
>> +
>> +    if (IS_CHERRYVIEW(i965->intel.device_info)&&
>> encoder_context->codec == CODEC_VP8)
>> +        return i965_encoder_vp8_pak_context_init(ctx, encoder_context);
>>
>> +    mfc_context = calloc(1, sizeof(struct gen6_mfc_context));
>>       assert(mfc_context);
>>       mfc_context->gpe_context.surface_state_binding_table.length =
>> (SURFACE_STATE_PADDED_SIZE + sizeof(unsigned int)) *
>> MAX_MEDIA_SURFACES_GEN6;
>>
>> diff --git a/src/gen8_vme.c b/src/gen8_vme.c
>> index 7a9ed6bb..786d0419 100644
>> --- a/src/gen8_vme.c
>> +++ b/src/gen8_vme.c
>> @@ -1331,6 +1331,8 @@ gen8_vme_context_destroy(void *context)
>>       free(vme_context);
>>   }
>>
>> +extern Bool i965_encoder_vp8_vme_context_init(VADriverContextP ctx,
>> struct intel_encoder_context *encoder_context);
>> +
>>   Bool gen8_vme_context_init(VADriverContextP ctx, struct
>> intel_encoder_context *encoder_context)
>>   {
>>       struct i965_driver_data *i965 = i965_driver_data(ctx);
>> @@ -1338,6 +1340,9 @@ Bool gen8_vme_context_init(VADriverContextP ctx,
>> struct intel_encoder_context *e
>>       struct i965_kernel *vme_kernel_list = NULL;
>>       int i965_kernel_num;
>>
>> +    if (IS_CHERRYVIEW(i965->intel.device_info)&&
>> encoder_context->codec == CODEC_VP8)
>> +        return i965_encoder_vp8_vme_context_init(ctx, encoder_context);
>> +
>>       switch (encoder_context->codec) {
>>       case CODEC_H264:
>>       case CODEC_H264_MVC:
>> diff --git a/src/i965_defines.h b/src/i965_defines.h
>> index 941ad4e3..2596ea5c 100755
>> --- a/src/i965_defines.h
>> +++ b/src/i965_defines.h
>> @@ -981,4 +981,14 @@
>>
>>   #define GEN9_CACHE_PTE                  0x02
>>
>> +#define I965_VDIRECTION_TOP_FIELD               1
>> +#define I965_VDIRECTION_FULL_FRAME              2
>> +#define I965_VDIRECTION_BOTTOM_FIELD            3
>> +
>> +#define VP8_REF_FLAG_NONE                       0
>> +#define VP8_REF_FLAG_LAST                       1
>> +#define VP8_REF_FLAG_GOLDEN                     2
>> +#define VP8_REF_FLAG_ALT                        4
>> +#define VP8_REF_FLAG_ALL                        (VP8_REF_FLAG_LAST |
>> VP8_REF_FLAG_GOLDEN | VP8_REF_FLAG_ALT)
>> +
>>   #endif /* _I965_DEFINES_H_ */
>> diff --git a/src/i965_encoder.c b/src/i965_encoder.c
>> index 0a648d4d..b6674741 100644
>> --- a/src/i965_encoder.c
>> +++ b/src/i965_encoder.c
>> @@ -1410,6 +1410,8 @@ intel_enc_hw_context_init(VADriverContextP ctx,
>>
>>       case VAProfileVP8Version0_3:
>>           encoder_context->codec = CODEC_VP8;
>> +        encoder_context->quality_range = ENCODER_QUALITY_RANGE;
>> +
>>           break;
>>
>>       case VAProfileHEVCMain:
>> diff --git a/src/i965_encoder_vp8.c b/src/i965_encoder_vp8.c
>> new file mode 100644
>> index 00000000..b1602225
>> --- /dev/null
>> +++ b/src/i965_encoder_vp8.c
>> @@ -0,0 +1,6697 @@
>> +/*
>> + * Copyright © 2015 Intel Corporation
>> + *
>> + * Permission is hereby granted, free of charge, to any person obtaining
>> a
>> + * copy of this software and associated documentation files (the
>> + * "Software"), to deal in the Software without restriction, including
>> + * without limitation the rights to use, copy, modify, merge, publish,
>> + * distribute, sub license, and/or sell copies of the Software, and to
>> + * permit persons to whom the Software is furnished to do so, subject to
>> + * the following conditions:
>> + *
>> + * The above copyright notice and this permission notice (including the
>> + * next paragraph) shall be included in all copies or substantial
>> portions
>> + * of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> EXPRESS
>> + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>> NON-INFRINGEMENT.
>> + * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
>> + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
>> CONTRACT,
>> + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> + * SOFTWAR
>> + *
>> + * Authors:
>> + *    Xiang, Haihao<haihao.xiang at intel.com>
>> + *
>> + */
>> +
>> +#include<stdio.h>
>> +#include<stdlib.h>
>> +#include<stdbool.h>
>> +#include<string.h>
>> +#include<math.h>
>> +#include<time.h>
>> +#include<assert.h>
>> +
>> +#include "intel_batchbuffer.h"
>> +#include "intel_driver.h"
>> +
>> +#include "i965_defines.h"
>> +#include "i965_drv_video.h"
>> +#include "i965_encoder.h"
>> +#include "i965_encoder_vp8.h"
>> +
>> +#define SCALE_FACTOR_4X                 4
>> +#define SCALE_FACTOR_16X                16
>> +
>> +#define MAX_VP8_ENCODER_SURFACES        128
>> +
>> +#define MAX_URB_SIZE                    2048 /* In register */
>> +#define NUM_KERNELS_PER_GPE_CONTEXT     1
>> +
>> +#define VP8_BRC_KBPS                    1000
>> +
>> +#define BRC_KERNEL_CBR                  0x0010
>> +#define BRC_KERNEL_VBR                  0x0020
>> +
>> +struct i965_kernel vp8_kernels_brc_init_reset[NUM_VP8_BRC_RESET] = {
>> +    {
>> +        "VP8 BRC Init",
>> +        VP8_BRC_INIT,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +
>> +    {
>> +        "VP8 BRC Reset",
>> +        VP8_BRC_RESET,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +};
>> +
>> +struct i965_kernel vp8_kernels_scaling[NUM_VP8_SCALING] = {
>> +    {
>> +        "VP8 SCALE 4X",
>> +        VP8_SCALING_4X,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +
>> +    {
>> +        "VP8 SCALE 16",
>> +        VP8_SCALING_16X,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +};
>> +
>> +struct i965_kernel vp8_kernels_me[NUM_VP8_ME] = {
>> +    {
>> +        "VP8 ME 4X",
>> +        VP8_ME_4X,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +
>> +    {
>> +        "VP8 ME 16",
>> +        VP8_ME_16X,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +};
>> +
>> +struct i965_kernel vp8_kernels_mbenc[NUM_VP8_MBENC] = {
>> +    {
>> +        "VP8 MBEnc I Frame Dist",
>> +        VP8_MBENC_I_FRAME_DIST,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +
>> +    {
>> +        "VP8 MBEnc I Frame Luma",
>> +        VP8_MBENC_I_FRAME_LUMA,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +
>> +    {
>> +        "VP8 MBEnc I Frame Chroma",
>> +        VP8_MBENC_I_FRAME_CHROMA,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +
>> +    {
>> +        "VP8 MBEnc P Frame",
>> +        VP8_MBENC_P_FRAME,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +};
>> +
>> +struct i965_kernel vp8_kernels_mpu[NUM_VP8_MPU] = {
>> +    {
>> +        "VP8 MPU",
>> +        VP8_MPU,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +};
>> +
>> +struct i965_kernel vp8_kernels_tpu[NUM_VP8_TPU] = {
>> +    {
>> +        "VP8 TPU",
>> +        VP8_TPU,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +};
>> +
>> +struct i965_kernel vp8_kernels_brc_update[NUM_VP8_BRC_UPDATE] = {
>> +    {
>> +        "VP8 BRC Update",
>> +        VP8_BRC_UPDATE,
>> +        NULL,
>> +        0,
>> +        NULL
>> +    },
>> +};
>> +
>>
>
> It seems that the below table is defined in VP8 spec. It should be same as
> that in libvpx.
>
> Can we put them into one dedicated files as we have done for VP9 enc? At
> the same time vpx license is also added.
>


That's a good suggestion.  I'm fine with that.

Sean



>
> Thanks
>    Yakui
>
> +const unsigned char
>> +vp8_default_coeff_probs[4][8][3][11] = {
>> +    {
>> +        {
>> +            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128}
>> +        },
>> +        {
>> +            { 253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128},
>> +            { 189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128},
>> +            { 106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128},
>> +            { 181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128},
>> +            { 78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128},
>> +            { 184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128},
>> +            { 77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128},
>> +            { 170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128},
>> +            { 37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128},
>> +            { 207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128},
>> +            { 102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128},
>> +            { 177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128},
>> +            { 80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128}
>> +        }
>> +    },
>> +    {
>> +        {
>> +            { 198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62},
>> +            { 131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1},
>> +            { 68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128}
>> +        },
>> +        {
>> +            { 1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128},
>> +            { 184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128},
>> +            { 81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128}
>> +        },
>> +        {
>> +            { 1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128},
>> +            { 99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128},
>> +            { 23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128}
>> +        },
>> +        {
>> +            { 1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128},
>> +            { 109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128},
>> +            { 44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128},
>> +            { 94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128},
>> +            { 22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128},
>> +            { 124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128},
>> +            { 35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128},
>> +            { 121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128},
>> +            { 45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128},
>> +            { 203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128},
>> +            { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128}
>> +        }
>> +    },
>> +    {
>> +        {
>> +            { 253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128},
>> +            { 175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128},
>> +            { 73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128}
>> +        },
>> +        {
>> +            { 1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128},
>> +            { 239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128},
>> +            { 155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128},
>> +            { 201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128},
>> +            { 69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128},
>> +            { 223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128},
>> +            { 141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128},
>> +            { 190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128},
>> +            { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128},
>> +            { 213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128},
>> +            { 55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128}
>> +        },
>> +        {
>> +            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128}
>> +        }
>> +    },
>> +    {
>> +        {
>> +            { 202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255},
>> +            { 126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128},
>> +            { 61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128}
>> +        },
>> +        {
>> +            { 1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128},
>> +            { 166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128},
>> +            { 39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128}
>> +        },
>> +        {
>> +            { 1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128},
>> +            { 124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128},
>> +            { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128}
>> +        },
>> +        {
>> +            { 1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128},
>> +            { 149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128},
>> +            { 28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128}
>> +        },
>> +        {
>> +            { 1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128},
>> +            { 123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128},
>> +            { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128},
>> +            { 168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128},
>> +            { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128},
>> +            { 141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128},
>> +            { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128}
>> +        },
>> +        {
>> +            { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128},
>> +            { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128}
>> +        }
>> +    }
>> +};
>> +
>> +const unsigned short
>> +vp8_c0_table[256] = {
>> +    2047, 2047, 1791, 1641, 1535, 1452, 1385, 1328, 1279, 1235, 1196,
>> 1161, 1129, 1099, 1072, 1046,
>> +    1023, 1000,  979,  959,  940,  922,  905,  889,  873,  858,  843,
>> 829,  816,  803,  790,  778,
>> +    767,  755,  744,  733,  723,  713,  703,  693,  684,  675,  666,
>> 657,  649,  641,  633,  625,
>> +    617,  609,  602,  594,  587,  580,  573,  567,  560,  553,  547,
>> 541,  534,  528,  522,  516,
>> +    511,  505,  499,  494,  488,  483,  477,  472,  467,  462,  457,
>> 452,  447,  442,  437,  433,
>> +    428,  424,  419,  415,  410,  406,  401,  397,  393,  389,  385,
>> 381,  377,  373,  369,  365,
>> +    361,  357,  353,  349,  346,  342,  338,  335,  331,  328,  324,
>> 321,  317,  314,  311,  307,
>> +    304,  301,  297,  294,  291,  288,  285,  281,  278,  275,  272,
>> 269,  266,  263,  260,  257,
>> +    255,  252,  249,  246,  243,  240,  238,  235,  232,  229,  227,
>> 224,  221,  219,  216,  214,
>> +    211,  208,  206,  203,  201,  198,  196,  194,  191,  189,  186,
>> 184,  181,  179,  177,  174,
>> +    172,  170,  168,  165,  163,  161,  159,  156,  154,  152,  150,
>> 148,  145,  143,  141,  139,
>> +    137,  135,  133,  131,  129,  127,  125,  123,  121,  119,  117,
>> 115,  113,  111,  109,  107,
>> +    105,  103,  101,   99,   97,   95,   93,   92,   90,   88,   86,
>>  84,   82,   81,   79,   77,
>> +    75,   73,   72,   70,   68,   66,   65,   63,   61,   60,   58,
>>  56,   55,   53,   51,   50,
>> +    48,   46,   45,   43,   41,   40,   38,   37,   35,   33,   32,
>>  30,   29,   27,   25,   24,
>> +    22,   21,   19,   18,   16,   15,   13,   12,   10,    9,    7,
>> 6,    4,    3,    1,   1
>> +};
>> +
>> +const unsigned char
>> +vp8_probability_update_flags[VP8_NUM_COEFF_PLANES][VP8_NUM_
>> COEFF_BANDS][VP8_NUM_LOCAL_COMPLEXITIES][VP8_NUM_COEFF_NODES] = {
>> +    {
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +    },
>> +    {
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +    },
>> +    {
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +    },
>> +    {
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}},
>> +        {{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}}
>> +    }
>> +};
>> +
>> +const unsigned char
>> +vp8_coeff_update_probs[4][8][3][11] = {
>> +    {
>> +        {
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255},
>> +            { 250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255},
>> +            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        }
>> +    },
>> +    {
>> +        {
>> +            { 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255},
>> +            { 234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        }
>> +    },
>> +    {
>> +        {
>> +            { 186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255},
>> +            { 251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        }
>> +    },
>> +    {
>> +        {
>> +            { 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255},
>> +            { 248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        },
>> +        {
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
>> +            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
>> +        }
>> +    }
>> +};
>> +
>> +const unsigned char
>> +vp8_num_refs[8] = {
>> +    0, 1, 1, 2, 1, 2, 2, 3
>> +};
>> +
>> +const unsigned int
>> +vp8_search_path[2][8][16] = {
>> +    // I-Frame&  P-Frame
>> +    {
>> +        // MEMethod: 0
>> +        {
>> +            0x120FF10F, 0x1E22E20D, 0x20E2FF10, 0x2EDD06FC, 0x11D33FF1,
>> 0xEB1FF33D, 0x4EF1F1F1, 0xF1F21211,
>> +            0x0DFFFFE0, 0x11201F1F, 0x1105F1CF, 0x00000000, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 1
>> +        {
>> +            0x120FF10F, 0x1E22E20D, 0x20E2FF10, 0x2EDD06FC, 0x11D33FF1,
>> 0xEB1FF33D, 0x4EF1F1F1, 0xF1F21211,
>> +            0x0DFFFFE0, 0x11201F1F, 0x1105F1CF, 0x00000000, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 2
>> +        {
>> +            0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000,
>> +            0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 3
>> +        {
>> +            0x01010101, 0x11010101, 0x01010101, 0x11010101, 0x01010101,
>> 0x11010101, 0x01010101, 0x11010101,
>> +            0x01010101, 0x11010101, 0x01010101, 0x00010101, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 4
>> +        {
>> +            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010,
>> 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,
>> +            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F,
>> 0xF0F0F0F0, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 5
>> +        {
>> +            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010,
>> 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,
>> +            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F,
>> 0xF0F0F0F0, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 6
>> +        {
>> +            0x120FF10F, 0x1E22E20D, 0x20E2FF10, 0x2EDD06FC, 0x11D33FF1,
>> 0xEB1FF33D, 0x4EF1F1F1, 0xF1F21211,
>> +            0x0DFFFFE0, 0x11201F1F, 0x1105F1CF, 0x00000000, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 7 used for mpeg2 encoding P frames
>> +        {
>> +            0x1F11F10F, 0x2E22E2FE, 0x20E220DF, 0x2EDD06FC, 0x11D33FF1,
>> 0xEB1FF33D, 0x02F1F1F1, 0x1F201111,
>> +            0xF1EFFF0C, 0xF01104F1, 0x10FF0A50, 0x000FF1C0, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000
>> +        }
>> +    },
>> +
>> +    // B-Frame
>> +    {
>> +        // MEMethod: 0
>> +        {
>> +            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010,
>> 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,
>> +            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F,
>> 0xF0F0F0F0, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 1
>> +        {
>> +            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010,
>> 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,
>> +            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F,
>> 0xF0F0F0F0, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 2
>> +        {
>> +            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010,
>> 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,
>> +            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F,
>> 0xF0F0F0F0, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 3
>> +        {
>> +            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010,
>> 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,
>> +            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F,
>> 0xF0F0F0F0, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 4
>> +        {
>> +            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010,
>> 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,
>> +            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F,
>> 0xF0F0F0F0, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 5
>> +        {
>> +            0x0101F00F, 0x0F0F1010, 0xF0F0F00F, 0x01010101, 0x10101010,
>> 0x0F0F0F0F, 0xF0F0F00F, 0x0101F0F0,
>> +            0x01010101, 0x10101010, 0x0F0F1010, 0x0F0F0F0F, 0xF0F0F00F,
>> 0xF0F0F0F0, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 6
>> +        {
>> +            0x120FF10F, 0x1E22E20D, 0x20E2FF10, 0x2EDD06FC, 0x11D33FF1,
>> 0xEB1FF33D, 0x4EF1F1F1, 0xF1F21211,
>> +            0x0DFFFFE0, 0x11201F1F, 0x1105F1CF, 0x00000000, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000
>> +        },
>> +        // MEMethod: 7 used for mpeg2 encoding B frames
>> +        {
>> +            0x1F11F10F, 0x2E22E2FE, 0x20E220DF, 0x2EDD06FC, 0x11D33FF1,
>> 0xEB1FF33D, 0x02F1F1F1, 0x1F201111,
>> +            0xF1EFFF0C, 0xF01104F1, 0x10FF0A50, 0x000FF1C0, 0x00000000,
>> 0x00000000, 0x00000000, 0x00000000
>> +        }
>> +    }
>> +};
>> +
>> +const unsigned short
>> +quant_dc_vp8[NUM_QP_VP8] = {
>> +    4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17,
>> +    18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28,
>> +    29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43,
>> +    44, 45, 46, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
>> +    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
>> +    75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
>> +    91, 93, 95, 96, 98, 100, 101, 102, 104, 106, 108, 110, 112, 114,
>> 116, 118,
>> +    122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 143, 145, 148,
>> 151, 154, 157
>> +};
>> +
>> +const unsigned short
>> +quant_ac_vp8[NUM_QP_VP8] = {
>> +    4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
>> +    20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
>> +    36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
>> +    52, 53, 54, 55, 56, 57, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76,
>> +    78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108,
>> +    110, 112, 114, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143,
>> 146, 149, 152,
>> +    155, 158, 161, 164, 167, 170, 173, 177, 181, 185, 189, 193, 197,
>> 201, 205, 209,
>> +    213, 217, 221, 225, 229, 234, 239, 245, 249, 254, 259, 264, 269,
>> 274, 279, 284
>> +};
>> +
>> +const unsigned short
>> +quant_dc2_vp8[NUM_QP_VP8] = {
>> +    8, 10, 12, 14, 16, 18, 20, 20, 22, 24, 26, 28, 30, 32, 34, 34,
>> +    36, 38, 40, 40, 42, 42, 44, 44, 46, 46, 48, 50, 50, 52, 54, 56,
>> +    58, 60, 62, 64, 66, 68, 70, 72, 74, 74, 76, 78, 80, 82, 84, 86,
>> +    88, 90, 92, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114,
>> 116,
>> +    118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142,
>> 144, 146, 148,
>> +    150, 152, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172,
>> 174, 176, 178,
>> +    182, 186, 190, 192, 196, 200, 202, 204, 208, 212, 216, 220, 224,
>> 228, 232, 236,
>> +    244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 286, 290, 296,
>> 302, 308, 314
>> +};
>> +
>> +const unsigned short
>> +quant_ac2_vp8[NUM_QP_VP8] = {
>> +    8, 8, 9, 10, 12, 13, 15, 17, 18, 20, 21, 23, 24, 26, 27, 29,
>> +    31, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 48, 49, 51, 52, 54,
>> +    55, 57, 58, 60, 62, 63, 65, 66, 68, 69, 71, 72, 74, 75, 77, 79,
>> +    80, 82, 83, 85, 86, 88, 89, 93, 96, 99, 102, 105, 108, 111, 114, 117,
>> +    120, 124, 127, 130, 133, 136, 139, 142, 145, 148, 151, 155, 158,
>> 161, 164, 167,
>> +    170, 173, 176, 179, 184, 189, 193, 198, 203, 207, 212, 217, 221,
>> 226, 230, 235,
>> +    240, 244, 249, 254, 258, 263, 268, 274, 280, 286, 292, 299, 305,
>> 311, 317, 323,
>> +    330, 336, 342, 348, 354, 362, 370, 379, 385, 393, 401, 409, 416,
>> 424, 432, 440
>> +};
>> +
>> +const unsigned short
>> +quant_dc_uv_vp8[NUM_QP_VP8] = {
>> +    4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17,
>> +    18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28,
>> +    29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43,
>> +    44, 45, 46, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
>> +    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
>> +    75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
>> +    91, 93, 95, 96, 98, 100, 101, 102, 104, 106, 108, 110, 112, 114,
>> 116, 118,
>> +    122, 124, 126, 128, 130, 132, 132, 132, 132, 132, 132, 132, 132,
>> 132, 132, 132
>> +};
>> +
>> +const unsigned char
>> +i_frame_vme_costs_vp8[NUM_QP_VP8][4] = {
>> +    {0x05, 0x1f, 0x02, 0x09},
>> +    {0x05, 0x1f, 0x02, 0x09},
>> +    {0x08, 0x2b, 0x03, 0x0e},
>> +    {0x08, 0x2b, 0x03, 0x0e},
>> +    {0x0a, 0x2f, 0x04, 0x12},
>> +    {0x0a, 0x2f, 0x04, 0x12},
>> +    {0x0d, 0x39, 0x05, 0x17},
>> +    {0x0d, 0x39, 0x05, 0x17},
>> +    {0x0d, 0x39, 0x05, 0x17},
>> +    {0x0f, 0x3b, 0x06, 0x1b},
>> +    {0x0f, 0x3b, 0x06, 0x1b},
>> +    {0x19, 0x3d, 0x07, 0x20},
>> +    {0x19, 0x3d, 0x07, 0x20},
>> +    {0x1a, 0x3f, 0x08, 0x24},
>> +    {0x1a, 0x3f, 0x08, 0x24},
>> +    {0x1a, 0x3f, 0x08, 0x24},
>> +    {0x1b, 0x48, 0x09, 0x29},
>> +    {0x1b, 0x48, 0x09, 0x29},
>> +    {0x1d, 0x49, 0x09, 0x2d},
>> +    {0x1d, 0x49, 0x09, 0x2d},
>> +    {0x1d, 0x49, 0x09, 0x2d},
>> +    {0x1d, 0x49, 0x09, 0x2d},
>> +    {0x1e, 0x4a, 0x0a, 0x32},
>> +    {0x1e, 0x4a, 0x0a, 0x32},
>> +    {0x1e, 0x4a, 0x0a, 0x32},
>> +    {0x1e, 0x4a, 0x0a, 0x32},
>> +    {0x1f, 0x4b, 0x0b, 0x36},
>> +    {0x1f, 0x4b, 0x0b, 0x36},
>> +    {0x1f, 0x4b, 0x0b, 0x36},
>> +    {0x28, 0x4c, 0x0c, 0x3b},
>> +    {0x28, 0x4c, 0x0c, 0x3b},
>> +    {0x29, 0x4d, 0x0d, 0x3f},
>> +    {0x29, 0x4d, 0x0d, 0x3f},
>> +    {0x29, 0x4e, 0x0e, 0x44},
>> +    {0x29, 0x4e, 0x0e, 0x44},
>> +    {0x2a, 0x4f, 0x0f, 0x48},
>> +    {0x2a, 0x4f, 0x0f, 0x48},
>> +    {0x2b, 0x58, 0x10, 0x4d},
>> +    {0x2b, 0x58, 0x10, 0x4d},
>> +    {0x2b, 0x58, 0x11, 0x51},
>> +    {0x2b, 0x58, 0x11, 0x51},
>> +    {0x2b, 0x58, 0x11, 0x51},
>> +    {0x2c, 0x58, 0x12, 0x56},
>> +    {0x2c, 0x58, 0x12, 0x56},
>> +    {0x2c, 0x59, 0x13, 0x5a},
>> +    {0x2c, 0x59, 0x13, 0x5a},
>> +    {0x2d, 0x59, 0x14, 0x5f},
>> +    {0x2d, 0x59, 0x14, 0x5f},
>> +    {0x2e, 0x5a, 0x15, 0x63},
>> +    {0x2e, 0x5a, 0x15, 0x63},
>> +    {0x2e, 0x5a, 0x16, 0x68},
>> +    {0x2e, 0x5a, 0x16, 0x68},
>> +    {0x2e, 0x5a, 0x16, 0x68},
>> +    {0x2f, 0x5b, 0x17, 0x6c},
>> +    {0x2f, 0x5b, 0x17, 0x6c},
>> +    {0x38, 0x5b, 0x18, 0x71},
>> +    {0x38, 0x5b, 0x18, 0x71},
>> +    {0x38, 0x5c, 0x19, 0x76},
>> +    {0x38, 0x5c, 0x19, 0x76},
>> +    {0x38, 0x5c, 0x1a, 0x7a},
>> +    {0x38, 0x5c, 0x1a, 0x7a},
>> +    {0x39, 0x5d, 0x1a, 0x7f},
>> +    {0x39, 0x5d, 0x1a, 0x7f},
>> +    {0x39, 0x5d, 0x1b, 0x83},
>> +    {0x39, 0x5d, 0x1b, 0x83},
>> +    {0x39, 0x5e, 0x1c, 0x88},
>> +    {0x39, 0x5e, 0x1c, 0x88},
>> +    {0x3a, 0x5e, 0x1d, 0x8c},
>> +    {0x3a, 0x5e, 0x1d, 0x8c},
>> +    {0x3a, 0x5f, 0x1e, 0x91},
>> +    {0x3a, 0x5f, 0x1e, 0x91},
>> +    {0x3a, 0x5f, 0x1f, 0x95},
>> +    {0x3a, 0x5f, 0x1f, 0x95},
>> +    {0x3a, 0x68, 0x20, 0x9a},
>> +    {0x3a, 0x68, 0x20, 0x9a},
>> +    {0x3b, 0x68, 0x21, 0x9e},
>> +    {0x3b, 0x68, 0x21, 0x9e},
>> +    {0x3b, 0x68, 0x22, 0xa3},
>> +    {0x3b, 0x68, 0x22, 0xa3},
>> +    {0x3b, 0x68, 0x23, 0xa7},
>> +    {0x3b, 0x68, 0x23, 0xa7},
>> +    {0x3c, 0x68, 0x24, 0xac},
>> +    {0x3c, 0x68, 0x24, 0xac},
>> +    {0x3c, 0x68, 0x24, 0xac},
>> +    {0x3c, 0x69, 0x25, 0xb0},
>> +    {0x3c, 0x69, 0x25, 0xb0},
>> +    {0x3c, 0x69, 0x26, 0xb5},
>> +    {0x3c, 0x69, 0x26, 0xb5},
>> +    {0x3d, 0x69, 0x27, 0xb9},
>> +    {0x3d, 0x69, 0x27, 0xb9},
>> +    {0x3d, 0x69, 0x28, 0xbe},
>> +    {0x3d, 0x69, 0x28, 0xbe},
>> +    {0x3d, 0x6a, 0x29, 0xc2},
>> +    {0x3d, 0x6a, 0x29, 0xc2},
>> +    {0x3e, 0x6a, 0x2a, 0xc7},
>> +    {0x3e, 0x6a, 0x2a, 0xc7},
>> +    {0x3e, 0x6a, 0x2b, 0xcb},
>> +    {0x3e, 0x6a, 0x2b, 0xd0},
>> +    {0x3f, 0x6b, 0x2c, 0xd4},
>> +    {0x3f, 0x6b, 0x2d, 0xd9},
>> +    {0x3f, 0x6b, 0x2e, 0xdd},
>> +    {0x48, 0x6b, 0x2f, 0xe2},
>> +    {0x48, 0x6b, 0x2f, 0xe2},
>> +    {0x48, 0x6c, 0x30, 0xe6},
>> +    {0x48, 0x6c, 0x31, 0xeb},
>> +    {0x48, 0x6c, 0x32, 0xf0},
>> +    {0x48, 0x6c, 0x33, 0xf4},
>> +    {0x48, 0x6c, 0x34, 0xf9},
>> +    {0x49, 0x6d, 0x35, 0xfd},
>> +    {0x49, 0x6d, 0x36, 0xff},
>> +    {0x49, 0x6d, 0x37, 0xff},
>> +    {0x49, 0x6d, 0x38, 0xff},
>> +    {0x49, 0x6e, 0x3a, 0xff},
>> +    {0x49, 0x6e, 0x3b, 0xff},
>> +    {0x4a, 0x6e, 0x3c, 0xff},
>> +    {0x4a, 0x6f, 0x3d, 0xff},
>> +    {0x4a, 0x6f, 0x3d, 0xff},
>> +    {0x4a, 0x6f, 0x3e, 0xff},
>> +    {0x4a, 0x6f, 0x3f, 0xff},
>> +    {0x4a, 0x6f, 0x40, 0xff},
>> +    {0x4b, 0x78, 0x41, 0xff},
>> +    {0x4b, 0x78, 0x42, 0xff},
>> +    {0x4b, 0x78, 0x43, 0xff},
>> +    {0x4b, 0x78, 0x44, 0xff},
>> +    {0x4b, 0x78, 0x46, 0xff},
>> +    {0x4c, 0x78, 0x47, 0xff},
>> +    {0x4c, 0x79, 0x49, 0xff},
>> +    {0x4c, 0x79, 0x4a, 0xff}
>> +};
>> +
>> +const unsigned char
>> +mainref_table_vp8[8] = {
>> +    0, 1, 2, 9, 3, 13, 14, 57
>> +};
>> +
>> +const unsigned int
>> +cost_table_vp8[NUM_QP_VP8][7] = {
>> +    {0x398f0500, 0x6f6f6f6f, 0x0000006f, 0x06040402, 0x1a0c0907, 0x08,
>> 0x0e},
>> +    {0x3b8f0600, 0x6f6f6f6f, 0x0000006f, 0x06040402, 0x1a0c0907, 0x0a,
>> 0x11},
>> +    {0x3e8f0700, 0x6f6f6f6f, 0x0000006f, 0x06040402, 0x1a0c0907, 0x0c,
>> 0x14},
>> +    {0x488f0800, 0x6f6f6f6f, 0x0000006f, 0x06040402, 0x1a0c0907, 0x0f,
>> 0x18},
>> +    {0x498f0a00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x11,
>> 0x1b},
>> +    {0x4a8f0b00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x13,
>> 0x1e},
>> +    {0x4b8f0c00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x15,
>> 0x22},
>> +    {0x4b8f0c00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x15,
>> 0x22},
>> +    {0x4d8f0d00, 0x6f6f6f6f, 0x0000006f, 0x0d080805, 0x291b190e, 0x17,
>> 0x25},
>> +    {0x4e8f0e00, 0x6f6f6f6f, 0x0000006f, 0x190b0c07, 0x2e281e1a, 0x19,
>> 0x29},
>> +    {0x4f8f0f00, 0x6f6f6f6f, 0x0000006f, 0x190b0c07, 0x2e281e1a, 0x1b,
>> 0x2c},
>> +    {0x588f1800, 0x6f6f6f6f, 0x0000006f, 0x190b0c07, 0x2e281e1a, 0x1d,
>> 0x2f},
>> +    {0x588f1900, 0x6f6f6f6f, 0x0000006f, 0x190b0c07, 0x2e281e1a, 0x1f,
>> 0x33},
>> +    {0x598f1900, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x21,
>> 0x36},
>> +    {0x5a8f1a00, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x23,
>> 0x3a},
>> +    {0x5a8f1a00, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x23,
>> 0x3a},
>> +    {0x5a8f1a00, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x25,
>> 0x3d},
>> +    {0x5b8f1b00, 0x6f6f6f6f, 0x0000006f, 0x1c0f0f0a, 0x392b291e, 0x27,
>> 0x40},
>> +    {0x5b8f1c00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2a,
>> 0x44},
>> +    {0x5b8f1c00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2a,
>> 0x44},
>> +    {0x5c8f1c00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2c,
>> 0x47},
>> +    {0x5c8f1c00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2c,
>> 0x47},
>> +    {0x5d8f1d00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2e,
>> 0x4a},
>> +    {0x5d8f1d00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x2e,
>> 0x4a},
>> +    {0x5d8f1d00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x30,
>> 0x4e},
>> +    {0x5d8f1d00, 0x6f6f6f6f, 0x0000006f, 0x2819190c, 0x3c2e2b29, 0x30,
>> 0x4e},
>> +    {0x5e8f1e00, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x32,
>> 0x51},
>> +    {0x5e8f1f00, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x34,
>> 0x55},
>> +    {0x5e8f1f00, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x34,
>> 0x55},
>> +    {0x5f8f1f00, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x36,
>> 0x58},
>> +    {0x688f2800, 0x6f6f6f6f, 0x0000006f, 0x291b1b0f, 0x3e382e2a, 0x38,
>> 0x5b},
>> +    {0x688f2800, 0x6f6f6f6f, 0x0000006f, 0x2b1d1d18, 0x483a382c, 0x3a,
>> 0x5f},
>> +    {0x688f2800, 0x6f6f6f6f, 0x0000006f, 0x2b1d1d18, 0x483a382c, 0x3c,
>> 0x62},
>> +    {0x688f2900, 0x6f6f6f6f, 0x0000006f, 0x2b1d1d18, 0x483a382c, 0x3e,
>> 0x65},
>> +    {0x698f2900, 0x6f6f6f6f, 0x0000006f, 0x2b1d1d18, 0x483a382c, 0x40,
>> 0x69},
>> +    {0x698f2900, 0x6f6f6f6f, 0x0000006f, 0x2c1f1f19, 0x493b392e, 0x43,
>> 0x6c},
>> +    {0x698f2900, 0x6f6f6f6f, 0x0000006f, 0x2c1f1f19, 0x493b392e, 0x45,
>> 0x70},
>> +    {0x6a8f2a00, 0x6f6f6f6f, 0x0000006f, 0x2c1f1f19, 0x493b392e, 0x47,
>> 0x73},
>> +    {0x6a8f2a00, 0x6f6f6f6f, 0x0000006f, 0x2c1f1f19, 0x493b392e, 0x49,
>> 0x76},
>> +    {0x6a8f2a00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x4b,
>> 0x7a},
>> +    {0x6b8f2b00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x4d,
>> 0x7d},
>> +    {0x6b8f2b00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x4d,
>> 0x7d},
>> +    {0x6b8f2b00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x4f,
>> 0x81},
>> +    {0x6b8f2b00, 0x6f6f6f6f, 0x0000006f, 0x2e28281b, 0x4b3d3a38, 0x51,
>> 0x84},
>> +    {0x6b8f2c00, 0x6f6f6f6f, 0x0000006f, 0x2f29291c, 0x4c3e3b38, 0x53,
>> 0x87},
>> +    {0x6c8f2c00, 0x6f6f6f6f, 0x0000006f, 0x2f29291c, 0x4c3e3b38, 0x55,
>> 0x8b},
>> +    {0x6c8f2c00, 0x6f6f6f6f, 0x0000006f, 0x2f29291c, 0x4c3e3b38, 0x57,
>> 0x8e},
>> +    {0x6c8f2c00, 0x6f6f6f6f, 0x0000006f, 0x2f29291c, 0x4c3e3b38, 0x59,
>> 0x91},
>> +    {0x6d8f2d00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x5b,
>> 0x95},
>> +    {0x6d8f2d00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x5e,
>> 0x98},
>> +    {0x6d8f2d00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x60,
>> 0x9c},
>> +    {0x6d8f2d00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x60,
>> 0x9c},
>> +    {0x6d8f2e00, 0x6f6f6f6f, 0x0000006f, 0x382a2a1d, 0x4d483c39, 0x62,
>> 0x9f},
>> +    {0x6e8f2e00, 0x6f6f6f6f, 0x0000006f, 0x392b2b1e, 0x4e483e3a, 0x64,
>> 0xa2},
>> +    {0x6e8f2e00, 0x6f6f6f6f, 0x0000006f, 0x392b2b1e, 0x4e483e3a, 0x66,
>> 0xa6},
>> +    {0x6e8f2e00, 0x6f6f6f6f, 0x0000006f, 0x392b2b1e, 0x4e483e3a, 0x68,
>> 0xa9},
>> +    {0x6f8f2f00, 0x6f6f6f6f, 0x0000006f, 0x392b2b1e, 0x4e483e3a, 0x6a,
>> 0xad},
>> +    {0x6f8f2f00, 0x6f6f6f6f, 0x0000006f, 0x3a2c2c1f, 0x4f493f3b, 0x6c,
>> 0xb0},
>> +    {0x6f8f2f00, 0x6f6f6f6f, 0x0000006f, 0x3a2c2c1f, 0x4f493f3b, 0x6e,
>> 0xb3},
>> +    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3a2c2c1f, 0x4f493f3b, 0x70,
>> 0xb7},
>> +    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3a2c2c1f, 0x4f493f3b, 0x72,
>> 0xba},
>> +    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2d2d28, 0x584a483c, 0x74,
>> 0xbd},
>> +    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2d2d28, 0x584a483c, 0x76,
>> 0xc1},
>> +    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2d2d28, 0x584a483c, 0x79,
>> 0xc4},
>> +    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2d2d28, 0x584a483c, 0x7b,
>> 0xc8},
>> +    {0x788f3800, 0x6f6f6f6f, 0x0000006f, 0x3b2e2e29, 0x594b483d, 0x7d,
>> 0xcb},
>> +    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3b2e2e29, 0x594b483d, 0x7f,
>> 0xce},
>> +    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3b2e2e29, 0x594b483d, 0x81,
>> 0xd2},
>> +    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3b2e2e29, 0x594b483d, 0x83,
>> 0xd5},
>> +    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3c2f2f29, 0x594b493e, 0x85,
>> 0xd9},
>> +    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3c2f2f29, 0x594b493e, 0x87,
>> 0xdc},
>> +    {0x798f3900, 0x6f6f6f6f, 0x0000006f, 0x3c2f2f29, 0x594b493e, 0x89,
>> 0xdf},
>> +    {0x798f3a00, 0x6f6f6f6f, 0x0000006f, 0x3c2f2f29, 0x594b493e, 0x8b,
>> 0xe3},
>> +    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3d38382a, 0x5a4c493f, 0x8d,
>> 0xe6},
>> +    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3d38382a, 0x5a4c493f, 0x8f,
>> 0xe9},
>> +    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3d38382a, 0x5a4c493f, 0x91,
>> 0xed},
>> +    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3d38382a, 0x5a4c493f, 0x94,
>> 0xf0},
>> +    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3e38382b, 0x5b4d4a48, 0x96,
>> 0xf4},
>> +    {0x7a8f3a00, 0x6f6f6f6f, 0x0000006f, 0x3e38382b, 0x5b4d4a48, 0x98,
>> 0xf7},
>> +    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3e38382b, 0x5b4d4a48, 0x9a,
>> 0xfa},
>> +    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3e38382b, 0x5b4d4a48, 0x9c,
>> 0xfe},
>> +    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0x9e,
>> 0xff},
>> +    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0x9e,
>> 0xff},
>> +    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0xa0,
>> 0xff},
>> +    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0xa2,
>> 0xff},
>> +    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f38392b, 0x5b4d4b48, 0xa4,
>> 0xff},
>> +    {0x7b8f3b00, 0x6f6f6f6f, 0x0000006f, 0x3f39392c, 0x5c4e4b48, 0xa6,
>> 0xff},
>> +    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x3f39392c, 0x5c4e4b48, 0xa8,
>> 0xff},
>> +    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x3f39392c, 0x5c4e4b48, 0xaa,
>> 0xff},
>> +    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x3f39392c, 0x5c4e4b48, 0xac,
>> 0xff},
>> +    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x48393a2c, 0x5c4f4c49, 0xaf,
>> 0xff},
>> +    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x48393a2c, 0x5c4f4c49, 0xb1,
>> 0xff},
>> +    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x48393a2c, 0x5c4f4c49, 0xb3,
>> 0xff},
>> +    {0x7c8f3c00, 0x6f6f6f6f, 0x0000006f, 0x48393a2c, 0x5c4f4c49, 0xb5,
>> 0xff},
>> +    {0x7d8f3d00, 0x6f6f6f6f, 0x0000006f, 0x483a3a2d, 0x5d584c49, 0xb7,
>> 0xff},
>> +    {0x7d8f3d00, 0x6f6f6f6f, 0x0000006f, 0x483a3a2d, 0x5d584c49, 0xb9,
>> 0xff},
>> +    {0x7d8f3d00, 0x6f6f6f6f, 0x0000006f, 0x483a3a2d, 0x5d584c49, 0xbd,
>> 0xff},
>> +    {0x7d8f3d00, 0x6f6f6f6f, 0x0000006f, 0x493a3b2e, 0x5e584d4a, 0xc1,
>> 0xff},
>> +    {0x7e8f3e00, 0x6f6f6f6f, 0x0000006f, 0x493a3b2e, 0x5e584d4a, 0xc5,
>> 0xff},
>> +    {0x7e8f3e00, 0x6f6f6f6f, 0x0000006f, 0x493b3b2e, 0x5e584e4a, 0xc8,
>> 0xff},
>> +    {0x7e8f3e00, 0x6f6f6f6f, 0x0000006f, 0x493b3b2e, 0x5e584e4a, 0xcc,
>> 0xff},
>> +    {0x7e8f3e00, 0x6f6f6f6f, 0x0000006f, 0x493b3c2f, 0x5f594e4b, 0xd0,
>> 0xff},
>> +    {0x7f8f3f00, 0x6f6f6f6f, 0x0000006f, 0x493b3c2f, 0x5f594e4b, 0xd2,
>> 0xff},
>> +    {0x7f8f3f00, 0x6f6f6f6f, 0x0000006f, 0x493b3c2f, 0x5f594e4b, 0xd4,
>> 0xff},
>> +    {0x7f8f3f00, 0x6f6f6f6f, 0x0000006f, 0x4a3c3c2f, 0x5f594f4b, 0xd8,
>> 0xff},
>> +    {0x7f8f3f00, 0x6f6f6f6f, 0x0000006f, 0x4a3c3c2f, 0x5f594f4b, 0xdc,
>> 0xff},
>> +    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4a3c3d38, 0x68594f4c, 0xe0,
>> 0xff},
>> +    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4a3c3d38, 0x68594f4c, 0xe5,
>> 0xff},
>> +    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4b3d3d38, 0x685a584c, 0xe9,
>> 0xff},
>> +    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4b3d3d38, 0x685a584c, 0xed,
>> 0xff},
>> +    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4b3d3e38, 0x685a584c, 0xf1,
>> 0xff},
>> +    {0x888f4800, 0x6f6f6f6f, 0x0000006f, 0x4b3d3e38, 0x685a584c, 0xf5,
>> 0xff},
>> +    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4b3e3e39, 0x695b584d, 0xfe,
>> 0xff},
>> +    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4c3e3e39, 0x695b594d, 0xff,
>> 0xff},
>> +    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4c3e3e39, 0x695b594d, 0xff,
>> 0xff},
>> +    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4c3f3f39, 0x695b594e, 0xff,
>> 0xff},
>> +    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4c3f3f39, 0x695b594e, 0xff,
>> 0xff},
>> +    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4d3f3f3a, 0x6a5c594e, 0xff,
>> 0xff},
>> +    {0x898f4900, 0x6f6f6f6f, 0x0000006f, 0x4d3f3f3a, 0x6a5c594e, 0xff,
>> 0xff},
>> +    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4d48483a, 0x6a5c594f, 0xff,
>> 0xff},
>> +    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4d48483a, 0x6a5c594f, 0xff,
>> 0xff},
>> +    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4d48483a, 0x6a5c5a4f, 0xff,
>> 0xff},
>> +    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4d48483a, 0x6a5c5a4f, 0xff,
>> 0xff},
>> +    {0x8a8f4a00, 0x6f6f6f6f, 0x0000006f, 0x4e48483a, 0x6a5d5a58, 0xff,
>> 0xff},
>> +    {0x8b8f4b00, 0x6f6f6f6f, 0x0000006f, 0x4e48483b, 0x6b5d5a58, 0xff,
>> 0xff},
>> +    {0x8b8f4b00, 0x6f6f6f6f, 0x0000006f, 0x4e48483b, 0x6b5d5a58, 0xff,
>> 0xff},
>> +    {0x8b8f4b00, 0x6f6f6f6f, 0x0000006f, 0x4f48493b, 0x6b5d5b58, 0xff,
>> 0xff},
>> +    {0x8b8f4b00, 0x6f6f6f6f, 0x0000006f, 0x4f49493b, 0x6b5e5b58, 0xff,
>> 0xff}
>> +};
>> +
>> +const unsigned int single_su_vp8[56] = {
>> +    0x00000000, 0x00000000, 0x00000000, 0x00000000,
>> +    0x00000000, 0x00000000, 0x00000000, 0x00000000,
>> +    0x00000000, 0x00000000, 0x00000000, 0x00000000,
>> +    0x00000000, 0x00000000
>> +};
>> +
>> +const unsigned char full_spiral_48x40_vp8[56] = {
>> +    // L ->  U ->  R ->  D
>> +    0x0F,
>> +    0xF0,
>> +    0x01, 0x01,
>> +    0x10, 0x10,
>> +    0x0F, 0x0F, 0x0F,
>> +    0xF0, 0xF0, 0xF0,
>> +    0x01, 0x01, 0x01, 0x01,
>> +    0x10, 0x10, 0x10, 0x10,
>> +    0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
>> +    0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
>> +    0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
>> +    0x10, 0x10, 0x10, 0x10, 0x10, 0x10,       // The last 0x10 steps
>> outside the search window.
>> +    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, // These are outside the
>> search window.
>> +    0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0
>> +};
>> +
>> +const unsigned char raster_scan_48x40_vp8[56] = {
>> +    0x11, 0x01, 0x01, 0x01,
>> +    0x11, 0x01, 0x01, 0x01,
>> +    0x11, 0x01, 0x01, 0x01,
>> +    0x11, 0x01, 0x01, 0x01,
>> +    0x11, 0x01, 0x01, 0x01,
>> +    0x01, 0x01, 0x01, 0x01,
>> +    0x00, 0x00, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00
>> +};
>> +
>> +const unsigned char diamond_vp8[56] = {
>> +    0x0F, 0xF1, 0x0F, 0x12,//5
>> +    0x0D, 0xE2, 0x22, 0x1E,//9
>> +    0x10, 0xFF, 0xE2, 0x20,//13
>> +    0xFC, 0x06, 0xDD,//16
>> +    0x2E, 0xF1, 0x3F, 0xD3, 0x11, 0x3D, 0xF3, 0x1F,//24
>> +    0xEB, 0xF1, 0xF1, 0xF1,//28
>> +    0x4E, 0x11, 0x12, 0xF2, 0xF1,//33
>> +    0xE0, 0xFF, 0xFF, 0x0D, 0x1F, 0x1F,//39
>> +    0x20, 0x11, 0xCF, 0xF1, 0x05, 0x11,//45
>> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,//51
>> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00
>> +};
>> +
>> +const unsigned short
>> +mv_ref_cost_context_vp8[6][4][2] = {
>> +    {{1328, 10},
>> +     {2047, 1},
>> +     {2047, 1},
>> +     {214, 304},
>> +    },
>> +    {{1072, 21},
>> +     {979, 27},
>> +     {1072, 21},
>> +     {321, 201},
>> +    },
>> +    {{235, 278},
>> +     {511, 107},
>> +     {553, 93},
>> +     {488, 115},
>> +    },
>> +    {{534, 99},
>> +     {560, 92},
>> +     {255, 257},
>> +     {505, 109},
>> +    },
>> +    {{174, 361},
>> +     {238, 275},
>> +     {255, 257},
>> +     {744, 53},
>> +    },
>> +    {{32, 922},
>> +     {113, 494},
>> +     {255, 257},
>> +     {816, 43},
>> +    },
>> +};
>> +
>> +const unsigned int
>> +new_mv_skip_threshold_vp8[NUM_QP_VP8] = {
>> +    111, 120, 129, 137, 146, 155, 163, 172, 180, 189, 198, 206, 215,
>> 224, 232, 241,
>> +    249, 258, 267, 275, 284, 293, 301, 310, 318, 327, 336, 344, 353,
>> 362, 370, 379,
>> +    387, 396, 405, 413, 422, 431, 439, 448, 456, 465, 474, 482, 491,
>> 500, 508, 517,
>> +    525, 534, 543, 551, 560, 569, 577, 586, 594, 603, 612, 620, 629,
>> 638, 646, 655,
>> +    663, 672, 681, 689, 698, 707, 715, 724, 733, 741, 750, 758, 767,
>> 776, 784, 793,
>> +    802, 810, 819, 827, 836, 845, 853, 862, 871, 879, 888, 896, 905,
>> 914, 922, 931,
>> +    940, 948, 957, 965, 974, 983, 991, 1000, 1009, 1017, 1026, 1034,
>> 1043, 1052, 1060, 1069,
>> +    1078, 1086, 1095, 1103, 1112, 1121, 1129, 1138, 1147, 1155, 1164,
>> 1172, 1181, 1190, 1198, 1208
>> +};
>> +
>> +const unsigned short
>> +mb_mode_cost_luma_vp8[10] = {
>> +    657,    869,    915,    917,    208,    0,      0,      0,      0,
>>     0
>> +};
>> +
>> +
>> +const unsigned short
>> +block_mode_cost_vp8[10][10][10] = {
>> +    {
>> +        {37,  1725,  1868,  1151,  1622,  2096,  2011,  1770,  2218,
>> 2128  },
>> +        {139,  759,  1683,  911,  1455,  1846,  1570,  1295,  1792,
>> 1648   },
>> +        {560,  1383,  408,  639,  1612,  1174,  1562,  1736,  847,  991
>>    },
>> +        {191,  1293,  1299,  466,  1774,  1840,  1784,  1691,  1698,
>> 1505  },
>> +        {211,  1624,  1294,  779,  714,  1622,  2222,  1554,  1706,
>> 903    },
>> +        {297,  1259,  1098,  1062,  1583,  618,  1053,  1889,  851,
>> 1127   },
>> +        {275,  703,  1356,  1111,  1597,  1075,  656,  1529,  1531,
>> 1275   },
>> +        {150,  1046,  1760,  1039,  1353,  1981,  2174,  728,  1730,
>> 1379  },
>> +        {516,  1414,  741,  1045,  1495,  738,  1288,  1619,  442,
>> 1200    },
>> +        {424,  1365,  706,  825,  1197,  1453,  1191,  1462,  1186,
>> 519    },
>> +    },
>> +    {
>> +        {393,  515,  1491,  549,  1598,  1524,  964,  1126,  1651,
>> 2172    },
>> +        {693,  237,  1954,  641,  1525,  2073,  1183,  971,  1973,
>> 2235    },
>> +        {560,  739,  855,  836,  1224,  1115,  966,  839,  1076,  767
>>    },
>> +        {657,  368,  1406,  425,  1672,  1853,  1210,  1125,  1969,
>> 1542   },
>> +        {321,  1056,  1776,  774,  803,  3311,  1265,  1177,  1366,
>> 636    },
>> +        {693,  510,  949,  877,  1049,  658,  882,  1178,  1515,  1111
>>     },
>> +        {744,  377,  1278,  958,  1576,  1168,  477,  1146,  1838,
>> 1501    },
>> +        {488,  477,  1767,  973,  1107,  1511,  1773,  486,  1527,
>> 1449    },
>> +        {744,  1004,  695,  1012,  1326,  834,  1215,  774,  724,  704
>>     },
>> +        {522,  567,  1036,  1082,  1039,  1333,  873,  1135,  1189,
>> 677    },
>> +    },
>> +    {
>> +        {103,  1441,  1000,  864,  1513,  1928,  1832,  1916,  1663,
>> 1567  },
>> +        {304,  872,  1100,  515,  1416,  1417,  3463,  1051,  1305,
>> 1227   },
>> +        {684,  2176,  242,  729,  1867,  1496,  2056,  1544,  1038,
>> 930    },
>> +        {534,  1198,  669,  300,  1805,  1377,  2165,  1894,  1249,
>> 1153   },
>> +        {346,  1602,  1178,  612,  997,  3381,  1335,  1328,  997,  646
>>    },
>> +        {393,  1027,  649,  813,  1276,  945,  1545,  1278,  875,  1031
>>    },
>> +        {528,  996,  930,  617,  1086,  1190,  621,  2760,  787,  1347
>>     },
>> +        {216,  873,  1595,  738,  1339,  3896,  3898,  743,  1343,
>> 1605    },
>> +        {675,  1580,  543,  749,  1859,  1245,  1589,  2377,  384,
>> 1075    },
>> +        {594,  1163,  415,  684,  1474,  1080,  1491,  1478,  1077,
>> 801    },
>> +    },
>> +    {
>> +        {238,  1131,  1483,  398,  1510,  1651,  1495,  1545,  1970,
>> 2090  },
>> +        {499,  456,  1499,  449,  1558,  1691,  1272,  969,  2114,
>> 2116    },
>> +        {675,  1386,  318,  645,  1449,  1588,  1666,  1925,  979,  859
>>    },
>> +        {467,  957,  1223,  238,  1825,  1704,  1608,  1560,  1665,
>> 1376   },
>> +        {331,  1460,  1238,  627,  787,  1882,  3928,  1544,  1897,
>> 579    },
>> +        {457,  1038,  903,  784,  1158,  725,  955,  1517,  842,  1016
>>     },
>> +        {505,  497,  1131,  812,  1508,  1206,  703,  1072,  1254,
>> 1256    },
>> +        {397,  741,  1336,  642,  1506,  1852,  1340,  599,  1854,
>> 1000    },
>> +        {625,  1212,  597,  750,  1291,  1057,  1401,  1401,  527,  954
>>    },
>> +        {499,  1041,  654,  752,  1299,  1217,  1605,  1424,  1377,
>> 505    },
>> +    },
>> +    {
>> +        {263,  1094,  1218,  602,  938,  1487,  1231,  1016,  1724,
>> 1448   },
>> +        {452,  535,  1728,  562,  1008,  1471,  1473,  873,  3182,
>> 1136    },
>> +        {553,  1570,  935,  1093,  826,  1339,  879,  1007,  1006,  476
>>    },
>> +        {365,  900,  1050,  582,  866,  1398,  1236,  1123,  1608,
>> 1039    },
>> +        {294,  2044,  1790,  1143,  430,  1642,  3688,  1549,  2080,
>> 704   },
>> +        {703,  1210,  958,  815,  1211,  960,  623,  2455,  815,  559
>>    },
>> +        {675,  574,  862,  1261,  866,  864,  761,  1267,  1014,  936
>>    },
>> +        {342,  1254,  1857,  989,  612,  1856,  1858,  553,  1840,
>> 1037    },
>> +        {553,  1316,  811,  1072,  1068,  728,  1328,  1317,  1064,
>> 475    },
>> +        {288,  1303,  1167,  1167,  823,  1634,  1636,  2497,  1294,
>> 491   },
>> +    },
>> +    {
>> +        {227,  1059,  1369,  1066,  1505,  740,  970,  1511,  972,
>> 1775    },
>> +        {516,  587,  1033,  646,  1188,  748,  978,  1445,  1294,  1450
>>    },
>> +        {684,  1048,  663,  747,  1126,  826,  1386,  1128,  635,  924
>>     },
>> +        {494,  814,  933,  510,  1606,  951,  878,  1344,  1031,  1347
>>     },
>> +        {553,  1071,  1327,  726,  809,  3376,  1330,  1324,  1062,
>> 407    },
>> +        {625,  1120,  988,  1121,  1197,  347,  1064,  1308,  862,
>> 1206    },
>> +        {633,  853,  1657,  1073,  1662,  634,  460,  1405,  811,  1155
>>    },
>> +        {505,  621,  1394,  876,  1394,  876,  878,  795,  878,  1399
>>    },
>> +        {684,  1302,  968,  1704,  1280,  561,  972,  1713,  387,  1104
>>    },
>> +        {397,  1447,  1060,  867,  957,  1058,  749,  1475,  1210,  660
>>    },
>> +    },
>> +    {
>> +        {331,  933,  1647,  761,  1647,  998,  513,  1402,  1461,  2219
>>    },
>> +        {573,  485,  1968,  641,  1570,  1198,  588,  1086,  1382,
>> 1982    },
>> +        {790,  942,  570,  790,  1607,  1005,  938,  1193,  714,  751
>>    },
>> +        {511,  745,  1152,  492,  1878,  1206,  596,  1867,  1617,
>> 1157    },
>> +        {452,  1308,  896,  896,  451,  1308,  3354,  1301,  1306,  794
>>    },
>> +        {693,  670,  1072,  1020,  1687,  566,  488,  1432,  1096,
>> 3142    },
>> +        {778,  566,  1993,  1283,  3139,  1251,  227,  1378,  1784,
>> 1447   },
>> +        {393,  937,  1091,  934,  939,  1348,  1092,  579,  1351,  1095
>>    },
>> +        {560,  1013,  1007,  1014,  1011,  644,  1165,  1155,  605,
>> 1016   },
>> +        {567,  627,  997,  793,  2562,  998,  849,  1260,  922,  748
>>     },
>> +    },
>> +    {
>> +        {338,  762,  1868,  717,  1247,  1757,  1263,  535,  1751,
>> 2162    },
>> +        {488,  442,  3235,  756,  1658,  1814,  1264,  528,  1857,
>> 2119    },
>> +        {522,  1087,  840,  1103,  843,  1354,  1098,  888,  946,  588
>>     },
>> +        {483,  688,  1502,  651,  1213,  1446,  1397,  491,  1908,
>> 1253    },
>> +        {452,  1386,  1910,  1175,  298,  1507,  3553,  930,  1904,
>> 905    },
>> +        {713,  839,  716,  715,  932,  719,  931,  848,  3088,  1042
>>     },
>> +        {516,  495,  1331,  1340,  1331,  1069,  665,  702,  1593,
>> 1337    },
>> +        {401,  977,  2167,  1537,  1069,  1764,  3810,  259,  3624,
>> 1578   },
>> +        {560,  1104,  601,  1371,  965,  658,  2704,  779,  967,  969
>>    },
>> +        {547,  1057,  801,  1141,  1133,  1397,  937,  605,  1252,  631
>>    },
>> +    },
>> +    {
>> +        {163,  1240,  925,  983,  1653,  1321,  1353,  1566,  946,
>> 1601    },
>> +        {401,  726,  758,  836,  1241,  926,  1656,  795,  1394,  1396
>>     },
>> +        {905,  1073,  366,  876,  1436,  1576,  1732,  2432,  459,
>> 1019    },
>> +        {594,  922,  835,  417,  1387,  1124,  1098,  2042,  843,  1023
>>    },
>
>


-- 
Sean V. Kelley <sean.v.kelley at intel.com>
Open Source Technology Center / SSG
Intel Corp.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libva/attachments/20170110/06130ff0/attachment-0001.html>


More information about the Libva mailing list