Originally committed as revision 10264 to svn://svn.ffmpeg.org/ffmpeg/trunk
Vitor Sessak authored on 2007/08/31 01:04:00... | ... |
@@ -269,12 +269,15 @@ static void bastardized_rice_decompress(ALACContext *alac, |
269 | 269 |
} |
270 | 270 |
} |
271 | 271 |
|
272 |
-#define SIGN_EXTENDED32(val, bits) ((val << (32 - bits)) >> (32 - bits)) |
|
272 |
+static inline int32_t sign_extended32(int32_t val, int bits) |
|
273 |
+{ |
|
274 |
+ return (val << (32 - bits)) >> (32 - bits); |
|
275 |
+} |
|
273 | 276 |
|
274 |
-#define SIGN_ONLY(v) \ |
|
275 |
- ((v < 0) ? (-1) : \ |
|
276 |
- ((v > 0) ? (1) : \ |
|
277 |
- (0))) |
|
277 |
+static inline int sign_only(int v) |
|
278 |
+{ |
|
279 |
+ return v ? FFSIGN(v) : 0; |
|
280 |
+} |
|
278 | 281 |
|
279 | 282 |
static void predictor_decompress_fir_adapt(int32_t *error_buffer, |
280 | 283 |
int32_t *buffer_out, |
... | ... |
@@ -310,7 +313,7 @@ static void predictor_decompress_fir_adapt(int32_t *error_buffer, |
310 | 310 |
prev_value = buffer_out[i]; |
311 | 311 |
error_value = error_buffer[i+1]; |
312 | 312 |
buffer_out[i+1] = |
313 |
- SIGN_EXTENDED32((prev_value + error_value), readsamplesize); |
|
313 |
+ sign_extended32((prev_value + error_value), readsamplesize); |
|
314 | 314 |
} |
315 | 315 |
return; |
316 | 316 |
} |
... | ... |
@@ -321,7 +324,7 @@ static void predictor_decompress_fir_adapt(int32_t *error_buffer, |
321 | 321 |
int32_t val; |
322 | 322 |
|
323 | 323 |
val = buffer_out[i] + error_buffer[i+1]; |
324 |
- val = SIGN_EXTENDED32(val, readsamplesize); |
|
324 |
+ val = sign_extended32(val, readsamplesize); |
|
325 | 325 |
buffer_out[i+1] = val; |
326 | 326 |
} |
327 | 327 |
|
... | ... |
@@ -356,7 +359,7 @@ static void predictor_decompress_fir_adapt(int32_t *error_buffer, |
356 | 356 |
outval = (1 << (predictor_quantitization-1)) + sum; |
357 | 357 |
outval = outval >> predictor_quantitization; |
358 | 358 |
outval = outval + buffer_out[0] + error_val; |
359 |
- outval = SIGN_EXTENDED32(outval, readsamplesize); |
|
359 |
+ outval = sign_extended32(outval, readsamplesize); |
|
360 | 360 |
|
361 | 361 |
buffer_out[predictor_coef_num+1] = outval; |
362 | 362 |
|
... | ... |
@@ -365,7 +368,7 @@ static void predictor_decompress_fir_adapt(int32_t *error_buffer, |
365 | 365 |
|
366 | 366 |
while (predictor_num >= 0 && error_val > 0) { |
367 | 367 |
int val = buffer_out[0] - buffer_out[predictor_coef_num - predictor_num]; |
368 |
- int sign = SIGN_ONLY(val); |
|
368 |
+ int sign = sign_only(val); |
|
369 | 369 |
|
370 | 370 |
predictor_coef_table[predictor_num] -= sign; |
371 | 371 |
|
... | ... |
@@ -381,7 +384,7 @@ static void predictor_decompress_fir_adapt(int32_t *error_buffer, |
381 | 381 |
|
382 | 382 |
while (predictor_num >= 0 && error_val < 0) { |
383 | 383 |
int val = buffer_out[0] - buffer_out[predictor_coef_num - predictor_num]; |
384 |
- int sign = - SIGN_ONLY(val); |
|
384 |
+ int sign = - sign_only(val); |
|
385 | 385 |
|
386 | 386 |
predictor_coef_table[predictor_num] -= sign; |
387 | 387 |
|
... | ... |
@@ -570,7 +573,7 @@ static int alac_decode_frame(AVCodecContext *avctx, |
570 | 570 |
int32_t audiobits; |
571 | 571 |
|
572 | 572 |
audiobits = get_bits(&alac->gb, alac->setinfo_sample_size); |
573 |
- audiobits = SIGN_EXTENDED32(audiobits, readsamplesize); |
|
573 |
+ audiobits = sign_extended32(audiobits, readsamplesize); |
|
574 | 574 |
|
575 | 575 |
alac->outputsamples_buffer[chan][i] = audiobits; |
576 | 576 |
} |