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

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

Issue 1124333011: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: only update to last nights LKGR Created 5 years, 7 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/vp8/encoder/denoising.c ('k') | source/libvpx/vp8/encoder/encodemb.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 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 unsigned int i,j; 148 unsigned int i,j;
149 unsigned int * sortlist; 149 unsigned int * sortlist;
150 unsigned int tmp; 150 unsigned int tmp;
151 151
152 /* Create a list to sort to */ 152 /* Create a list to sort to */
153 CHECK_MEM_ERROR(sortlist, 153 CHECK_MEM_ERROR(sortlist,
154 vpx_calloc(sizeof(unsigned int), 154 vpx_calloc(sizeof(unsigned int),
155 cpi->common.MBs)); 155 cpi->common.MBs));
156 156
157 /* Copy map to sort list */ 157 /* Copy map to sort list */
158 vpx_memcpy( sortlist, cpi->mb_activity_map, 158 memcpy( sortlist, cpi->mb_activity_map,
159 sizeof(unsigned int) * cpi->common.MBs ); 159 sizeof(unsigned int) * cpi->common.MBs );
160 160
161 161
162 /* Ripple each value down to its correct position */ 162 /* Ripple each value down to its correct position */
163 for ( i = 1; i < cpi->common.MBs; i ++ ) 163 for ( i = 1; i < cpi->common.MBs; i ++ )
164 { 164 {
165 for ( j = i; j > 0; j -- ) 165 for ( j = i; j > 0; j -- )
166 { 166 {
167 if ( sortlist[j] < sortlist[j-1] ) 167 if ( sortlist[j] < sortlist[j-1] )
168 { 168 {
169 /* Swap values */ 169 /* Swap values */
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 658
659 vp8_build_block_offsets(x); 659 vp8_build_block_offsets(x);
660 660
661 xd->mode_info_context->mbmi.mode = DC_PRED; 661 xd->mode_info_context->mbmi.mode = DC_PRED;
662 xd->mode_info_context->mbmi.uv_mode = DC_PRED; 662 xd->mode_info_context->mbmi.uv_mode = DC_PRED;
663 663
664 xd->left_context = &cm->left_context; 664 xd->left_context = &cm->left_context;
665 665
666 x->mvc = cm->fc.mvc; 666 x->mvc = cm->fc.mvc;
667 667
668 vpx_memset(cm->above_context, 0, 668 memset(cm->above_context, 0, sizeof(ENTROPY_CONTEXT_PLANES) * cm->mb_cols);
669 sizeof(ENTROPY_CONTEXT_PLANES) * cm->mb_cols);
670 669
671 /* Special case treatment when GF and ARF are not sensible options 670 /* Special case treatment when GF and ARF are not sensible options
672 * for reference 671 * for reference
673 */ 672 */
674 if (cpi->ref_frame_flags == VP8_LAST_FRAME) 673 if (cpi->ref_frame_flags == VP8_LAST_FRAME)
675 vp8_calc_ref_frame_costs(x->ref_frame_cost, 674 vp8_calc_ref_frame_costs(x->ref_frame_cost,
676 cpi->prob_intra_coded,255,128); 675 cpi->prob_intra_coded,255,128);
677 else if ((cpi->oxcf.number_of_layers > 1) && 676 else if ((cpi->oxcf.number_of_layers > 1) &&
678 (cpi->ref_frame_flags == VP8_GOLD_FRAME)) 677 (cpi->ref_frame_flags == VP8_GOLD_FRAME))
679 vp8_calc_ref_frame_costs(x->ref_frame_cost, 678 vp8_calc_ref_frame_costs(x->ref_frame_cost,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 VP8_COMMON *const cm = & cpi->common; 736 VP8_COMMON *const cm = & cpi->common;
738 MACROBLOCKD *const xd = & x->e_mbd; 737 MACROBLOCKD *const xd = & x->e_mbd;
739 TOKENEXTRA *tp = cpi->tok; 738 TOKENEXTRA *tp = cpi->tok;
740 int segment_counts[MAX_MB_SEGMENTS]; 739 int segment_counts[MAX_MB_SEGMENTS];
741 int totalrate; 740 int totalrate;
742 #if CONFIG_REALTIME_ONLY & CONFIG_ONTHEFLY_BITPACKING 741 #if CONFIG_REALTIME_ONLY & CONFIG_ONTHEFLY_BITPACKING
743 BOOL_CODER * bc = &cpi->bc[1]; /* bc[0] is for control partition */ 742 BOOL_CODER * bc = &cpi->bc[1]; /* bc[0] is for control partition */
744 const int num_part = (1 << cm->multi_token_partition); 743 const int num_part = (1 << cm->multi_token_partition);
745 #endif 744 #endif
746 745
747 vpx_memset(segment_counts, 0, sizeof(segment_counts)); 746 memset(segment_counts, 0, sizeof(segment_counts));
748 totalrate = 0; 747 totalrate = 0;
749 748
750 if (cpi->compressor_speed == 2) 749 if (cpi->compressor_speed == 2)
751 { 750 {
752 if (cpi->oxcf.cpu_used < 0) 751 if (cpi->oxcf.cpu_used < 0)
753 cpi->Speed = -(cpi->oxcf.cpu_used); 752 cpi->Speed = -(cpi->oxcf.cpu_used);
754 else 753 else
755 vp8_auto_select_speed(cpi); 754 vp8_auto_select_speed(cpi);
756 } 755 }
757 756
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
967 966
968 967
969 // Work out the segment probabilities if segmentation is enabled 968 // Work out the segment probabilities if segmentation is enabled
970 // and needs to be updated 969 // and needs to be updated
971 if (xd->segmentation_enabled && xd->update_mb_segmentation_map) 970 if (xd->segmentation_enabled && xd->update_mb_segmentation_map)
972 { 971 {
973 int tot_count; 972 int tot_count;
974 int i; 973 int i;
975 974
976 /* Set to defaults */ 975 /* Set to defaults */
977 vpx_memset(xd->mb_segment_tree_probs, 255 , sizeof(xd->mb_segment_tree_p robs)); 976 memset(xd->mb_segment_tree_probs, 255 , sizeof(xd->mb_segment_tree_probs ));
978 977
979 tot_count = segment_counts[0] + segment_counts[1] + segment_counts[2] + segment_counts[3]; 978 tot_count = segment_counts[0] + segment_counts[1] + segment_counts[2] + segment_counts[3];
980 979
981 if (tot_count) 980 if (tot_count)
982 { 981 {
983 xd->mb_segment_tree_probs[0] = ((segment_counts[0] + segment_counts[ 1]) * 255) / tot_count; 982 xd->mb_segment_tree_probs[0] = ((segment_counts[0] + segment_counts[ 1]) * 255) / tot_count;
984 983
985 tot_count = segment_counts[0] + segment_counts[1]; 984 tot_count = segment_counts[0] + segment_counts[1];
986 985
987 if (tot_count > 0) 986 if (tot_count > 0)
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
1415 vp8_fix_contexts(xd); 1414 vp8_fix_contexts(xd);
1416 } 1415 }
1417 else 1416 else
1418 { 1417 {
1419 vp8_stuff_mb(cpi, x, t); 1418 vp8_stuff_mb(cpi, x, t);
1420 } 1419 }
1421 } 1420 }
1422 1421
1423 return rate; 1422 return rate;
1424 } 1423 }
OLDNEW
« no previous file with comments | « source/libvpx/vp8/encoder/denoising.c ('k') | source/libvpx/vp8/encoder/encodemb.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698