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

Side by Side Diff: source/libvpx/vp8/encoder/pickinter.c

Issue 341293003: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 6 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/onyx_if.c ('k') | source/libvpx/vp8/encoder/rdopt.h » ('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 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 int mdcounts[4]; 583 int mdcounts[4];
584 int best_rd = INT_MAX; 584 int best_rd = INT_MAX;
585 int rd_adjustment = 100; 585 int rd_adjustment = 100;
586 int best_intra_rd = INT_MAX; 586 int best_intra_rd = INT_MAX;
587 int mode_index; 587 int mode_index;
588 int rate; 588 int rate;
589 int rate2; 589 int rate2;
590 int distortion2; 590 int distortion2;
591 int bestsme = INT_MAX; 591 int bestsme = INT_MAX;
592 int best_mode_index = 0; 592 int best_mode_index = 0;
593 unsigned int sse = INT_MAX, best_rd_sse = INT_MAX; 593 unsigned int sse = UINT_MAX, best_rd_sse = UINT_MAX;
594 #if CONFIG_TEMPORAL_DENOISING 594 #if CONFIG_TEMPORAL_DENOISING
595 unsigned int zero_mv_sse = INT_MAX, best_sse = INT_MAX; 595 unsigned int zero_mv_sse = UINT_MAX, best_sse = UINT_MAX;
596 #endif 596 #endif
597 597
598 int sf_improved_mv_pred = cpi->sf.improved_mv_pred; 598 int sf_improved_mv_pred = cpi->sf.improved_mv_pred;
599 int_mv mvp; 599 int_mv mvp;
600 600
601 int near_sadidx[8] = {0, 1, 2, 3, 4, 5, 6, 7}; 601 int near_sadidx[8] = {0, 1, 2, 3, 4, 5, 6, 7};
602 int saddone=0; 602 int saddone=0;
603 /* search range got from mv_pred(). It uses step_param levels. (0-7) */ 603 /* search range got from mv_pred(). It uses step_param levels. (0-7) */
604 int sr=0; 604 int sr=0;
605 605
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
1161 { 1161 {
1162 this_rdbin = 1023; 1162 this_rdbin = 1023;
1163 } 1163 }
1164 1164
1165 x->error_bins[this_rdbin] ++; 1165 x->error_bins[this_rdbin] ++;
1166 } 1166 }
1167 1167
1168 #if CONFIG_TEMPORAL_DENOISING 1168 #if CONFIG_TEMPORAL_DENOISING
1169 if (cpi->oxcf.noise_sensitivity) 1169 if (cpi->oxcf.noise_sensitivity)
1170 { 1170 {
1171 int block_index = mb_row * cpi->common.mb_cols + mb_col;
1171 if (x->best_sse_inter_mode == DC_PRED) 1172 if (x->best_sse_inter_mode == DC_PRED)
1172 { 1173 {
1173 /* No best MV found. */ 1174 /* No best MV found. */
1174 x->best_sse_inter_mode = best_mbmode.mode; 1175 x->best_sse_inter_mode = best_mbmode.mode;
1175 x->best_sse_mv = best_mbmode.mv; 1176 x->best_sse_mv = best_mbmode.mv;
1176 x->need_to_clamp_best_mvs = best_mbmode.need_to_clamp_mvs; 1177 x->need_to_clamp_best_mvs = best_mbmode.need_to_clamp_mvs;
1177 x->best_reference_frame = best_mbmode.ref_frame; 1178 x->best_reference_frame = best_mbmode.ref_frame;
1178 best_sse = best_rd_sse; 1179 best_sse = best_rd_sse;
1179 } 1180 }
1180 x->increase_denoising = 0; 1181 x->increase_denoising = 0;
1181 vp8_denoiser_denoise_mb(&cpi->denoiser, x, best_sse, zero_mv_sse, 1182 vp8_denoiser_denoise_mb(&cpi->denoiser, x, best_sse, zero_mv_sse,
1182 recon_yoffset, recon_uvoffset); 1183 recon_yoffset, recon_uvoffset,
1184 &cpi->common.lf_info, mb_row, mb_col,
1185 block_index);
1183 1186
1184 1187
1185 /* Reevaluate ZEROMV after denoising. */ 1188 /* Reevaluate ZEROMV after denoising. */
1186 if (best_mbmode.ref_frame == INTRA_FRAME && 1189 if (best_mbmode.ref_frame == INTRA_FRAME &&
1187 x->best_zeromv_reference_frame != INTRA_FRAME) 1190 x->best_zeromv_reference_frame != INTRA_FRAME)
1188 { 1191 {
1189 int this_rd = 0; 1192 int this_rd = 0;
1190 int this_ref_frame = x->best_zeromv_reference_frame; 1193 int this_ref_frame = x->best_zeromv_reference_frame;
1191 rate2 = x->ref_frame_cost[this_ref_frame] + 1194 rate2 = x->ref_frame_cost[this_ref_frame] +
1192 vp8_cost_mv_ref(ZEROMV, mdcounts); 1195 vp8_cost_mv_ref(ZEROMV, mdcounts);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
1289 error4x4 = pick_intra4x4mby_modes(x, &rate, 1292 error4x4 = pick_intra4x4mby_modes(x, &rate,
1290 &best_sse); 1293 &best_sse);
1291 if (error4x4 < error16x16) 1294 if (error4x4 < error16x16)
1292 { 1295 {
1293 xd->mode_info_context->mbmi.mode = B_PRED; 1296 xd->mode_info_context->mbmi.mode = B_PRED;
1294 best_rate = rate; 1297 best_rate = rate;
1295 } 1298 }
1296 1299
1297 *rate_ = best_rate; 1300 *rate_ = best_rate;
1298 } 1301 }
OLDNEW
« no previous file with comments | « source/libvpx/vp8/encoder/onyx_if.c ('k') | source/libvpx/vp8/encoder/rdopt.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698