av1/encoder/motion_search_facade.c
// Wrapper for av1_compound_single_motion_search, for the common case
// where the second prediction is also an inter mode.
Wrapper for av1_compound_single_motion_search, for the common case
where the second prediction is also an inter mode.
Wrapper for av1_compound_single_motion_search for the common case where the second prediction is also an inter mode .
void av1_compound_single_motion_search_interinter(
    const AV1_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bsize, int_mv *cur_mv,
    const uint8_t *mask, int mask_stride, int *rate_mv, int ref_idx) {
  MACROBLOCKD *xd = &x->e_mbd;
  assert(has_second_ref(xd->mi[0]));
  DECLARE_ALIGNED(16, uint16_t, second_pred_alloc_16[MAX_SB_SQUARE]);
  uint8_t *second_pred;
  if (is_cur_buf_hbd(xd))
    second_pred = CONVERT_TO_BYTEPTR(second_pred_alloc_16);
  else
    second_pred = (uint8_t *)second_pred_alloc_16;
  MV *this_mv = &cur_mv[ref_idx].as_mv;
  const MV *other_mv = &cur_mv[!ref_idx].as_mv;
  build_second_inter_pred(cpi, x, bsize, other_mv, ref_idx, second_pred);
  av1_compound_single_motion_search(cpi, x, bsize, this_mv, second_pred, mask,
                                    mask_stride, rate_mv, ref_idx);
}
void av1_compound_single_motion_search_interinter ( const AV1_COMP * cpi , MACROBLOCK * x , BLOCK_SIZE bsize , int_mv * cur_mv , const uint8_t * mask , int mask_stride , int * rate_mv , int ref_idx ) { MACROBLOCKD * xd = & x -> e_mbd ; assert ( has_second_ref ( xd -> mi [ 0 ] ) ) ; DECLARE_ALIGNED ( 16 , uint16_t , second_pred_alloc_16 [ MAX_SB_SQUARE ] ) ; uint8_t * second_pred ; if ( is_cur_buf_hbd ( xd ) ) second_pred = CONVERT_TO_BYTEPTR ( second_pred_alloc_16 ) ; else second_pred = ( uint8_t * ) second_pred_alloc_16 ; MV * this_mv = & cur_mv [ ref_idx ] . as_mv ; const MV * other_mv = & cur_mv [ ! ref_idx ] . as_mv ; build_second_inter_pred ( cpi , x , bsize , other_mv , ref_idx , second_pred ) ; av1_compound_single_motion_search ( cpi , x , bsize , this_mv , second_pred , mask , mask_stride , rate_mv , ref_idx ) ; }
Wrapper for av1_compound_single_motion_search, for the common case
where the second prediction is also an inter mode.
Wrapper for av1_compound_single_motion_search for the common case where the second prediction is also an inter mode .
// This function should only ever be called for compound modes // Prediction buffer from second frame.