| 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 | 11 | 
| 12 #include "vpx_ports/config.h" | 12 #include "vpx_ports/config.h" | 
| 13 #include "vpx_ports/arm.h" | 13 #include "vpx_ports/arm.h" | 
| 14 #include "vp8/common/blockd.h" | 14 #include "vp8/common/blockd.h" | 
| 15 #include "vp8/common/pragmas.h" | 15 #include "vp8/common/pragmas.h" | 
| 16 #include "vp8/common/postproc.h" |  | 
| 17 #include "vp8/decoder/dequantize.h" | 16 #include "vp8/decoder/dequantize.h" | 
| 18 #include "vp8/decoder/onyxd_int.h" | 17 #include "vp8/decoder/onyxd_int.h" | 
| 19 | 18 | 
| 20 void vp8_arch_arm_decode_init(VP8D_COMP *pbi) | 19 void vp8_arch_arm_decode_init(VP8D_COMP *pbi) | 
| 21 { | 20 { | 
| 22 #if CONFIG_RUNTIME_CPU_DETECT | 21 #if CONFIG_RUNTIME_CPU_DETECT | 
| 23     int flags = pbi->common.rtcd.flags; | 22     int flags = pbi->common.rtcd.flags; | 
| 24     int has_edsp = flags & HAS_EDSP; | 23 | 
| 25     int has_media = flags & HAS_MEDIA; | 24 #if HAVE_ARMV5TE | 
| 26     int has_neon = flags & HAS_NEON; | 25     if (flags & HAS_EDSP) | 
|  | 26     { | 
|  | 27     } | 
|  | 28 #endif | 
| 27 | 29 | 
| 28 #if HAVE_ARMV6 | 30 #if HAVE_ARMV6 | 
| 29     if (has_media) | 31     if (flags & HAS_MEDIA) | 
| 30     { | 32     { | 
| 31         pbi->dequant.block               = vp8_dequantize_b_v6; | 33         pbi->dequant.block               = vp8_dequantize_b_v6; | 
| 32         pbi->dequant.idct_add            = vp8_dequant_idct_add_v6; | 34         pbi->dequant.idct_add            = vp8_dequant_idct_add_v6; | 
| 33         pbi->dequant.dc_idct_add         = vp8_dequant_dc_idct_add_v6; | 35         pbi->dequant.dc_idct_add         = vp8_dequant_dc_idct_add_v6; | 
| 34         pbi->dequant.dc_idct_add_y_block = vp8_dequant_dc_idct_add_y_block_v6; | 36         pbi->dequant.dc_idct_add_y_block = vp8_dequant_dc_idct_add_y_block_v6; | 
| 35         pbi->dequant.idct_add_y_block    = vp8_dequant_idct_add_y_block_v6; | 37         pbi->dequant.idct_add_y_block    = vp8_dequant_idct_add_y_block_v6; | 
| 36         pbi->dequant.idct_add_uv_block   = vp8_dequant_idct_add_uv_block_v6; | 38         pbi->dequant.idct_add_uv_block   = vp8_dequant_idct_add_uv_block_v6; | 
| 37     } | 39     } | 
| 38 #endif | 40 #endif | 
| 39 | 41 | 
| 40 #if HAVE_ARMV7 | 42 #if HAVE_ARMV7 | 
| 41     if (has_neon) | 43     if (flags & HAS_NEON) | 
| 42     { | 44     { | 
| 43         pbi->dequant.block               = vp8_dequantize_b_neon; | 45         pbi->dequant.block               = vp8_dequantize_b_neon; | 
| 44         pbi->dequant.idct_add            = vp8_dequant_idct_add_neon; | 46         pbi->dequant.idct_add            = vp8_dequant_idct_add_neon; | 
| 45         /*This is not used: NEON always dequants two blocks at once. | 47         /*This is not used: NEON always dequants two blocks at once. | 
| 46         pbi->dequant.dc_idct_add         = vp8_dequant_dc_idct_add_neon;*/ | 48         pbi->dequant.dc_idct_add         = vp8_dequant_dc_idct_add_neon;*/ | 
| 47         pbi->dequant.dc_idct_add_y_block = vp8_dequant_dc_idct_add_y_block_neon; | 49         pbi->dequant.dc_idct_add_y_block = vp8_dequant_dc_idct_add_y_block_neon; | 
| 48         pbi->dequant.idct_add_y_block    = vp8_dequant_idct_add_y_block_neon; | 50         pbi->dequant.idct_add_y_block    = vp8_dequant_idct_add_y_block_neon; | 
| 49         pbi->dequant.idct_add_uv_block   = vp8_dequant_idct_add_uv_block_neon; | 51         pbi->dequant.idct_add_uv_block   = vp8_dequant_idct_add_uv_block_neon; | 
| 50     } | 52     } | 
| 51 #endif | 53 #endif | 
| 52 #endif | 54 #endif | 
| 53 } | 55 } | 
| OLD | NEW | 
|---|