9f5811c2da
In current code, motion vectors got from single prediction mode are used in compound prediction mode directly. These motion vectors may not give accurate prediction since they are searched independently. In this patch, we took Pascal's suggestion, and did joint motion search in compound prediction mode to find better motion vectors in this situation. Test results: Overall PSNR: 0.570%(derf), 0.918%(stdhd); SSIM: 0.572%(derf), 1.009%(stdhd); The encoder is a little slower. This can be improved since some c code is used in motion search. Change-Id: Ib30c9240f6c56c9b070867b4ca89412a76d9f3c6
54 lines
1.3 KiB
C
54 lines
1.3 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.
|
|
*/
|
|
|
|
#ifndef VP9_COMMON_VP9_ENUMS_H_
|
|
#define VP9_COMMON_VP9_ENUMS_H_
|
|
|
|
#include "./vpx_config.h"
|
|
|
|
#define LOG2_MI_SIZE 3
|
|
|
|
#define MI_SIZE (1 << LOG2_MI_SIZE)
|
|
#define MI_UV_SIZE (1 << (LOG2_MI_SIZE - 1))
|
|
|
|
#define MI_MASK ((64 >> LOG2_MI_SIZE) - 1)
|
|
|
|
typedef enum BLOCK_SIZE_TYPE {
|
|
BLOCK_SIZE_AB4X4,
|
|
#if CONFIG_AB4X4
|
|
BLOCK_SIZE_SB4X8,
|
|
BLOCK_SIZE_SB8X4,
|
|
#endif
|
|
BLOCK_SIZE_SB8X8,
|
|
BLOCK_SIZE_SB8X16,
|
|
BLOCK_SIZE_SB16X8,
|
|
BLOCK_SIZE_MB16X16,
|
|
BLOCK_SIZE_SB16X32,
|
|
BLOCK_SIZE_SB32X16,
|
|
BLOCK_SIZE_SB32X32,
|
|
BLOCK_SIZE_SB32X64,
|
|
BLOCK_SIZE_SB64X32,
|
|
BLOCK_SIZE_SB64X64,
|
|
BLOCK_SIZE_TYPES
|
|
} BLOCK_SIZE_TYPE;
|
|
|
|
typedef enum PARTITION_TYPE {
|
|
PARTITION_NONE,
|
|
PARTITION_HORZ,
|
|
PARTITION_VERT,
|
|
PARTITION_SPLIT,
|
|
PARTITION_TYPES
|
|
} PARTITION_TYPE;
|
|
|
|
#define PARTITION_PLOFFSET 4 // number of probability models per block size
|
|
#define NUM_PARTITION_CONTEXTS (3 * PARTITION_PLOFFSET)
|
|
|
|
#endif // VP9_COMMON_VP9_ENUMS_H_
|