1 /* 2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved 3 * 4 * This source code is subject to the terms of the BSD 2 Clause License and 5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License 6 * was not distributed with this source code in the LICENSE file, you can 7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open 8 * Media Patent License 1.0 was not distributed with this source code in the 9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent. 10 */ 11 12 #ifndef AV1_ENCODER_ENCODEMV_H_ 13 #define AV1_ENCODER_ENCODEMV_H_ 14 15 #include "av1/encoder/encoder.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 void av1_entropy_mv_init(void); 22 23 #if !CONFIG_NEW_MULTISYMBOL 24 void av1_write_nmv_probs(AV1_COMMON *cm, int usehp, aom_writer *w, 25 nmv_context_counts *const counts); 26 #endif 27 28 void av1_encode_mv(AV1_COMP *cpi, aom_writer *w, const MV *mv, const MV *ref, 29 nmv_context *mvctx, int usehp); 30 31 void av1_build_nmv_cost_table(int *mvjoint, int *mvcost[2], 32 const nmv_context *mvctx, 33 MvSubpelPrecision precision); 34 35 void av1_update_mv_count(ThreadData *td); 36 37 #if CONFIG_INTRABC 38 void av1_encode_dv(aom_writer *w, const MV *mv, const MV *ref, 39 nmv_context *mvctx); 40 #endif // CONFIG_INTRABC 41 42 #ifdef __cplusplus 43 } // extern "C" 44 #endif 45 46 #endif // AV1_ENCODER_ENCODEMV_H_ 47