| 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 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 source->uv_stride, post->uv_stride, | 256 source->uv_stride, post->uv_stride, |
| 257 source->uv_height, source->uv_width, ppl); | 257 source->uv_height, source->uv_width, ppl); |
| 258 } | 258 } |
| 259 | 259 |
| 260 void vp9_deblock(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, | 260 void vp9_deblock(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, |
| 261 int q) { | 261 int q) { |
| 262 const int ppl = (int)(6.0e-05 * q * q * q - 0.0067 * q * q + 0.306 * q | 262 const int ppl = (int)(6.0e-05 * q * q * q - 0.0067 * q * q + 0.306 * q |
| 263 + 0.0065 + 0.5); | 263 + 0.0065 + 0.5); |
| 264 int i; | 264 int i; |
| 265 | 265 |
| 266 const uint8_t *const srcs[4] = {src->y_buffer, src->u_buffer, src->v_buffer, | 266 const uint8_t *const srcs[3] = {src->y_buffer, src->u_buffer, src->v_buffer}; |
| 267 src->alpha_buffer}; | 267 const int src_strides[3] = {src->y_stride, src->uv_stride, src->uv_stride}; |
| 268 const int src_strides[4] = {src->y_stride, src->uv_stride, src->uv_stride, | 268 const int src_widths[3] = {src->y_width, src->uv_width, src->uv_width}; |
| 269 src->alpha_stride}; | 269 const int src_heights[3] = {src->y_height, src->uv_height, src->uv_height}; |
| 270 const int src_widths[4] = {src->y_width, src->uv_width, src->uv_width, | |
| 271 src->alpha_width}; | |
| 272 const int src_heights[4] = {src->y_height, src->uv_height, src->uv_height, | |
| 273 src->alpha_height}; | |
| 274 | 270 |
| 275 uint8_t *const dsts[4] = {dst->y_buffer, dst->u_buffer, dst->v_buffer, | 271 uint8_t *const dsts[3] = {dst->y_buffer, dst->u_buffer, dst->v_buffer}; |
| 276 dst->alpha_buffer}; | 272 const int dst_strides[3] = {dst->y_stride, dst->uv_stride, dst->uv_stride}; |
| 277 const int dst_strides[4] = {dst->y_stride, dst->uv_stride, dst->uv_stride, | |
| 278 dst->alpha_stride}; | |
| 279 | 273 |
| 280 for (i = 0; i < MAX_MB_PLANE; ++i) | 274 for (i = 0; i < MAX_MB_PLANE; ++i) |
| 281 vp9_post_proc_down_and_across(srcs[i], dsts[i], | 275 vp9_post_proc_down_and_across(srcs[i], dsts[i], |
| 282 src_strides[i], dst_strides[i], | 276 src_strides[i], dst_strides[i], |
| 283 src_heights[i], src_widths[i], ppl); | 277 src_heights[i], src_widths[i], ppl); |
| 284 } | 278 } |
| 285 | 279 |
| 286 void vp9_denoise(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, | 280 void vp9_denoise(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, |
| 287 int q) { | 281 int q) { |
| 288 const int ppl = (int)(6.0e-05 * q * q * q - 0.0067 * q * q + 0.306 * q | 282 const int ppl = (int)(6.0e-05 * q * q * q - 0.0067 * q * q + 0.306 * q |
| 289 + 0.0065 + 0.5); | 283 + 0.0065 + 0.5); |
| 290 int i; | 284 int i; |
| 291 | 285 |
| 292 const uint8_t *const srcs[4] = {src->y_buffer, src->u_buffer, src->v_buffer, | 286 const uint8_t *const srcs[3] = {src->y_buffer, src->u_buffer, src->v_buffer}; |
| 293 src->alpha_buffer}; | 287 const int src_strides[3] = {src->y_stride, src->uv_stride, src->uv_stride}; |
| 294 const int src_strides[4] = {src->y_stride, src->uv_stride, src->uv_stride, | 288 const int src_widths[3] = {src->y_width, src->uv_width, src->uv_width}; |
| 295 src->alpha_stride}; | 289 const int src_heights[3] = {src->y_height, src->uv_height, src->uv_height}; |
| 296 const int src_widths[4] = {src->y_width, src->uv_width, src->uv_width, | |
| 297 src->alpha_width}; | |
| 298 const int src_heights[4] = {src->y_height, src->uv_height, src->uv_height, | |
| 299 src->alpha_height}; | |
| 300 | 290 |
| 301 uint8_t *const dsts[4] = {dst->y_buffer, dst->u_buffer, dst->v_buffer, | 291 uint8_t *const dsts[3] = {dst->y_buffer, dst->u_buffer, dst->v_buffer}; |
| 302 dst->alpha_buffer}; | 292 const int dst_strides[3] = {dst->y_stride, dst->uv_stride, dst->uv_stride}; |
| 303 const int dst_strides[4] = {dst->y_stride, dst->uv_stride, dst->uv_stride, | |
| 304 dst->alpha_stride}; | |
| 305 | 293 |
| 306 for (i = 0; i < MAX_MB_PLANE; ++i) { | 294 for (i = 0; i < MAX_MB_PLANE; ++i) { |
| 307 const int src_stride = src_strides[i]; | 295 const int src_stride = src_strides[i]; |
| 308 const uint8_t *const src = srcs[i] + 2 * src_stride + 2; | 296 const uint8_t *const src = srcs[i] + 2 * src_stride + 2; |
| 309 const int src_width = src_widths[i] - 4; | 297 const int src_width = src_widths[i] - 4; |
| 310 const int src_height = src_heights[i] - 4; | 298 const int src_height = src_heights[i] - 4; |
| 311 | 299 |
| 312 const int dst_stride = dst_strides[i]; | 300 const int dst_stride = dst_strides[i]; |
| 313 uint8_t *const dst = dsts[i] + 2 * dst_stride + 2; | 301 uint8_t *const dst = dsts[i] + 2 * dst_stride + 2; |
| 314 | 302 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 | 432 |
| 445 /* handle problem with extending borders */ | 433 /* handle problem with extending borders */ |
| 446 dest->y_width = cm->width; | 434 dest->y_width = cm->width; |
| 447 dest->y_height = cm->height; | 435 dest->y_height = cm->height; |
| 448 dest->uv_width = dest->y_width >> cm->subsampling_x; | 436 dest->uv_width = dest->y_width >> cm->subsampling_x; |
| 449 dest->uv_height = dest->y_height >> cm->subsampling_y; | 437 dest->uv_height = dest->y_height >> cm->subsampling_y; |
| 450 | 438 |
| 451 return 0; | 439 return 0; |
| 452 } | 440 } |
| 453 #endif | 441 #endif |
| OLD | NEW |