21 |
* along with this program ; if not, write to the Free Software |
* along with this program ; if not, write to the Free Software |
22 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
23 |
* |
* |
24 |
* $Id: estimation.h,v 1.2 2004-03-22 22:36:24 edgomez Exp $ |
* $Id: estimation.h,v 1.5 2004-07-08 07:12:54 syskin Exp $ |
25 |
* |
* |
26 |
****************************************************************************/ |
****************************************************************************/ |
27 |
|
|
47 |
|
|
48 |
#define BITS_MULT 16 |
#define BITS_MULT 16 |
49 |
|
|
50 |
#define INITIAL_SKIP_THRESH 10 |
#define INITIAL_SKIP_THRESH 6 |
51 |
#define FINAL_SKIP_THRESH 50 |
#define FINAL_SKIP_THRESH 50 |
52 |
#define MAX_SAD00_FOR_SKIP 20 |
#define MAX_SAD00_FOR_SKIP 20 |
53 |
#define MAX_CHROMA_SAD_FOR_SKIP 22 |
#define MAX_CHROMA_SAD_FOR_SKIP 22 |
78 |
int temp[4]; /* temporary space */ |
int temp[4]; /* temporary space */ |
79 |
unsigned int dir; /* 'direction', set when better vector is found */ |
unsigned int dir; /* 'direction', set when better vector is found */ |
80 |
int chromaX, chromaY, chromaSAD; /* info to make ChromaSAD faster */ |
int chromaX, chromaY, chromaSAD; /* info to make ChromaSAD faster */ |
|
VECTOR currentQMV2; /* extra vector for SubpelRefine_fast */ |
|
|
int32_t iMinSAD2; /* extra SAD value for SubpelRefine_fast */ |
|
81 |
|
|
82 |
/* general fields */ |
/* general fields */ |
83 |
int max_dx, min_dx, max_dy, min_dy; /* maximum range */ |
int max_dx, min_dx, max_dy, min_dy; /* maximum range */ |
102 |
const uint8_t * b_RefP[6]; /* backward reference pictures - N, V, H, HV, cU, cV */ |
const uint8_t * b_RefP[6]; /* backward reference pictures - N, V, H, HV, cU, cV */ |
103 |
VECTOR bpredMV; /* backward prediction - used interpolate mode only */ |
VECTOR bpredMV; /* backward prediction - used interpolate mode only */ |
104 |
uint32_t bFcode; /* backward fcode - used as above */ |
uint32_t bFcode; /* backward fcode - used as above */ |
105 |
|
int b_chromaX, b_chromaY; |
106 |
|
|
107 |
/* fields for direct mode */ |
/* fields for direct mode */ |
108 |
VECTOR directmvF[4]; /* scaled reference vectors */ |
VECTOR directmvF[4]; /* scaled reference vectors */ |
149 |
MainSearchFunc xvid_me_DiamondSearch, xvid_me_AdvDiamondSearch, xvid_me_SquareSearch; |
MainSearchFunc xvid_me_DiamondSearch, xvid_me_AdvDiamondSearch, xvid_me_SquareSearch; |
150 |
|
|
151 |
void |
void |
152 |
xvid_me_SubpelRefine(SearchData * const data, CheckFunc * const CheckCandidate); |
xvid_me_SubpelRefine(VECTOR centerMV, SearchData * const data, CheckFunc * const CheckCandidate, int dir); |
153 |
|
|
154 |
void |
void |
155 |
SubpelRefine_Fast(SearchData * data, CheckFunc * CheckCandidate); |
FullRefine_Fast(SearchData * data, CheckFunc * CheckCandidate, int direction); |
156 |
|
|
157 |
void |
void |
158 |
xvid_me_ModeDecision_RD(SearchData * const Data, |
xvid_me_ModeDecision_RD(SearchData * const Data, |