1 /* 2 * Copyright(c) 2019 Intel Corporation 3 * SPDX - License - Identifier: BSD - 2 - Clause - Patent 4 */ 5 6 #ifndef EbMotionEstimation_h 7 #define EbMotionEstimation_h 8 9 #include "EbDefinitions.h" 10 #include "EbCodingUnit.h" 11 12 #include "EbMotionEstimationProcess.h" 13 #include "EbMotionEstimationContext.h" 14 #include "EbPictureBufferDesc.h" 15 #include "EbSequenceControlSet.h" 16 #include "EbReferenceObject.h" 17 #include "EbPictureDecisionProcess.h" 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 extern EbErrorType motion_estimate_sb( 22 PictureParentControlSet *picture_control_set_ptr, 23 uint32_t sb_index, 24 uint32_t sb_origin_x, 25 uint32_t sb_origin_y, 26 MeContext *context_ptr, 27 EbPictureBufferDesc *input_ptr); 28 29 extern void eb_vp9_decimation_2d( 30 uint8_t *input_samples, 31 uint32_t input_stride, 32 uint32_t input_area_width, 33 uint32_t input_area_height, 34 uint8_t *decim_samples, 35 uint32_t decim_stride, 36 uint32_t decim_step); 37 38 extern void eb_vp9_get_mv( 39 PictureParentControlSet *picture_control_set_ptr, 40 uint32_t sb_index, 41 int32_t *x_current_mv, 42 int32_t *y_current_mv); 43 44 int8_t sort3_elements(uint32_t a, uint32_t b, uint32_t c); 45 #define a_b_c 0 46 #define a_c_b 1 47 #define b_a_c 2 48 #define b_c_a 3 49 #define c_a_b 4 50 #define c_b_a 5 51 52 #ifdef __cplusplus 53 } 54 #endif 55 #endif // EbMotionEstimation_h 56