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

Side by Side Diff: source/libvpx/vp9/common/vp9_entropymode.c

Issue 756673003: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years 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/vp9/common/vp9_entropy.c ('k') | source/libvpx/vp9/common/vp9_entropymv.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 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 343
344 static void adapt_probs(const vp9_tree_index *tree, 344 static void adapt_probs(const vp9_tree_index *tree,
345 const vp9_prob *pre_probs, const unsigned int *counts, 345 const vp9_prob *pre_probs, const unsigned int *counts,
346 vp9_prob *probs) { 346 vp9_prob *probs) {
347 vp9_tree_merge_probs(tree, pre_probs, counts, COUNT_SAT, MAX_UPDATE_FACTOR, 347 vp9_tree_merge_probs(tree, pre_probs, counts, COUNT_SAT, MAX_UPDATE_FACTOR,
348 probs); 348 probs);
349 } 349 }
350 350
351 void vp9_adapt_mode_probs(VP9_COMMON *cm) { 351 void vp9_adapt_mode_probs(VP9_COMMON *cm) {
352 int i, j; 352 int i, j;
353 FRAME_CONTEXT *fc = &cm->fc; 353 FRAME_CONTEXT *fc = cm->fc;
354 const FRAME_CONTEXT *pre_fc = &cm->frame_contexts[cm->frame_context_idx]; 354 const FRAME_CONTEXT *pre_fc = &cm->frame_contexts[cm->frame_context_idx];
355 const FRAME_COUNTS *counts = &cm->counts; 355 const FRAME_COUNTS *counts = &cm->counts;
356 356
357 for (i = 0; i < INTRA_INTER_CONTEXTS; i++) 357 for (i = 0; i < INTRA_INTER_CONTEXTS; i++)
358 fc->intra_inter_prob[i] = adapt_prob(pre_fc->intra_inter_prob[i], 358 fc->intra_inter_prob[i] = adapt_prob(pre_fc->intra_inter_prob[i],
359 counts->intra_inter[i]); 359 counts->intra_inter[i]);
360 for (i = 0; i < COMP_INTER_CONTEXTS; i++) 360 for (i = 0; i < COMP_INTER_CONTEXTS; i++)
361 fc->comp_inter_prob[i] = adapt_prob(pre_fc->comp_inter_prob[i], 361 fc->comp_inter_prob[i] = adapt_prob(pre_fc->comp_inter_prob[i],
362 counts->comp_inter[i]); 362 counts->comp_inter[i]);
363 for (i = 0; i < REF_CONTEXTS; i++) 363 for (i = 0; i < REF_CONTEXTS; i++)
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 444
445 // Reset the mode ref deltas for loop filter 445 // Reset the mode ref deltas for loop filter
446 vp9_zero(lf->last_ref_deltas); 446 vp9_zero(lf->last_ref_deltas);
447 vp9_zero(lf->last_mode_deltas); 447 vp9_zero(lf->last_mode_deltas);
448 set_default_lf_deltas(lf); 448 set_default_lf_deltas(lf);
449 449
450 // To force update of the sharpness 450 // To force update of the sharpness
451 lf->last_sharpness_level = -1; 451 lf->last_sharpness_level = -1;
452 452
453 vp9_default_coef_probs(cm); 453 vp9_default_coef_probs(cm);
454 vp9_init_mode_probs(&cm->fc); 454 vp9_init_mode_probs(cm->fc);
455 vp9_init_mv_probs(cm); 455 vp9_init_mv_probs(cm);
456 456
457 if (cm->frame_type == KEY_FRAME || 457 if (cm->frame_type == KEY_FRAME ||
458 cm->error_resilient_mode || cm->reset_frame_context == 3) { 458 cm->error_resilient_mode || cm->reset_frame_context == 3) {
459 // Reset all frame contexts. 459 // Reset all frame contexts.
460 for (i = 0; i < FRAME_CONTEXTS; ++i) 460 for (i = 0; i < FRAME_CONTEXTS; ++i)
461 cm->frame_contexts[i] = cm->fc; 461 cm->frame_contexts[i] = *cm->fc;
462 } else if (cm->reset_frame_context == 2) { 462 } else if (cm->reset_frame_context == 2) {
463 // Reset only the frame context specified in the frame header. 463 // Reset only the frame context specified in the frame header.
464 cm->frame_contexts[cm->frame_context_idx] = cm->fc; 464 cm->frame_contexts[cm->frame_context_idx] = *cm->fc;
465 } 465 }
466 466
467 if (frame_is_intra_only(cm)) 467 // prev_mip will only be allocated in encoder.
468 if (frame_is_intra_only(cm) && cm->prev_mip)
468 vpx_memset(cm->prev_mip, 0, cm->mi_stride * (cm->mi_rows + 1) * 469 vpx_memset(cm->prev_mip, 0, cm->mi_stride * (cm->mi_rows + 1) *
469 sizeof(*cm->prev_mip)); 470 sizeof(*cm->prev_mip));
470 471
471 vpx_memset(cm->mip, 0, cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->mip)); 472 vpx_memset(cm->mip, 0, cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->mip));
472 473
473 vp9_zero(cm->ref_frame_sign_bias); 474 vp9_zero(cm->ref_frame_sign_bias);
474 475
475 cm->frame_context_idx = 0; 476 cm->frame_context_idx = 0;
476 } 477 }
OLDNEW
« no previous file with comments | « source/libvpx/vp9/common/vp9_entropy.c ('k') | source/libvpx/vp9/common/vp9_entropymv.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698