comparison mace.c @ 7815:275e43fa3dcb libavcodec

Remove cast, now tables are signed.
author vitor
date Sun, 07 Sep 2008 14:32:10 +0000
parents 3cdedd7f0017
children e4b066e695b1
comparison
equal deleted inserted replaced
7814:3cdedd7f0017 7815:275e43fa3dcb
258 return n; 258 return n;
259 } 259 }
260 260
261 static void chomp3(ChannelData *ctx, int16_t *output, uint8_t val, 261 static void chomp3(ChannelData *ctx, int16_t *output, uint8_t val,
262 const uint16_t tab1[], 262 const uint16_t tab1[],
263 const uint16_t *tab2, int tab2_stride, 263 const int16_t *tab2, int tab2_stride,
264 uint32_t numChannels) 264 uint32_t numChannels)
265 { 265 {
266 short current; 266 short current;
267 267
268 current = (short)tab2[((ctx->index & 0x7f0) >> 4)*tab2_stride + val]; 268 current = tab2[((ctx->index & 0x7f0) >> 4)*tab2_stride + val];
269 269
270 current = mace_broken_clip_int16(current + ctx->lev); 270 current = mace_broken_clip_int16(current + ctx->lev);
271 271
272 ctx->lev = current - (current >> 3); 272 ctx->lev = current - (current >> 3);
273 *output = QT_8S_2_16S(current); 273 *output = QT_8S_2_16S(current);
275 ctx->index = 0; 275 ctx->index = 0;
276 } 276 }
277 277
278 static void chomp6(ChannelData *ctx, int16_t *output, uint8_t val, 278 static void chomp6(ChannelData *ctx, int16_t *output, uint8_t val,
279 const uint16_t tab1[], 279 const uint16_t tab1[],
280 const uint16_t *tab2, int tab2_stride, 280 const int16_t *tab2, int tab2_stride,
281 uint32_t numChannels) 281 uint32_t numChannels)
282 { 282 {
283 short current; 283 short current;
284 284
285 current = (short)tab2[((ctx->index & 0x7f0) >> 4)*tab2_stride + val]; 285 current = tab2[((ctx->index & 0x7f0) >> 4)*tab2_stride + val];
286 286
287 if ((ctx->previous ^ current) >= 0) { 287 if ((ctx->previous ^ current) >= 0) {
288 ctx->factor = FFMIN(ctx->factor + 506, 32767); 288 ctx->factor = FFMIN(ctx->factor + 506, 32767);
289 } else { 289 } else {
290 if (ctx->factor - 314 < -32768) 290 if (ctx->factor - 314 < -32768)