/* * Copyright (c) 2022, Alliance for Open Media. All rights reserved. * * This source code is subject to the terms of the BSD 2 Clause License and * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License * was not distributed with this source code in the LICENSE file, you can * obtain it at www.aomedia.org/license/software. If the Alliance for Open * Media Patent License 1.0 was not distributed with this source code in the * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #ifndef AOM_AV1_ENCODER_MCOMP_STRUCTS_H_ #define AOM_AV1_ENCODER_MCOMP_STRUCTS_H_ #include "av1/common/mv.h" // The maximum number of steps in a step search given the largest // allowed initial step #define MAX_MVSEARCH_STEPS … // Max full pel mv specified in the unit of full pixel // Enable the use of motion vector in range [-1023, 1023]. #define MAX_FULL_PEL_VAL … // Maximum size of the first step in full pel units #define MAX_FIRST_STEP … // Maximum number of neighbors to scan per iteration during // WARPED_CAUSAL refinement // Note: The elements of warp_search_config.neighbor_mask must be at least // MAX_WARP_SEARCH_NEIGHBORS many bits wide. So the type may need to be // widened if this value is increased. #define MAX_WARP_SEARCH_NEIGHBORS … #define SEARCH_RANGE_8P … #define SEARCH_GRID_STRIDE_8P … #define SEARCH_GRID_CENTER_8P … search_neighbors; // motion search site search_site; search_site_config; enum { … } UENUM1BYTE(…) …; warp_search_config; // Methods for refining WARPED_CAUSAL motion vectors enum { … } UENUM1BYTE(…) …; #endif // AOM_AV1_ENCODER_MCOMP_STRUCTS_H_