Lines Matching defs:encvid

70     AVCEncObject *encvid = (AVCEncObject*) avcHandle->AVCObject;
71 AVCRateControl *rateCtrl = encvid->rateCtrl;
78 uint8* subpel_pred = (uint8*) encvid->subpel_pred; // all 16 sub-pel positions
90 encvid->mvbits_array = (uint8*) avcHandle->CBAVC_Malloc(encvid->avcHandle->userData,
93 if (encvid->mvbits_array == NULL)
98 mvbits = encvid->mvbits = encvid->mvbits_array + max_mvd;
110 encvid->hpel_cand[0] = subpel_pred + REF_CENTER;
111 encvid->hpel_cand[1] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 1 ;
112 encvid->hpel_cand[2] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE + 1;
113 encvid->hpel_cand[3] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 25;
114 encvid->hpel_cand[4] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE + 25;
115 encvid->hpel_cand[5] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 25;
116 encvid->hpel_cand[6] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE + 24;
117 encvid->hpel_cand[7] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 24;
118 encvid->hpel_cand[8] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE;
122 encvid->bilin_base[0][0] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE;
123 encvid->bilin_base[0][1] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 1;
124 encvid->bilin_base[0][2] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 24;
125 encvid->bilin_base[0][3] = subpel_pred + REF_CENTER;
128 encvid->bilin_base[1][0] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE;
129 encvid->bilin_base[1][1] = subpel_pred + REF_CENTER - 24;
130 encvid->bilin_base[1][2] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE;
131 encvid->bilin_base[1][3] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 1;
133 encvid->bilin_base[2][0] = subpel_pred + REF_CENTER - 24;
134 encvid->bilin_base[2][1] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 1;
135 encvid->bilin_base[2][2] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 1;
136 encvid->bilin_base[2][3] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE + 1;
138 encvid->bilin_base[3][0] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 1;
139 encvid->bilin_base[3][1] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE + 1;
140 encvid->bilin_base[3][2] = subpel_pred + REF_CENTER;
141 encvid->bilin_base[3][3] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 25;
143 encvid->bilin_base[4][0] = subpel_pred + REF_CENTER;
144 encvid->bilin_base[4][1] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 25;
145 encvid->bilin_base[4][2] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 25;
146 encvid->bilin_base[4][3] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE + 25;
148 encvid->bilin_base[5][0] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 24;
149 encvid->bilin_base[5][1] = subpel_pred + REF_CENTER;
150 encvid->bilin_base[5][2] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE + 24;
151 encvid->bilin_base[5][3] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 25;
153 encvid->bilin_base[6][0] = subpel_pred + REF_CENTER - 1;
154 encvid->bilin_base[6][1] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 24;
155 encvid->bilin_base[6][2] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE + 24;
156 encvid->bilin_base[6][3] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE + 24;
158 encvid->bilin_base[7][0] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE;
159 encvid->bilin_base[7][1] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE;
160 encvid->bilin_base[7][2] = subpel_pred + REF_CENTER - 1;
161 encvid->bilin_base[7][3] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE + 24;
163 encvid->bilin_base[8][0] = subpel_pred + REF_CENTER - 25;
164 encvid->bilin_base[8][1] = subpel_pred + V0Q_H2Q * SUBPEL_PRED_BLK_SIZE;
165 encvid->bilin_base[8][2] = subpel_pred + V2Q_H0Q * SUBPEL_PRED_BLK_SIZE;
166 encvid->bilin_base[8][3] = subpel_pred + V2Q_H2Q * SUBPEL_PRED_BLK_SIZE;
175 AVCEncObject *encvid = (AVCEncObject*) avcHandle->AVCObject;
177 if (encvid->mvbits_array)
179 avcHandle->CBAVC_Free(avcHandle->userData, encvid->mvbits_array);
180 encvid->mvbits = NULL;
237 void AVCMotionEstimation(AVCEncObject *encvid)
239 AVCCommonObj *video = encvid->common;
241 AVCFrameIO *currInput = encvid->currInput;
249 AVCMV *mot_mb_16x16, *mot16x16 = encvid->mot16x16;
251 AVCRateControl *rateCtrl = encvid->rateCtrl;
252 uint8 *intraSearch = encvid->intraSearch;
253 uint FS_en = encvid->fullsearch_enable;
280 encvid->min_cost[i] = 0x7FFFFFFF; /* max value for int */
285 encvid->firstIntraRefreshMBIndx = 0; /* reset this */
306 AVCRasterIntraUpdate(encvid, mblock, totalMB, rateCtrl->intraMBRate);
309 encvid->sad_extra_info = NULL;
359 HTFMPrepareCurMB_AVC(encvid, &htfm_stat, cur, pitch);
361 AVCPrepareCurMB(encvid, cur, pitch);
366 AVCMBMotionSearch(encvid, cur, best_cand, i << 4, j << 4, type_pred,
369 abe_cost = encvid->min_cost[mbnum] = mot_mb_16x16->sad;
406 abe_cost = encvid->min_cost[mbnum] = 0x7FFFFFFF; /* max value for int */
447 encvid->min_cost[i] = 0x7FFFFFFF; /* max value for int */
467 UpdateHTFM(encvid, newvar, exp_lamda, &htfm_stat);
571 void AVCRasterIntraUpdate(AVCEncObject *encvid, AVCMacroblock *mblock, int totalMB, int numRefresh)
575 indx = encvid->firstIntraRefreshMBIndx;
579 encvid->intraSearch[indx++] = 1;
589 encvid->intraSearch[indx++] = 1;
594 encvid->firstIntraRefreshMBIndx = indx; /* update with a new value */
601 void InitHTFM(VideoEncData *encvid, HTFM_Stat *htfm_stat, double *newvar, int *collect)
603 AVCCommonObj *video = encvid->common;
627 // encvid->functionPointer->SAD_MB_PADDING = &SAD_MB_PADDING_HTFM_Collect;
628 encvid->functionPointer->SAD_Macroblock = &SAD_MB_HTFM_Collect;
629 encvid->functionPointer->SAD_MB_HalfPel[0] = NULL;
630 encvid->functionPointer->SAD_MB_HalfPel[1] = &SAD_MB_HP_HTFM_Collectxh;
631 encvid->functionPointer->SAD_MB_HalfPel[2] = &SAD_MB_HP_HTFM_Collectyh;
632 encvid->functionPointer->SAD_MB_HalfPel[3] = &SAD_MB_HP_HTFM_Collectxhyh;
633 encvid->sad_extra_info = (void*)(htfm_stat);
639 // encvid->functionPointer->SAD_MB_PADDING = &SAD_MB_PADDING_HTFM;
640 encvid->functionPointer->SAD_Macroblock = &SAD_MB_HTFM;
641 encvid->functionPointer->SAD_MB_HalfPel[0] = NULL;
642 encvid->functionPointer->SAD_MB_HalfPel[1] = &SAD_MB_HP_HTFMxh;
643 encvid->functionPointer->SAD_MB_HalfPel[2] = &SAD_MB_HP_HTFMyh;
644 encvid->functionPointer->SAD_MB_HalfPel[3] = &SAD_MB_HP_HTFMxhyh;
645 encvid->sad_extra_info = (void*)(encvid->nrmlz_th);
646 offset = encvid->nrmlz_th + 16;
647 offset2 = encvid->nrmlz_th + 32;
687 void UpdateHTFM(AVCEncObject *encvid, double *newvar, double *exp_lamda, HTFM_Stat *htfm_stat)
714 CalcThreshold(HTFM_Pf, exp_lamda, encvid->nrmlz_th);
742 void HTFMPrepareCurMB_AVC(AVCEncObject *encvid, HTFM_Stat *htfm_stat, uint8 *cur, int pitch)
744 AVCCommonObj *video = encvid->common;
745 uint32 *htfmMB = (uint32*)(encvid->currYMB);
757 offset = encvid->nrmlz_th + 16;
806 void AVCPrepareCurMB(AVCEncObject *encvid, uint8 *cur, int pitch)
808 void* tmp = (void*)(encvid->currYMB);
838 AVCEnc_Status AVCMBMotionSearch(AVCEncObject *encvid, AVCMacroblock *currMB, int mbNum,
841 AVCCommonObj *video = encvid->common;
943 encvid->min_cost = 0;
955 void AVCMBMotionSearch(AVCEncObject *encvid, uint8 *cur, uint8 *best_cand[],
958 AVCCommonObj *video = encvid->common;
961 AVCRateControl *rateCtrl = encvid->rateCtrl;
964 void *extra_info = encvid->sad_extra_info;
968 AVCMV *mot16x16 = encvid->mot16x16;
969 int (*SAD_Macroblock)(uint8*, uint8*, int, void*) = encvid->functionPointer->SAD_Macroblock;
985 int lambda_motion = encvid->lambda_motion;
986 uint8 *mvbits = encvid->mvbits;
1006 cur = encvid->currYMB; /* use smaller memory space for current MB */
1053 AVCCandidateSelection(mvx, mvy, &num_can, i0 >> 4, j0 >> 4, encvid, type_pred, &cmvx, &cmvy);
1064 dmin = AVCFullSearch(encvid, ref, cur, &imin, &jmin, ilow, ihigh, jlow, jhigh, cmvx, cmvy);
1074 dmin = AVCFullSearch(encvid, ref, cur, &imin, &jmin, ilow, ihigh, jlow, jhigh, cmvx, cmvy);
1203 encvid->rateCtrl->MADofMB[mbnum] = min_sad / 256.0;
1215 min_sad = AVCFindHalfPelMB(encvid, cur, mot16x16 + mbnum, best_cand[0], i0, j0, *hp_guess, cmvx, cmvy);
1217 encvid->rateCtrl->MADofMB[mbnum] = min_sad / 256.0;
1220 if (encvid->best_qpel_pos == -1)
1222 ncand = encvid->hpel_cand[encvid->best_hpel_pos];
1226 ncand = encvid->qpel_cand[encvid->best_qpel_pos];
1231 encvid->rateCtrl->MADofMB[mbnum] = min_sad / 256.0;
1260 int AVCFullSearch(AVCEncObject *encvid, uint8 *prev, uint8 *cur,
1264 int range = encvid->rateCtrl->mvRange;
1265 AVCPictureData *currPic = encvid->common->currPic;
1271 int (*SAD_Macroblock)(uint8*, uint8*, int, void*) = encvid->functionPointer->SAD_Macroblock;
1272 void *extra_info = encvid->sad_extra_info;
1277 int lambda_motion = encvid->lambda_motion;
1278 uint8 *mvbits = encvid->mvbits;
1340 encvid->rateCtrl->MADofMB[encvid->common->mbNum] = (min_sad / 256.0); // for rate control
1357 AVCEncObject *encvid, int type_pred, int *cmvx, int *cmvy)
1359 AVCCommonObj *video = encvid->common;
1360 AVCMV *mot16x16 = encvid->mot16x16;