vpx/vp8/common/modecont.c
Yaowu Xu ba1a6619b3 Revised coding using adaptive mode context to depend on frame type
A previous commit 76feb965 made the vp8_mode_context adaptive on a frame
frame basis, this commit further made the coding context adaptive to two
frame types separately. Tests on derf set showed a further small gain on
all metrics: avg psnr 0.10%, glb psnr: 0.11%, ssim: 0.08%

http://www.corp.google.com/~yaowu/no_crawl/newNearMode_1209.html

Change-Id: I7b3e32ec8729de1903d14a3f1213f1624b78cdee
2011-12-09 12:13:42 -08:00

72 lines
1.5 KiB
C

/*
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "entropy.h"
#if CONFIG_NEWNEAR
const int default_vp8_mode_contexts[6][4] =
{
{ /* 0 */
7, 1, 1, 183},
{ /* 1 */
14, 18, 14, 147},
{/* 2 */
135, 64, 57, 68},
{ /* 3 */
60, 56, 128, 65},
{/* 4 */
159, 134, 128, 34},
{ /* 5 */
234, 188, 128, 28},
};
const int default_vp8_mode_contexts_a[6][4] =
{
{ /* 0 */
4, 1, 1, 143},
{ /* 1 */
7, 9, 7, 107},
{/* 2 */
95, 34, 57, 68},
{ /* 3 */
95, 56, 128, 65},
{/* 4 */
159, 67, 128, 34},
{ /* 5 */
234, 94, 128, 28},
};
#else
const int default_vp8_mode_contexts[6][4] =
{
{
/* 0 */
7, 1, 1, 143,
},
{
/* 1 */
14, 18, 14, 107,
},
{
/* 2 */
135, 64, 57, 68,
},
{
/* 3 */
60, 56, 128, 65,
},
{
/* 4 */
159, 134, 128, 34,
},
{
/* 5 */
234, 188, 128, 28,
},
};
#endif