| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | |
| 3 * | |
| 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 | |
| 6 * tree. An additional intellectual property rights grant can be found | |
| 7 * in the file PATENTS. All contributing project authors may | |
| 8 * be found in the AUTHORS file in the root of the source tree. | |
| 9 */ | |
| 10 | |
| 11 | |
| 12 #include "vpx_config.h" | |
| 13 #include "vp8_rtcd.h" | |
| 14 #include "vp8/encoder/block.h" | |
| 15 #include <math.h> | |
| 16 #include "vpx_mem/vpx_mem.h" | |
| 17 #include "vp8/encoder/quantize.h" | |
| 18 #include "vp8/common/entropy.h" | |
| 19 | |
| 20 | |
| 21 #if HAVE_NEON | |
| 22 | |
| 23 /* vp8_quantize_mbX functions here differs from corresponding ones in | |
| 24 * quantize.c only by using quantize_b_pair function pointer instead of | |
| 25 * the regular quantize_b function pointer */ | |
| 26 void vp8_quantize_mby_neon(MACROBLOCK *x) | |
| 27 { | |
| 28 int i; | |
| 29 int has_2nd_order = (x->e_mbd.mode_info_context->mbmi.mode != B_PRED | |
| 30 && x->e_mbd.mode_info_context->mbmi.mode != SPLITMV); | |
| 31 | |
| 32 for (i = 0; i < 16; i+=2) | |
| 33 x->quantize_b_pair(&x->block[i], &x->block[i+1], | |
| 34 &x->e_mbd.block[i], &x->e_mbd.block[i+1]); | |
| 35 | |
| 36 if(has_2nd_order) | |
| 37 x->quantize_b(&x->block[24], &x->e_mbd.block[24]); | |
| 38 } | |
| 39 | |
| 40 void vp8_quantize_mb_neon(MACROBLOCK *x) | |
| 41 { | |
| 42 int i; | |
| 43 int has_2nd_order=(x->e_mbd.mode_info_context->mbmi.mode != B_PRED | |
| 44 && x->e_mbd.mode_info_context->mbmi.mode != SPLITMV); | |
| 45 | |
| 46 for (i = 0; i < 24; i+=2) | |
| 47 x->quantize_b_pair(&x->block[i], &x->block[i+1], | |
| 48 &x->e_mbd.block[i], &x->e_mbd.block[i+1]); | |
| 49 | |
| 50 if (has_2nd_order) | |
| 51 x->quantize_b(&x->block[24], &x->e_mbd.block[24]); | |
| 52 } | |
| 53 | |
| 54 | |
| 55 void vp8_quantize_mbuv_neon(MACROBLOCK *x) | |
| 56 { | |
| 57 int i; | |
| 58 | |
| 59 for (i = 16; i < 24; i+=2) | |
| 60 x->quantize_b_pair(&x->block[i], &x->block[i+1], | |
| 61 &x->e_mbd.block[i], &x->e_mbd.block[i+1]); | |
| 62 } | |
| 63 | |
| 64 #endif /* HAVE_NEON */ | |
| OLD | NEW |