vpx/av1/encoder/global_motion.h
Sarah Parker c4bcb50635 Swap order of affine parameters
This allows for a clean subtraction of 1 along the transform
matrix diagonal and also makes the order of the parameter list
a little more intuitive.

Change-Id: I6a5d754af41b8d1292f241f9b21473160517d24f
2016-09-07 13:41:03 -07:00

39 lines
1.4 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 AV1_ENCODER_GLOBAL_MOTION_H_
#define AV1_ENCODER_GLOBAL_MOTION_H_
#include "aom/aom_integer.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
Computes global motion parameters between two frames. The array
"params" should be length 9, where the first 2 slots are translation
parameters in (row, col) order, and the remaining slots correspond
to values in the transformation matrix of the corresponding motion
model. They are arranged in "params" such that values on the tx-matrix
diagonal have odd numbered indices so the folowing matrix:
A | B
C | D
would produce params = [trans row, trans col, B, A, C, D]
*/
int compute_global_motion_feature_based(TransformationType type,
YV12_BUFFER_CONFIG *frm,
YV12_BUFFER_CONFIG *ref,
double *params);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // AV1_ENCODER_GLOBAL_MOTION_H_