Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: source/libvpx/vp8/encoder/variance.h

Issue 7671004: Update libvpx snapshot to v0.9.7-p1 (Cayuga). (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « source/libvpx/vp8/encoder/tokenize.c ('k') | source/libvpx/vp8/encoder/variance_c.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 int rp, \ 94 int rp, \
95 unsigned long *sum_s, \ 95 unsigned long *sum_s, \
96 unsigned long *sum_r, \ 96 unsigned long *sum_r, \
97 unsigned long *sum_sq_s, \ 97 unsigned long *sum_sq_s, \
98 unsigned long *sum_sq_r, \ 98 unsigned long *sum_sq_r, \
99 unsigned long *sum_sxr \ 99 unsigned long *sum_sxr \
100 ); 100 );
101 101
102 #define prototype_getmbss(sym) unsigned int (sym)(const short *) 102 #define prototype_getmbss(sym) unsigned int (sym)(const short *)
103 103
104 #define prototype_get16x16prederror(sym)\
105 unsigned int (sym)\
106 (\
107 const unsigned char *src_ptr, \
108 int source_stride, \
109 const unsigned char *ref_ptr, \
110 int ref_stride \
111 )
112
104 #if ARCH_X86 || ARCH_X86_64 113 #if ARCH_X86 || ARCH_X86_64
105 #include "x86/variance_x86.h" 114 #include "x86/variance_x86.h"
106 #endif 115 #endif
107 116
108 #if ARCH_ARM 117 #if ARCH_ARM
109 #include "arm/variance_arm.h" 118 #include "arm/variance_arm.h"
110 #endif 119 #endif
111 120
112 #ifndef vp8_variance_sad4x4 121 #ifndef vp8_variance_sad4x4
113 #define vp8_variance_sad4x4 vp8_sad4x4_c 122 #define vp8_variance_sad4x4 vp8_sad4x4_c
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 #ifndef vp8_variance_sad8x16x4d 215 #ifndef vp8_variance_sad8x16x4d
207 #define vp8_variance_sad8x16x4d vp8_sad8x16x4d_c 216 #define vp8_variance_sad8x16x4d vp8_sad8x16x4d_c
208 #endif 217 #endif
209 extern prototype_sad_multi_dif_address(vp8_variance_sad8x16x4d); 218 extern prototype_sad_multi_dif_address(vp8_variance_sad8x16x4d);
210 219
211 #ifndef vp8_variance_sad4x4x4d 220 #ifndef vp8_variance_sad4x4x4d
212 #define vp8_variance_sad4x4x4d vp8_sad4x4x4d_c 221 #define vp8_variance_sad4x4x4d vp8_sad4x4x4d_c
213 #endif 222 #endif
214 extern prototype_sad_multi_dif_address(vp8_variance_sad4x4x4d); 223 extern prototype_sad_multi_dif_address(vp8_variance_sad4x4x4d);
215 224
225 #if ARCH_X86 || ARCH_X86_64
226 #ifndef vp8_variance_copy32xn
227 #define vp8_variance_copy32xn vp8_copy32xn_c
228 #endif
229 extern prototype_sad(vp8_variance_copy32xn);
230 #endif
231
216 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 232 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
217 233
218 #ifndef vp8_variance_var4x4 234 #ifndef vp8_variance_var4x4
219 #define vp8_variance_var4x4 vp8_variance4x4_c 235 #define vp8_variance_var4x4 vp8_variance4x4_c
220 #endif 236 #endif
221 extern prototype_variance(vp8_variance_var4x4); 237 extern prototype_variance(vp8_variance_var4x4);
222 238
223 #ifndef vp8_variance_var8x8 239 #ifndef vp8_variance_var8x8
224 #define vp8_variance_var8x8 vp8_variance8x8_c 240 #define vp8_variance_var8x8 vp8_variance8x8_c
225 #endif 241 #endif
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 #ifndef vp8_variance_getmbss 308 #ifndef vp8_variance_getmbss
293 #define vp8_variance_getmbss vp8_get_mb_ss_c 309 #define vp8_variance_getmbss vp8_get_mb_ss_c
294 #endif 310 #endif
295 extern prototype_getmbss(vp8_variance_getmbss); 311 extern prototype_getmbss(vp8_variance_getmbss);
296 312
297 #ifndef vp8_variance_mse16x16 313 #ifndef vp8_variance_mse16x16
298 #define vp8_variance_mse16x16 vp8_mse16x16_c 314 #define vp8_variance_mse16x16 vp8_mse16x16_c
299 #endif 315 #endif
300 extern prototype_variance(vp8_variance_mse16x16); 316 extern prototype_variance(vp8_variance_mse16x16);
301 317
302 #ifndef vp8_variance_get16x16prederror
303 #define vp8_variance_get16x16prederror vp8_get16x16pred_error_c
304 #endif
305 extern prototype_sad(vp8_variance_get16x16prederror);
306
307 #ifndef vp8_variance_get8x8var
308 #define vp8_variance_get8x8var vp8_get8x8var_c
309 #endif
310 extern prototype_variance2(vp8_variance_get8x8var);
311
312 #ifndef vp8_variance_get16x16var
313 #define vp8_variance_get16x16var vp8_get16x16var_c
314 #endif
315 extern prototype_variance2(vp8_variance_get16x16var);
316
317 #ifndef vp8_variance_get4x4sse_cs 318 #ifndef vp8_variance_get4x4sse_cs
318 #define vp8_variance_get4x4sse_cs vp8_get4x4sse_cs_c 319 #define vp8_variance_get4x4sse_cs vp8_get4x4sse_cs_c
319 #endif 320 #endif
320 extern prototype_sad(vp8_variance_get4x4sse_cs); 321 extern prototype_get16x16prederror(vp8_variance_get4x4sse_cs);
321 322
322 #ifndef vp8_ssimpf 323 #ifndef vp8_ssimpf
323 #define vp8_ssimpf ssim_parms_c 324 #define vp8_ssimpf ssim_parms_c
324 #endif 325 #endif
325 extern prototype_ssimpf(vp8_ssimpf) 326 extern prototype_ssimpf(vp8_ssimpf)
326 327
327 #ifndef vp8_ssimpf_8x8 328 #ifndef vp8_ssimpf_8x8
328 #define vp8_ssimpf_8x8 ssim_parms_8x8_c 329 #define vp8_ssimpf_8x8 ssim_parms_8x8_c
329 #endif 330 #endif
330 extern prototype_ssimpf(vp8_ssimpf_8x8) 331 extern prototype_ssimpf(vp8_ssimpf_8x8)
331 332
332 typedef prototype_sad(*vp8_sad_fn_t); 333 typedef prototype_sad(*vp8_sad_fn_t);
333 typedef prototype_sad_multi_same_address(*vp8_sad_multi_fn_t); 334 typedef prototype_sad_multi_same_address(*vp8_sad_multi_fn_t);
334 typedef prototype_sad_multi_same_address_1(*vp8_sad_multi1_fn_t); 335 typedef prototype_sad_multi_same_address_1(*vp8_sad_multi1_fn_t);
335 typedef prototype_sad_multi_dif_address(*vp8_sad_multi_d_fn_t); 336 typedef prototype_sad_multi_dif_address(*vp8_sad_multi_d_fn_t);
336 typedef prototype_variance(*vp8_variance_fn_t); 337 typedef prototype_variance(*vp8_variance_fn_t);
337 typedef prototype_variance2(*vp8_variance2_fn_t); 338 typedef prototype_variance2(*vp8_variance2_fn_t);
338 typedef prototype_subpixvariance(*vp8_subpixvariance_fn_t); 339 typedef prototype_subpixvariance(*vp8_subpixvariance_fn_t);
339 typedef prototype_getmbss(*vp8_getmbss_fn_t); 340 typedef prototype_getmbss(*vp8_getmbss_fn_t);
340 341 typedef prototype_ssimpf(*vp8_ssimpf_fn_t);
341 typedef prototype_ssimpf(*vp8_ssimpf_fn_t) 342 typedef prototype_get16x16prederror(*vp8_get16x16prederror_fn_t);
342
343 343
344 typedef struct 344 typedef struct
345 { 345 {
346 vp8_sad_fn_t sad4x4; 346 vp8_sad_fn_t sad4x4;
347 vp8_sad_fn_t sad8x8; 347 vp8_sad_fn_t sad8x8;
348 vp8_sad_fn_t sad8x16; 348 vp8_sad_fn_t sad8x16;
349 vp8_sad_fn_t sad16x8; 349 vp8_sad_fn_t sad16x8;
350 vp8_sad_fn_t sad16x16; 350 vp8_sad_fn_t sad16x16;
351 351
352 vp8_variance_fn_t var4x4; 352 vp8_variance_fn_t var4x4;
353 vp8_variance_fn_t var8x8; 353 vp8_variance_fn_t var8x8;
354 vp8_variance_fn_t var8x16; 354 vp8_variance_fn_t var8x16;
355 vp8_variance_fn_t var16x8; 355 vp8_variance_fn_t var16x8;
356 vp8_variance_fn_t var16x16; 356 vp8_variance_fn_t var16x16;
357 357
358 vp8_subpixvariance_fn_t subpixvar4x4; 358 vp8_subpixvariance_fn_t subpixvar4x4;
359 vp8_subpixvariance_fn_t subpixvar8x8; 359 vp8_subpixvariance_fn_t subpixvar8x8;
360 vp8_subpixvariance_fn_t subpixvar8x16; 360 vp8_subpixvariance_fn_t subpixvar8x16;
361 vp8_subpixvariance_fn_t subpixvar16x8; 361 vp8_subpixvariance_fn_t subpixvar16x8;
362 vp8_subpixvariance_fn_t subpixvar16x16; 362 vp8_subpixvariance_fn_t subpixvar16x16;
363 vp8_variance_fn_t halfpixvar16x16_h; 363 vp8_variance_fn_t halfpixvar16x16_h;
364 vp8_variance_fn_t halfpixvar16x16_v; 364 vp8_variance_fn_t halfpixvar16x16_v;
365 vp8_variance_fn_t halfpixvar16x16_hv; 365 vp8_variance_fn_t halfpixvar16x16_hv;
366 vp8_subpixvariance_fn_t subpixmse16x16; 366 vp8_subpixvariance_fn_t subpixmse16x16;
367 367
368 vp8_getmbss_fn_t getmbss; 368 vp8_getmbss_fn_t getmbss;
369 vp8_variance_fn_t mse16x16; 369 vp8_variance_fn_t mse16x16;
370 370
371 vp8_sad_fn_t get16x16prederror; 371 vp8_get16x16prederror_fn_t get4x4sse_cs;
372 vp8_variance2_fn_t get8x8var;
373 vp8_variance2_fn_t get16x16var;
374 vp8_sad_fn_t get4x4sse_cs;
375 372
376 vp8_sad_multi_fn_t sad16x16x3; 373 vp8_sad_multi_fn_t sad16x16x3;
377 vp8_sad_multi_fn_t sad16x8x3; 374 vp8_sad_multi_fn_t sad16x8x3;
378 vp8_sad_multi_fn_t sad8x16x3; 375 vp8_sad_multi_fn_t sad8x16x3;
379 vp8_sad_multi_fn_t sad8x8x3; 376 vp8_sad_multi_fn_t sad8x8x3;
380 vp8_sad_multi_fn_t sad4x4x3; 377 vp8_sad_multi_fn_t sad4x4x3;
381 378
382 vp8_sad_multi1_fn_t sad16x16x8; 379 vp8_sad_multi1_fn_t sad16x16x8;
383 vp8_sad_multi1_fn_t sad16x8x8; 380 vp8_sad_multi1_fn_t sad16x8x8;
384 vp8_sad_multi1_fn_t sad8x16x8; 381 vp8_sad_multi1_fn_t sad8x16x8;
385 vp8_sad_multi1_fn_t sad8x8x8; 382 vp8_sad_multi1_fn_t sad8x8x8;
386 vp8_sad_multi1_fn_t sad4x4x8; 383 vp8_sad_multi1_fn_t sad4x4x8;
387 384
388 vp8_sad_multi_d_fn_t sad16x16x4d; 385 vp8_sad_multi_d_fn_t sad16x16x4d;
389 vp8_sad_multi_d_fn_t sad16x8x4d; 386 vp8_sad_multi_d_fn_t sad16x8x4d;
390 vp8_sad_multi_d_fn_t sad8x16x4d; 387 vp8_sad_multi_d_fn_t sad8x16x4d;
391 vp8_sad_multi_d_fn_t sad8x8x4d; 388 vp8_sad_multi_d_fn_t sad8x8x4d;
392 vp8_sad_multi_d_fn_t sad4x4x4d; 389 vp8_sad_multi_d_fn_t sad4x4x4d;
393 390
394 #if CONFIG_PSNR 391 #if ARCH_X86 || ARCH_X86_64
392 vp8_sad_fn_t copy32xn;
393 #endif
394
395 #if CONFIG_INTERNAL_STATS
395 vp8_ssimpf_fn_t ssimpf_8x8; 396 vp8_ssimpf_fn_t ssimpf_8x8;
396 vp8_ssimpf_fn_t ssimpf; 397 vp8_ssimpf_fn_t ssimpf;
397 #endif 398 #endif
398 399
399 } vp8_variance_rtcd_vtable_t; 400 } vp8_variance_rtcd_vtable_t;
400 401
401 typedef struct 402 typedef struct
402 { 403 {
403 vp8_sad_fn_t sdf; 404 vp8_sad_fn_t sdf;
404 vp8_variance_fn_t vf; 405 vp8_variance_fn_t vf;
405 vp8_subpixvariance_fn_t svf; 406 vp8_subpixvariance_fn_t svf;
406 vp8_variance_fn_t svf_halfpix_h; 407 vp8_variance_fn_t svf_halfpix_h;
407 vp8_variance_fn_t svf_halfpix_v; 408 vp8_variance_fn_t svf_halfpix_v;
408 vp8_variance_fn_t svf_halfpix_hv; 409 vp8_variance_fn_t svf_halfpix_hv;
409 vp8_sad_multi_fn_t sdx3f; 410 vp8_sad_multi_fn_t sdx3f;
410 vp8_sad_multi1_fn_t sdx8f; 411 vp8_sad_multi1_fn_t sdx8f;
411 vp8_sad_multi_d_fn_t sdx4df; 412 vp8_sad_multi_d_fn_t sdx4df;
412 413 #if ARCH_X86 || ARCH_X86_64
414 vp8_sad_fn_t copymem;
415 #endif
413 } vp8_variance_fn_ptr_t; 416 } vp8_variance_fn_ptr_t;
414 417
415 #if CONFIG_RUNTIME_CPU_DETECT 418 #if CONFIG_RUNTIME_CPU_DETECT
416 #define VARIANCE_INVOKE(ctx,fn) (ctx)->fn 419 #define VARIANCE_INVOKE(ctx,fn) (ctx)->fn
417 #else 420 #else
418 #define VARIANCE_INVOKE(ctx,fn) vp8_variance_##fn 421 #define VARIANCE_INVOKE(ctx,fn) vp8_variance_##fn
419 #endif 422 #endif
420 423
421 #endif 424 #endif
OLDNEW
« no previous file with comments | « source/libvpx/vp8/encoder/tokenize.c ('k') | source/libvpx/vp8/encoder/variance_c.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698