| 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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 | 53 |
| 54 /* | 54 /* |
| 55 * Include aligned access routines | 55 * Include aligned access routines |
| 56 */ | 56 */ |
| 57 #define INCLUDED_BY_MEM_OPS_H | 57 #define INCLUDED_BY_MEM_OPS_H |
| 58 #include "mem_ops_aligned.h" | 58 #include "mem_ops_aligned.h" |
| 59 #undef INCLUDED_BY_MEM_OPS_H | 59 #undef INCLUDED_BY_MEM_OPS_H |
| 60 | 60 |
| 61 #undef mem_get_be16 | 61 #undef mem_get_be16 |
| 62 #define mem_get_be16 mem_ops_wrap_symbol(mem_get_be16) | 62 #define mem_get_be16 mem_ops_wrap_symbol(mem_get_be16) |
| 63 static unsigned MEM_VALUE_T mem_get_be16(const void *vmem) | 63 static unsigned MEM_VALUE_T mem_get_be16(const void *vmem) { |
| 64 { | 64 unsigned MEM_VALUE_T val; |
| 65 unsigned MEM_VALUE_T val; | 65 const MAU_T *mem = (const MAU_T *)vmem; |
| 66 const MAU_T *mem = (const MAU_T *)vmem; | |
| 67 | 66 |
| 68 val = mem[0] << 8; | 67 val = mem[0] << 8; |
| 69 val |= mem[1]; | 68 val |= mem[1]; |
| 70 return val; | 69 return val; |
| 71 } | 70 } |
| 72 | 71 |
| 73 #undef mem_get_be24 | 72 #undef mem_get_be24 |
| 74 #define mem_get_be24 mem_ops_wrap_symbol(mem_get_be24) | 73 #define mem_get_be24 mem_ops_wrap_symbol(mem_get_be24) |
| 75 static unsigned MEM_VALUE_T mem_get_be24(const void *vmem) | 74 static unsigned MEM_VALUE_T mem_get_be24(const void *vmem) { |
| 76 { | 75 unsigned MEM_VALUE_T val; |
| 77 unsigned MEM_VALUE_T val; | 76 const MAU_T *mem = (const MAU_T *)vmem; |
| 78 const MAU_T *mem = (const MAU_T *)vmem; | |
| 79 | 77 |
| 80 val = mem[0] << 16; | 78 val = mem[0] << 16; |
| 81 val |= mem[1] << 8; | 79 val |= mem[1] << 8; |
| 82 val |= mem[2]; | 80 val |= mem[2]; |
| 83 return val; | 81 return val; |
| 84 } | 82 } |
| 85 | 83 |
| 86 #undef mem_get_be32 | 84 #undef mem_get_be32 |
| 87 #define mem_get_be32 mem_ops_wrap_symbol(mem_get_be32) | 85 #define mem_get_be32 mem_ops_wrap_symbol(mem_get_be32) |
| 88 static unsigned MEM_VALUE_T mem_get_be32(const void *vmem) | 86 static unsigned MEM_VALUE_T mem_get_be32(const void *vmem) { |
| 89 { | 87 unsigned MEM_VALUE_T val; |
| 90 unsigned MEM_VALUE_T val; | 88 const MAU_T *mem = (const MAU_T *)vmem; |
| 91 const MAU_T *mem = (const MAU_T *)vmem; | |
| 92 | 89 |
| 93 val = mem[0] << 24; | 90 val = mem[0] << 24; |
| 94 val |= mem[1] << 16; | 91 val |= mem[1] << 16; |
| 95 val |= mem[2] << 8; | 92 val |= mem[2] << 8; |
| 96 val |= mem[3]; | 93 val |= mem[3]; |
| 97 return val; | 94 return val; |
| 98 } | 95 } |
| 99 | 96 |
| 100 #undef mem_get_le16 | 97 #undef mem_get_le16 |
| 101 #define mem_get_le16 mem_ops_wrap_symbol(mem_get_le16) | 98 #define mem_get_le16 mem_ops_wrap_symbol(mem_get_le16) |
| 102 static unsigned MEM_VALUE_T mem_get_le16(const void *vmem) | 99 static unsigned MEM_VALUE_T mem_get_le16(const void *vmem) { |
| 103 { | 100 unsigned MEM_VALUE_T val; |
| 104 unsigned MEM_VALUE_T val; | 101 const MAU_T *mem = (const MAU_T *)vmem; |
| 105 const MAU_T *mem = (const MAU_T *)vmem; | |
| 106 | 102 |
| 107 val = mem[1] << 8; | 103 val = mem[1] << 8; |
| 108 val |= mem[0]; | 104 val |= mem[0]; |
| 109 return val; | 105 return val; |
| 110 } | 106 } |
| 111 | 107 |
| 112 #undef mem_get_le24 | 108 #undef mem_get_le24 |
| 113 #define mem_get_le24 mem_ops_wrap_symbol(mem_get_le24) | 109 #define mem_get_le24 mem_ops_wrap_symbol(mem_get_le24) |
| 114 static unsigned MEM_VALUE_T mem_get_le24(const void *vmem) | 110 static unsigned MEM_VALUE_T mem_get_le24(const void *vmem) { |
| 115 { | 111 unsigned MEM_VALUE_T val; |
| 116 unsigned MEM_VALUE_T val; | 112 const MAU_T *mem = (const MAU_T *)vmem; |
| 117 const MAU_T *mem = (const MAU_T *)vmem; | |
| 118 | 113 |
| 119 val = mem[2] << 16; | 114 val = mem[2] << 16; |
| 120 val |= mem[1] << 8; | 115 val |= mem[1] << 8; |
| 121 val |= mem[0]; | 116 val |= mem[0]; |
| 122 return val; | 117 return val; |
| 123 } | 118 } |
| 124 | 119 |
| 125 #undef mem_get_le32 | 120 #undef mem_get_le32 |
| 126 #define mem_get_le32 mem_ops_wrap_symbol(mem_get_le32) | 121 #define mem_get_le32 mem_ops_wrap_symbol(mem_get_le32) |
| 127 static unsigned MEM_VALUE_T mem_get_le32(const void *vmem) | 122 static unsigned MEM_VALUE_T mem_get_le32(const void *vmem) { |
| 128 { | 123 unsigned MEM_VALUE_T val; |
| 129 unsigned MEM_VALUE_T val; | 124 const MAU_T *mem = (const MAU_T *)vmem; |
| 130 const MAU_T *mem = (const MAU_T *)vmem; | |
| 131 | 125 |
| 132 val = mem[3] << 24; | 126 val = mem[3] << 24; |
| 133 val |= mem[2] << 16; | 127 val |= mem[2] << 16; |
| 134 val |= mem[1] << 8; | 128 val |= mem[1] << 8; |
| 135 val |= mem[0]; | 129 val |= mem[0]; |
| 136 return val; | 130 return val; |
| 137 } | 131 } |
| 138 | 132 |
| 139 #define mem_get_s_generic(end,sz) \ | 133 #define mem_get_s_generic(end,sz) \ |
| 140 static signed MEM_VALUE_T mem_get_s##end##sz(const void *vmem) {\ | 134 static signed MEM_VALUE_T mem_get_s##end##sz(const void *vmem) {\ |
| 141 const MAU_T *mem = (const MAU_T*)vmem;\ | 135 const MAU_T *mem = (const MAU_T*)vmem;\ |
| 142 signed MEM_VALUE_T val = mem_get_##end##sz(mem);\ | 136 signed MEM_VALUE_T val = mem_get_##end##sz(mem);\ |
| 143 return (val << (MEM_VALUE_T_SZ_BITS - sz)) >> (MEM_VALUE_T_SZ_BITS - sz)
;\ | 137 return (val << (MEM_VALUE_T_SZ_BITS - sz)) >> (MEM_VALUE_T_SZ_BITS - sz);\ |
| 144 } | 138 } |
| 145 | 139 |
| 146 #undef mem_get_sbe16 | 140 #undef mem_get_sbe16 |
| 147 #define mem_get_sbe16 mem_ops_wrap_symbol(mem_get_sbe16) | 141 #define mem_get_sbe16 mem_ops_wrap_symbol(mem_get_sbe16) |
| 148 mem_get_s_generic(be, 16) | 142 mem_get_s_generic(be, 16) |
| 149 | 143 |
| 150 #undef mem_get_sbe24 | 144 #undef mem_get_sbe24 |
| 151 #define mem_get_sbe24 mem_ops_wrap_symbol(mem_get_sbe24) | 145 #define mem_get_sbe24 mem_ops_wrap_symbol(mem_get_sbe24) |
| 152 mem_get_s_generic(be, 24) | 146 mem_get_s_generic(be, 24) |
| 153 | 147 |
| 154 #undef mem_get_sbe32 | 148 #undef mem_get_sbe32 |
| 155 #define mem_get_sbe32 mem_ops_wrap_symbol(mem_get_sbe32) | 149 #define mem_get_sbe32 mem_ops_wrap_symbol(mem_get_sbe32) |
| 156 mem_get_s_generic(be, 32) | 150 mem_get_s_generic(be, 32) |
| 157 | 151 |
| 158 #undef mem_get_sle16 | 152 #undef mem_get_sle16 |
| 159 #define mem_get_sle16 mem_ops_wrap_symbol(mem_get_sle16) | 153 #define mem_get_sle16 mem_ops_wrap_symbol(mem_get_sle16) |
| 160 mem_get_s_generic(le, 16) | 154 mem_get_s_generic(le, 16) |
| 161 | 155 |
| 162 #undef mem_get_sle24 | 156 #undef mem_get_sle24 |
| 163 #define mem_get_sle24 mem_ops_wrap_symbol(mem_get_sle24) | 157 #define mem_get_sle24 mem_ops_wrap_symbol(mem_get_sle24) |
| 164 mem_get_s_generic(le, 24) | 158 mem_get_s_generic(le, 24) |
| 165 | 159 |
| 166 #undef mem_get_sle32 | 160 #undef mem_get_sle32 |
| 167 #define mem_get_sle32 mem_ops_wrap_symbol(mem_get_sle32) | 161 #define mem_get_sle32 mem_ops_wrap_symbol(mem_get_sle32) |
| 168 mem_get_s_generic(le, 32) | 162 mem_get_s_generic(le, 32) |
| 169 | 163 |
| 170 #undef mem_put_be16 | 164 #undef mem_put_be16 |
| 171 #define mem_put_be16 mem_ops_wrap_symbol(mem_put_be16) | 165 #define mem_put_be16 mem_ops_wrap_symbol(mem_put_be16) |
| 172 static void mem_put_be16(void *vmem, MEM_VALUE_T val) | 166 static void mem_put_be16(void *vmem, MEM_VALUE_T val) { |
| 173 { | 167 MAU_T *mem = (MAU_T *)vmem; |
| 174 MAU_T *mem = (MAU_T *)vmem; | |
| 175 | 168 |
| 176 mem[0] = (val >> 8) & 0xff; | 169 mem[0] = (val >> 8) & 0xff; |
| 177 mem[1] = (val >> 0) & 0xff; | 170 mem[1] = (val >> 0) & 0xff; |
| 178 } | 171 } |
| 179 | 172 |
| 180 #undef mem_put_be24 | 173 #undef mem_put_be24 |
| 181 #define mem_put_be24 mem_ops_wrap_symbol(mem_put_be24) | 174 #define mem_put_be24 mem_ops_wrap_symbol(mem_put_be24) |
| 182 static void mem_put_be24(void *vmem, MEM_VALUE_T val) | 175 static void mem_put_be24(void *vmem, MEM_VALUE_T val) { |
| 183 { | 176 MAU_T *mem = (MAU_T *)vmem; |
| 184 MAU_T *mem = (MAU_T *)vmem; | |
| 185 | 177 |
| 186 mem[0] = (val >> 16) & 0xff; | 178 mem[0] = (val >> 16) & 0xff; |
| 187 mem[1] = (val >> 8) & 0xff; | 179 mem[1] = (val >> 8) & 0xff; |
| 188 mem[2] = (val >> 0) & 0xff; | 180 mem[2] = (val >> 0) & 0xff; |
| 189 } | 181 } |
| 190 | 182 |
| 191 #undef mem_put_be32 | 183 #undef mem_put_be32 |
| 192 #define mem_put_be32 mem_ops_wrap_symbol(mem_put_be32) | 184 #define mem_put_be32 mem_ops_wrap_symbol(mem_put_be32) |
| 193 static void mem_put_be32(void *vmem, MEM_VALUE_T val) | 185 static void mem_put_be32(void *vmem, MEM_VALUE_T val) { |
| 194 { | 186 MAU_T *mem = (MAU_T *)vmem; |
| 195 MAU_T *mem = (MAU_T *)vmem; | |
| 196 | 187 |
| 197 mem[0] = (val >> 24) & 0xff; | 188 mem[0] = (val >> 24) & 0xff; |
| 198 mem[1] = (val >> 16) & 0xff; | 189 mem[1] = (val >> 16) & 0xff; |
| 199 mem[2] = (val >> 8) & 0xff; | 190 mem[2] = (val >> 8) & 0xff; |
| 200 mem[3] = (val >> 0) & 0xff; | 191 mem[3] = (val >> 0) & 0xff; |
| 201 } | 192 } |
| 202 | 193 |
| 203 #undef mem_put_le16 | 194 #undef mem_put_le16 |
| 204 #define mem_put_le16 mem_ops_wrap_symbol(mem_put_le16) | 195 #define mem_put_le16 mem_ops_wrap_symbol(mem_put_le16) |
| 205 static void mem_put_le16(void *vmem, MEM_VALUE_T val) | 196 static void mem_put_le16(void *vmem, MEM_VALUE_T val) { |
| 206 { | 197 MAU_T *mem = (MAU_T *)vmem; |
| 207 MAU_T *mem = (MAU_T *)vmem; | |
| 208 | 198 |
| 209 mem[0] = (val >> 0) & 0xff; | 199 mem[0] = (val >> 0) & 0xff; |
| 210 mem[1] = (val >> 8) & 0xff; | 200 mem[1] = (val >> 8) & 0xff; |
| 211 } | 201 } |
| 212 | 202 |
| 213 #undef mem_put_le24 | 203 #undef mem_put_le24 |
| 214 #define mem_put_le24 mem_ops_wrap_symbol(mem_put_le24) | 204 #define mem_put_le24 mem_ops_wrap_symbol(mem_put_le24) |
| 215 static void mem_put_le24(void *vmem, MEM_VALUE_T val) | 205 static void mem_put_le24(void *vmem, MEM_VALUE_T val) { |
| 216 { | 206 MAU_T *mem = (MAU_T *)vmem; |
| 217 MAU_T *mem = (MAU_T *)vmem; | |
| 218 | 207 |
| 219 mem[0] = (val >> 0) & 0xff; | 208 mem[0] = (val >> 0) & 0xff; |
| 220 mem[1] = (val >> 8) & 0xff; | 209 mem[1] = (val >> 8) & 0xff; |
| 221 mem[2] = (val >> 16) & 0xff; | 210 mem[2] = (val >> 16) & 0xff; |
| 222 } | 211 } |
| 223 | 212 |
| 224 #undef mem_put_le32 | 213 #undef mem_put_le32 |
| 225 #define mem_put_le32 mem_ops_wrap_symbol(mem_put_le32) | 214 #define mem_put_le32 mem_ops_wrap_symbol(mem_put_le32) |
| 226 static void mem_put_le32(void *vmem, MEM_VALUE_T val) | 215 static void mem_put_le32(void *vmem, MEM_VALUE_T val) { |
| 227 { | 216 MAU_T *mem = (MAU_T *)vmem; |
| 228 MAU_T *mem = (MAU_T *)vmem; | |
| 229 | 217 |
| 230 mem[0] = (val >> 0) & 0xff; | 218 mem[0] = (val >> 0) & 0xff; |
| 231 mem[1] = (val >> 8) & 0xff; | 219 mem[1] = (val >> 8) & 0xff; |
| 232 mem[2] = (val >> 16) & 0xff; | 220 mem[2] = (val >> 16) & 0xff; |
| 233 mem[3] = (val >> 24) & 0xff; | 221 mem[3] = (val >> 24) & 0xff; |
| 234 } | 222 } |
| OLD | NEW |