19 |
* along with this program ; if not, write to the Free Software |
* along with this program ; if not, write to the Free Software |
20 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 |
* |
* |
22 |
* $Id: vop_type_decision.c,v 1.1.2.2 2003-09-30 18:20:31 edgomez Exp $ |
* $Id: vop_type_decision.c,v 1.1.2.3 2003-11-15 14:48:41 syskin Exp $ |
23 |
* |
* |
24 |
****************************************************************************/ |
****************************************************************************/ |
25 |
|
|
33 |
#include "motion_inlines.h" |
#include "motion_inlines.h" |
34 |
|
|
35 |
|
|
36 |
#define INTRA_THRESH 2200 |
#define INTRA_THRESH 2000 |
37 |
#define INTER_THRESH 40 |
#define INTER_THRESH 40 |
38 |
#define INTRA_THRESH2 95 |
#define INTRA_THRESH2 90 |
39 |
|
|
40 |
static void |
static void |
41 |
CheckCandidate32I(const int x, const int y, const SearchData * const data, const unsigned int Direction) |
CheckCandidate32I(const int x, const int y, const SearchData * const data, const unsigned int Direction) |
147 |
MACROBLOCK * const pMBs = Current->mbs; |
MACROBLOCK * const pMBs = Current->mbs; |
148 |
const IMAGE * const pCurrent = &Current->image; |
const IMAGE * const pCurrent = &Current->image; |
149 |
int IntraThresh = INTRA_THRESH, InterThresh = INTER_THRESH + b_thresh; |
int IntraThresh = INTRA_THRESH, InterThresh = INTER_THRESH + b_thresh; |
150 |
int blocks = 0; |
int blocks = 10; |
151 |
int complexity = 0; |
int complexity = 0; |
152 |
|
|
153 |
int32_t iMinSAD[5], temp[5]; |
int32_t iMinSAD[5], temp[5]; |
215 |
|
|
216 |
sSAD /= complexity + 4*blocks; |
sSAD /= complexity + 4*blocks; |
217 |
|
|
218 |
if (intraCount > 80 && sSAD > INTRA_THRESH2 ) return I_VOP; |
if (intraCount > 60 && sSAD > INTRA_THRESH2 ) return I_VOP; |
219 |
if (sSAD > InterThresh ) return P_VOP; |
if (sSAD > InterThresh ) return P_VOP; |
220 |
emms(); |
emms(); |
221 |
return B_VOP; |
return B_VOP; |