659 |
CheckCandidateBits16(const int x, const int y, const int Direction, int * const dir, const SearchData * const data) |
CheckCandidateBits16(const int x, const int y, const int Direction, int * const dir, const SearchData * const data) |
660 |
{ |
{ |
661 |
|
|
662 |
static int16_t in[64], coeff[64]; |
int16_t *in = data->dctSpace, *coeff = data->dctSpace + 64; |
663 |
int32_t bits = 0, sum; |
int32_t bits = 0, sum; |
664 |
VECTOR * current; |
VECTOR * current; |
665 |
const uint8_t * ptr; |
const uint8_t * ptr; |
744 |
CheckCandidateBits8(const int x, const int y, const int Direction, int * const dir, const SearchData * const data) |
CheckCandidateBits8(const int x, const int y, const int Direction, int * const dir, const SearchData * const data) |
745 |
{ |
{ |
746 |
|
|
747 |
static int16_t in[64], coeff[64]; |
int16_t *in = data->dctSpace, *coeff = data->dctSpace + 64; |
748 |
int32_t sum, bits; |
int32_t sum, bits; |
749 |
VECTOR * current; |
VECTOR * current; |
750 |
const uint8_t * ptr; |
const uint8_t * ptr; |
1009 |
VECTOR currentMV[5]; |
VECTOR currentMV[5]; |
1010 |
VECTOR currentQMV[5]; |
VECTOR currentQMV[5]; |
1011 |
int32_t iMinSAD[5]; |
int32_t iMinSAD[5]; |
1012 |
|
DECLARE_ALIGNED_MATRIX(dct_space, 2, 64, int16_t, CACHE_LINE); |
1013 |
SearchData Data; |
SearchData Data; |
1014 |
memset(&Data, 0, sizeof(SearchData)); |
memset(&Data, 0, sizeof(SearchData)); |
1015 |
Data.iEdgedWidth = iEdgedWidth; |
Data.iEdgedWidth = iEdgedWidth; |
1022 |
Data.qpel = pParam->m_quarterpel; |
Data.qpel = pParam->m_quarterpel; |
1023 |
Data.chroma = MotionFlags & PMV_CHROMA16; |
Data.chroma = MotionFlags & PMV_CHROMA16; |
1024 |
Data.rrv = current->global_flags & XVID_REDUCED; |
Data.rrv = current->global_flags & XVID_REDUCED; |
1025 |
|
Data.dctSpace = dct_space; |
1026 |
|
|
1027 |
if ((current->global_flags & XVID_REDUCED)) { |
if ((current->global_flags & XVID_REDUCED)) { |
1028 |
mb_width = (pParam->width + 31) / 32; |
mb_width = (pParam->width + 31) / 32; |
2549 |
int cbp = 0, bits = 0, t = 0, i, iDirection; |
int cbp = 0, bits = 0, t = 0, i, iDirection; |
2550 |
SearchData Data2, *Data8 = &Data2; |
SearchData Data2, *Data8 = &Data2; |
2551 |
int sumx = 0, sumy = 0; |
int sumx = 0, sumy = 0; |
2552 |
int16_t in[64], coeff[64]; |
int16_t *in = Data->dctSpace, *coeff = Data->dctSpace + 64; |
2553 |
|
|
2554 |
memcpy(Data8, Data, sizeof(SearchData)); |
memcpy(Data8, Data, sizeof(SearchData)); |
2555 |
CheckCandidate = CheckCandidateBits8; |
CheckCandidate = CheckCandidateBits8; |
2691 |
int bits = 1; //this one is ac/dc prediction flag. always 1. |
int bits = 1; //this one is ac/dc prediction flag. always 1. |
2692 |
int cbp = 0, i, t, dc = 0, b_dc = 1024; |
int cbp = 0, i, t, dc = 0, b_dc = 1024; |
2693 |
const uint32_t iQuant = Data->lambda16; |
const uint32_t iQuant = Data->lambda16; |
2694 |
int16_t in[64], coeff[64]; |
int16_t *in = Data->dctSpace, * coeff = Data->dctSpace + 64; |
2695 |
|
|
2696 |
for(i = 0; i < 4; i++) { |
for(i = 0; i < 4; i++) { |
2697 |
uint32_t iDcScaler = get_dc_scaler(iQuant, 1); |
uint32_t iDcScaler = get_dc_scaler(iQuant, 1); |