#ifndef AOM_AV1_COMMON_WARPED_MOTION_H_
#define AOM_AV1_COMMON_WARPED_MOTION_H_
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <math.h>
#include <assert.h>
#include "config/aom_config.h"
#include "aom_ports/mem.h"
#include "aom_dsp/aom_dsp_common.h"
#include "av1/common/mv.h"
#include "av1/common/convolve.h"
#define LEAST_SQUARES_SAMPLES_MAX_BITS …
#define LEAST_SQUARES_SAMPLES_MAX …
#define SAMPLES_ARRAY_SIZE …
#define WARPED_MOTION_DEBUG …
#define DEFAULT_WMTYPE …
#define WARP_ERROR_BLOCK_LOG …
#define WARP_ERROR_BLOCK …
extern const int16_t av1_warped_filter[WARPEDPIXEL_PREC_SHIFTS * 3 + 1][8];
DECLARE_ALIGNED(…);
static const uint8_t warp_pad_left[14][16] = …;
static const uint8_t warp_pad_right[14][16] = …;
void highbd_warp_plane(WarpedMotionParams *wm, const uint16_t *const ref,
int width, int height, int stride, uint16_t *const pred,
int p_col, int p_row, int p_width, int p_height,
int p_stride, int subsampling_x, int subsampling_y,
int bd, ConvolveParams *conv_params);
void warp_plane(WarpedMotionParams *wm, const uint8_t *const ref, int width,
int height, int stride, uint8_t *pred, int p_col, int p_row,
int p_width, int p_height, int p_stride, int subsampling_x,
int subsampling_y, ConvolveParams *conv_params);
void av1_warp_plane(WarpedMotionParams *wm, int use_hbd, int bd,
const uint8_t *ref, int width, int height, int stride,
uint8_t *pred, int p_col, int p_row, int p_width,
int p_height, int p_stride, int subsampling_x,
int subsampling_y, ConvolveParams *conv_params);
int av1_find_projection(int np, const int *pts1, const int *pts2,
BLOCK_SIZE bsize, int mvy, int mvx,
WarpedMotionParams *wm_params, int mi_row, int mi_col);
int av1_get_shear_params(WarpedMotionParams *wm);
#endif