• Home
  • Raw
  • Download

Lines Matching refs:dim

49     int dim;  member
61 static inline int distance_limited(int *a, int *b, int dim, int limit) in distance_limited() argument
64 for (i=0; i<dim; i++) { in distance_limited()
73 static inline void vect_division(int *res, int *vect, int div, int dim) in vect_division() argument
77 for (i=0; i<dim; i++) in vect_division()
80 memcpy(res, vect, dim*sizeof(int)); in vect_division()
88 … error += distance_limited(centroid, elbg->points + cells->index*elbg->dim, elbg->dim, INT_MAX); in eval_error_cell()
98 …diff = distance_limited(elbg->codebook + i*elbg->dim, elbg->codebook + index*elbg->dim, elbg->dim,… in get_closest_codebook()
133 int dim, in simple_lbg() argument
142 elbg->scratchbuf + 3*dim, in simple_lbg()
143 elbg->scratchbuf + 4*dim in simple_lbg()
147 memset(newcentroid[0], 0, 2 * dim * sizeof(*newcentroid[0])); in simple_lbg()
153 idx = distance_limited(centroid[0], points + tempcell->index*dim, dim, INT_MAX)>= in simple_lbg()
154 distance_limited(centroid[1], points + tempcell->index*dim, dim, INT_MAX); in simple_lbg()
156 for (i=0; i<dim; i++) in simple_lbg()
157 newcentroid[idx][i] += points[tempcell->index*dim + i]; in simple_lbg()
160 vect_division(centroid[0], newcentroid[0], numpoints[0], dim); in simple_lbg()
161 vect_division(centroid[1], newcentroid[1], numpoints[1], dim); in simple_lbg()
164 int dist[2] = {distance_limited(centroid[0], points + tempcell->index*dim, dim, INT_MAX), in simple_lbg()
165 distance_limited(centroid[1], points + tempcell->index*dim, dim, INT_MAX)}; in simple_lbg()
181 for (i=0; i< elbg->dim; i++) { in get_new_centroids()
187 for(i=0; i<elbg->dim; i++) { in get_new_centroids()
188 min[i]=FFMIN(min[i], elbg->points[tempcell->index*elbg->dim + i]); in get_new_centroids()
189 max[i]=FFMAX(max[i], elbg->points[tempcell->index*elbg->dim + i]); in get_new_centroids()
192 for (i=0; i<elbg->dim; i++) { in get_new_centroids()
226 int idx = distance_limited(elbg->points + tempdata->index*elbg->dim, in shift_codebook()
227 newcentroid[0], elbg->dim, INT_MAX) > in shift_codebook()
228 distance_limited(elbg->points + tempdata->index*elbg->dim, in shift_codebook()
229 newcentroid[1], elbg->dim, INT_MAX); in shift_codebook()
272 elbg->scratchbuf + elbg->dim, in try_shift_candidate()
273 elbg->scratchbuf + 2*elbg->dim in try_shift_candidate()
280 memset(newcentroid[2], 0, elbg->dim*sizeof(int)); in try_shift_candidate()
285 for (j=0; j<elbg->dim; j++) in try_shift_candidate()
286 newcentroid[2][j] += elbg->points[tempcell->index*elbg->dim + j]; in try_shift_candidate()
289 vect_division(newcentroid[2], newcentroid[2], cont, elbg->dim); in try_shift_candidate()
298 newerror += simple_lbg(elbg, elbg->dim, newcentroid, newutility, elbg->points, in try_shift_candidate()
337 int avpriv_init_elbg(int *points, int dim, int numpoints, int *codebook, in avpriv_init_elbg() argument
346 int *temp_points = av_malloc_array(dim, (numpoints/8)*sizeof(int)); in avpriv_init_elbg()
351 memcpy(temp_points + i*dim, points + k*dim, dim*sizeof(int)); in avpriv_init_elbg()
354 ret = avpriv_init_elbg(temp_points, dim, numpoints / 8, codebook, in avpriv_init_elbg()
360 ret = avpriv_do_elbg(temp_points, dim, numpoints / 8, codebook, in avpriv_init_elbg()
366 memcpy(codebook + i*dim, points + ((i*BIG_PRIME)%numpoints)*dim, in avpriv_init_elbg()
367 dim*sizeof(int)); in avpriv_init_elbg()
371 int avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook, in avpriv_do_elbg() argument
386 elbg->dim = dim; in avpriv_do_elbg()
394 elbg->scratchbuf = av_malloc_array(5*dim, sizeof(int)); in avpriv_do_elbg()
416 …best_dist = distance_limited(elbg->points + i*elbg->dim, elbg->codebook + best_idx*elbg->dim, dim,… in avpriv_do_elbg()
418 … dist = distance_limited(elbg->points + i*elbg->dim, elbg->codebook + k*elbg->dim, dim, best_dist); in avpriv_do_elbg()
438 memset(elbg->codebook, 0, elbg->numCB*dim*sizeof(int)); in avpriv_do_elbg()
442 for (j=0; j < elbg->dim; j++) in avpriv_do_elbg()
443 elbg->codebook[elbg->nearest_cb[i]*elbg->dim + j] += in avpriv_do_elbg()
444 elbg->points[i*elbg->dim + j]; in avpriv_do_elbg()
448 vect_division(elbg->codebook + i*elbg->dim, in avpriv_do_elbg()
449 elbg->codebook + i*elbg->dim, size_part[i], elbg->dim); in avpriv_do_elbg()