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

Side by Side Diff: source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c

Issue 996503002: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « source/libvpx/vp9/decoder/vp9_dthread.c ('k') | source/libvpx/vp9/encoder/vp9_avg.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) 2014 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2014 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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 return; 361 return;
362 } else { 362 } else {
363 int qindex_delta = 0; 363 int qindex_delta = 0;
364 int qindex2; 364 int qindex2;
365 const double q = vp9_convert_qindex_to_q(cm->base_qindex, cm->bit_depth); 365 const double q = vp9_convert_qindex_to_q(cm->base_qindex, cm->bit_depth);
366 vp9_clear_system_state(); 366 vp9_clear_system_state();
367 cr->max_qdelta_perc = 50; 367 cr->max_qdelta_perc = 50;
368 cr->time_for_refresh = 0; 368 cr->time_for_refresh = 0;
369 // Set rate threshold to some multiple (set to 2 for now) of the target 369 // Set rate threshold to some multiple (set to 2 for now) of the target
370 // rate (target is given by sb64_target_rate and scaled by 256). 370 // rate (target is given by sb64_target_rate and scaled by 256).
371 cr->thresh_rate_sb = (rc->sb64_target_rate << 8) << 1; 371 cr->thresh_rate_sb = ((int64_t)(rc->sb64_target_rate) << 8) << 1;
372 // Distortion threshold, quadratic in Q, scale factor to be adjusted. 372 // Distortion threshold, quadratic in Q, scale factor to be adjusted.
373 cr->thresh_dist_sb = (int)(q * q) << 2; 373 // q will not exceed 457, so (q * q) is within 32bit; see:
374 // vp9_convert_qindex_to_q(), vp9_ac_quant(), ac_qlookup*[].
375 cr->thresh_dist_sb = ((int64_t)(q * q)) << 2;
374 cr->motion_thresh = 32; 376 cr->motion_thresh = 32;
375 // Set up segmentation. 377 // Set up segmentation.
376 // Clear down the segment map. 378 // Clear down the segment map.
377 vp9_enable_segmentation(&cm->seg); 379 vp9_enable_segmentation(&cm->seg);
378 vp9_clearall_segfeatures(seg); 380 vp9_clearall_segfeatures(seg);
379 // Select delta coding method. 381 // Select delta coding method.
380 seg->abs_delta = SEGMENT_DELTADATA; 382 seg->abs_delta = SEGMENT_DELTADATA;
381 383
382 // Note: setting temporal_update has no effect, as the seg-map coding method 384 // Note: setting temporal_update has no effect, as the seg-map coding method
383 // (temporal or spatial) is determined in vp9_choose_segmap_coding_method(), 385 // (temporal or spatial) is determined in vp9_choose_segmap_coding_method(),
(...skipping 25 matching lines...) Expand all
409 vp9_set_segdata(seg, CR_SEGMENT_ID_BOOST2, SEG_LVL_ALT_Q, qindex_delta); 411 vp9_set_segdata(seg, CR_SEGMENT_ID_BOOST2, SEG_LVL_ALT_Q, qindex_delta);
410 412
411 // Update the segmentation and refresh map. 413 // Update the segmentation and refresh map.
412 vp9_cyclic_refresh_update_map(cpi); 414 vp9_cyclic_refresh_update_map(cpi);
413 } 415 }
414 } 416 }
415 417
416 int vp9_cyclic_refresh_get_rdmult(const CYCLIC_REFRESH *cr) { 418 int vp9_cyclic_refresh_get_rdmult(const CYCLIC_REFRESH *cr) {
417 return cr->rdmult; 419 return cr->rdmult;
418 } 420 }
OLDNEW
« no previous file with comments | « source/libvpx/vp9/decoder/vp9_dthread.c ('k') | source/libvpx/vp9/encoder/vp9_avg.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698