/** * * File Name: armVCM4P2_CompareMV.c * OpenMAX DL: v1.0.2 * Revision: 9641 * Date: Thursday, February 7, 2008 * * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. * * * * Description: * Contains module for comparing motion vectors and SAD's to decide * the best MV and SAD * */ #include "omxtypes.h" #include "armOMX.h" #include "armVC.h" #include "armCOMM.h" /** * Function: armVCM4P2_CompareMV * * Description: * Performs comparision of motion vectors and SAD's to decide the * best MV and SAD * * Remarks: * * Parameters: * [in] mvX x coordinate of the candidate motion vector * [in] mvY y coordinate of the candidate motion vector * [in] candSAD Candidate SAD * [in] bestMVX x coordinate of the best motion vector * [in] bestMVY y coordinate of the best motion vector * [in] bestSAD best SAD * * Return Value: * OMX_INT -- 1 to indicate that the current sad is the best * 0 to indicate that it is NOT the best SAD */ OMX_INT armVCM4P2_CompareMV ( OMX_S16 mvX, OMX_S16 mvY, OMX_INT candSAD, OMX_S16 bestMVX, OMX_S16 bestMVY, OMX_INT bestSAD ) { if (candSAD < bestSAD) { return 1; } if (candSAD > bestSAD) { return 0; } /* shorter motion vector */ if ( (mvX * mvX + mvY * mvY) < (bestMVX*bestMVX+bestMVY*bestMVY) ) { return 1; } return 0; } /*End of File*/