| OLD | NEW |
| 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 |
| 11 #include <math.h> | 11 #include <math.h> |
| 12 #include <limits.h> | 12 #include <limits.h> |
| 13 | 13 |
| 14 #include "vp9/common/vp9_alloccommon.h" | 14 #include "vp9/common/vp9_alloccommon.h" |
| 15 #include "vp9/common/vp9_onyxc_int.h" | 15 #include "vp9/common/vp9_onyxc_int.h" |
| 16 #include "vp9/common/vp9_quant_common.h" | 16 #include "vp9/common/vp9_quant_common.h" |
| 17 #include "vp9/common/vp9_reconinter.h" | 17 #include "vp9/common/vp9_reconinter.h" |
| 18 #include "vp9/common/vp9_systemdependent.h" | |
| 19 #include "vp9/encoder/vp9_extend.h" | 18 #include "vp9/encoder/vp9_extend.h" |
| 20 #include "vp9/encoder/vp9_firstpass.h" | 19 #include "vp9/encoder/vp9_firstpass.h" |
| 21 #include "vp9/encoder/vp9_mcomp.h" | 20 #include "vp9/encoder/vp9_mcomp.h" |
| 22 #include "vp9/encoder/vp9_encoder.h" | 21 #include "vp9/encoder/vp9_encoder.h" |
| 23 #include "vp9/encoder/vp9_quantize.h" | 22 #include "vp9/encoder/vp9_quantize.h" |
| 24 #include "vp9/encoder/vp9_ratectrl.h" | 23 #include "vp9/encoder/vp9_ratectrl.h" |
| 25 #include "vp9/encoder/vp9_segmentation.h" | 24 #include "vp9/encoder/vp9_segmentation.h" |
| 26 #include "vp9/encoder/vp9_temporal_filter.h" | 25 #include "vp9/encoder/vp9_temporal_filter.h" |
| 27 #include "vpx_mem/vpx_mem.h" | 26 #include "vpx_mem/vpx_mem.h" |
| 28 #include "vpx_ports/mem.h" | 27 #include "vpx_ports/mem.h" |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 best_ref_mv1_full.col = best_ref_mv1.col >> 3; | 235 best_ref_mv1_full.col = best_ref_mv1.col >> 3; |
| 237 best_ref_mv1_full.row = best_ref_mv1.row >> 3; | 236 best_ref_mv1_full.row = best_ref_mv1.row >> 3; |
| 238 | 237 |
| 239 // Setup frame pointers | 238 // Setup frame pointers |
| 240 x->plane[0].src.buf = arf_frame_buf; | 239 x->plane[0].src.buf = arf_frame_buf; |
| 241 x->plane[0].src.stride = stride; | 240 x->plane[0].src.stride = stride; |
| 242 xd->plane[0].pre[0].buf = frame_ptr_buf; | 241 xd->plane[0].pre[0].buf = frame_ptr_buf; |
| 243 xd->plane[0].pre[0].stride = stride; | 242 xd->plane[0].pre[0].stride = stride; |
| 244 | 243 |
| 245 step_param = mv_sf->reduce_first_step_size; | 244 step_param = mv_sf->reduce_first_step_size; |
| 246 step_param = MIN(step_param, MAX_MVSEARCH_STEPS - 2); | 245 step_param = VPXMIN(step_param, MAX_MVSEARCH_STEPS - 2); |
| 247 | 246 |
| 248 // Ignore mv costing by sending NULL pointer instead of cost arrays | 247 // Ignore mv costing by sending NULL pointer instead of cost arrays |
| 249 vp9_hex_search(x, &best_ref_mv1_full, step_param, sadpb, 1, | 248 vp9_hex_search(x, &best_ref_mv1_full, step_param, sadpb, 1, |
| 250 cond_cost_list(cpi, cost_list), | 249 cond_cost_list(cpi, cost_list), |
| 251 &cpi->fn_ptr[BLOCK_16X16], 0, &best_ref_mv1, ref_mv); | 250 &cpi->fn_ptr[BLOCK_16X16], 0, &best_ref_mv1, ref_mv); |
| 252 | 251 |
| 253 // Ignore mv costing by sending NULL pointer instead of cost array | 252 // Ignore mv costing by sending NULL pointer instead of cost array |
| 254 bestsme = cpi->find_fractional_mv_step(x, ref_mv, | 253 bestsme = cpi->find_fractional_mv_step(x, ref_mv, |
| 255 &best_ref_mv1, | 254 &best_ref_mv1, |
| 256 cpi->common.allow_high_precision_mv, | 255 cpi->common.allow_high_precision_mv, |
| (...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 699 &sf, | 698 &sf, |
| 700 get_frame_new_buffer(cm)->y_crop_width, | 699 get_frame_new_buffer(cm)->y_crop_width, |
| 701 get_frame_new_buffer(cm)->y_crop_height, | 700 get_frame_new_buffer(cm)->y_crop_height, |
| 702 get_frame_new_buffer(cm)->y_crop_width, | 701 get_frame_new_buffer(cm)->y_crop_width, |
| 703 get_frame_new_buffer(cm)->y_crop_height); | 702 get_frame_new_buffer(cm)->y_crop_height); |
| 704 #endif // CONFIG_VP9_HIGHBITDEPTH | 703 #endif // CONFIG_VP9_HIGHBITDEPTH |
| 705 | 704 |
| 706 for (frame = 0; frame < frames_to_blur; ++frame) { | 705 for (frame = 0; frame < frames_to_blur; ++frame) { |
| 707 if (cm->mi_cols * MI_SIZE != frames[frame]->y_width || | 706 if (cm->mi_cols * MI_SIZE != frames[frame]->y_width || |
| 708 cm->mi_rows * MI_SIZE != frames[frame]->y_height) { | 707 cm->mi_rows * MI_SIZE != frames[frame]->y_height) { |
| 709 if (vp9_realloc_frame_buffer(&cpi->svc.scaled_frames[frame_used], | 708 if (vpx_realloc_frame_buffer(&cpi->svc.scaled_frames[frame_used], |
| 710 cm->width, cm->height, | 709 cm->width, cm->height, |
| 711 cm->subsampling_x, cm->subsampling_y, | 710 cm->subsampling_x, cm->subsampling_y, |
| 712 #if CONFIG_VP9_HIGHBITDEPTH | 711 #if CONFIG_VP9_HIGHBITDEPTH |
| 713 cm->use_highbitdepth, | 712 cm->use_highbitdepth, |
| 714 #endif | 713 #endif |
| 715 VP9_ENC_BORDER_IN_PIXELS, | 714 VP9_ENC_BORDER_IN_PIXELS, |
| 716 cm->byte_alignment, | 715 cm->byte_alignment, |
| 717 NULL, NULL, NULL)) { | 716 NULL, NULL, NULL)) { |
| 718 vpx_internal_error(&cm->error, VPX_CODEC_MEM_ERROR, | 717 vpx_internal_error(&cm->error, VPX_CODEC_MEM_ERROR, |
| 719 "Failed to reallocate alt_ref_buffer"); | 718 "Failed to reallocate alt_ref_buffer"); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 741 frames[0]->y_crop_height, | 740 frames[0]->y_crop_height, |
| 742 frames[0]->y_crop_width, | 741 frames[0]->y_crop_width, |
| 743 frames[0]->y_crop_height); | 742 frames[0]->y_crop_height); |
| 744 #endif // CONFIG_VP9_HIGHBITDEPTH | 743 #endif // CONFIG_VP9_HIGHBITDEPTH |
| 745 } | 744 } |
| 746 } | 745 } |
| 747 | 746 |
| 748 temporal_filter_iterate_c(cpi, frames, frames_to_blur, | 747 temporal_filter_iterate_c(cpi, frames, frames_to_blur, |
| 749 frames_to_blur_backward, strength, &sf); | 748 frames_to_blur_backward, strength, &sf); |
| 750 } | 749 } |
| OLD | NEW |