| 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 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 (ybf->y_crop_width + 1) / 2, (ybf->y_crop_height + 1) / 2, | 77 (ybf->y_crop_width + 1) / 2, (ybf->y_crop_height + 1) / 2, |
| 78 ybf->border / 2, ybf->border / 2, | 78 ybf->border / 2, ybf->border / 2, |
| 79 (ybf->border + ybf->y_height - ybf->y_crop_height + 1) / 2, | 79 (ybf->border + ybf->y_height - ybf->y_crop_height + 1) / 2, |
| 80 (ybf->border + ybf->y_width - ybf->y_crop_width + 1) / 2); | 80 (ybf->border + ybf->y_width - ybf->y_crop_width + 1) / 2); |
| 81 } | 81 } |
| 82 | 82 |
| 83 #if CONFIG_VP9 | 83 #if CONFIG_VP9 |
| 84 static void extend_frame(YV12_BUFFER_CONFIG *const ybf, int ext_size) { | 84 static void extend_frame(YV12_BUFFER_CONFIG *const ybf, int ext_size) { |
| 85 const int c_w = ybf->uv_crop_width; | 85 const int c_w = ybf->uv_crop_width; |
| 86 const int c_h = ybf->uv_crop_height; | 86 const int c_h = ybf->uv_crop_height; |
| 87 const int c_ext_size = ext_size >> 1; | 87 const int ss_x = ybf->uv_width < ybf->y_width; |
| 88 const int c_et = c_ext_size; | 88 const int ss_y = ybf->uv_height < ybf->y_height; |
| 89 const int c_el = c_ext_size; | 89 const int c_et = ext_size >> ss_y; |
| 90 const int c_eb = c_ext_size + ybf->uv_height - ybf->uv_crop_height; | 90 const int c_el = ext_size >> ss_x; |
| 91 const int c_er = c_ext_size + ybf->uv_width - ybf->uv_crop_width; | 91 const int c_eb = c_et + ybf->uv_height - ybf->uv_crop_height; |
| 92 const int c_er = c_el + ybf->uv_width - ybf->uv_crop_width; |
| 92 | 93 |
| 93 assert(ybf->y_height - ybf->y_crop_height < 16); | 94 assert(ybf->y_height - ybf->y_crop_height < 16); |
| 94 assert(ybf->y_width - ybf->y_crop_width < 16); | 95 assert(ybf->y_width - ybf->y_crop_width < 16); |
| 95 assert(ybf->y_height - ybf->y_crop_height >= 0); | 96 assert(ybf->y_height - ybf->y_crop_height >= 0); |
| 96 assert(ybf->y_width - ybf->y_crop_width >= 0); | 97 assert(ybf->y_width - ybf->y_crop_width >= 0); |
| 97 | 98 |
| 98 extend_plane(ybf->y_buffer, ybf->y_stride, | 99 extend_plane(ybf->y_buffer, ybf->y_stride, |
| 99 ybf->y_crop_width, ybf->y_crop_height, | 100 ybf->y_crop_width, ybf->y_crop_height, |
| 100 ext_size, ext_size, | 101 ext_size, ext_size, |
| 101 ext_size + ybf->y_height - ybf->y_crop_height, | 102 ext_size + ybf->y_height - ybf->y_crop_height, |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 int row; | 169 int row; |
| 169 const uint8_t *src = src_ybc->y_buffer; | 170 const uint8_t *src = src_ybc->y_buffer; |
| 170 uint8_t *dst = dst_ybc->y_buffer; | 171 uint8_t *dst = dst_ybc->y_buffer; |
| 171 | 172 |
| 172 for (row = 0; row < src_ybc->y_height; ++row) { | 173 for (row = 0; row < src_ybc->y_height; ++row) { |
| 173 vpx_memcpy(dst, src, src_ybc->y_width); | 174 vpx_memcpy(dst, src, src_ybc->y_width); |
| 174 src += src_ybc->y_stride; | 175 src += src_ybc->y_stride; |
| 175 dst += dst_ybc->y_stride; | 176 dst += dst_ybc->y_stride; |
| 176 } | 177 } |
| 177 } | 178 } |
| OLD | NEW |