| OLD | NEW |
| 1 /* | 1 /* |
| 2 * DSP functions for Indeo Video Interactive codecs (Indeo4 and Indeo5) | 2 * DSP functions for Indeo Video Interactive codecs (Indeo4 and Indeo5) |
| 3 * | 3 * |
| 4 * Copyright (c) 2009 Maxim Poliakovski | 4 * Copyright (c) 2009 Maxim Poliakovski |
| 5 * | 5 * |
| 6 * This file is part of FFmpeg. | 6 * This file is part of FFmpeg. |
| 7 * | 7 * |
| 8 * FFmpeg is free software; you can redistribute it and/or | 8 * FFmpeg is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Lesser General Public | 9 * modify it under the terms of the GNU Lesser General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 #include "ivi_common.h" | 31 #include "ivi_common.h" |
| 32 #include "ivi_dsp.h" | 32 #include "ivi_dsp.h" |
| 33 | 33 |
| 34 void ff_ivi_recompose53(const IVIPlaneDesc *plane, uint8_t *dst, | 34 void ff_ivi_recompose53(const IVIPlaneDesc *plane, uint8_t *dst, |
| 35 const int dst_pitch, const int num_bands) | 35 const int dst_pitch, const int num_bands) |
| 36 { | 36 { |
| 37 int x, y, indx; | 37 int x, y, indx; |
| 38 int32_t p0, p1, p2, p3, tmp0, tmp1, tmp2; | 38 int32_t p0, p1, p2, p3, tmp0, tmp1, tmp2; |
| 39 int32_t b0_1, b0_2, b1_1, b1_2, b1_3, b2_1, b2_2, b2_3, b2_4, b2_5,
b2_6; | 39 int32_t b0_1, b0_2, b1_1, b1_2, b1_3, b2_1, b2_2, b2_3, b2_4, b2_5,
b2_6; |
| 40 int32_t b3_1, b3_2, b3_3, b3_4, b3_5, b3_6, b3_7, b3_8, b3_9; | 40 int32_t b3_1, b3_2, b3_3, b3_4, b3_5, b3_6, b3_7, b3_8, b3_9; |
| 41 uint32_t pitch, back_pitch; | 41 int32_t pitch, back_pitch; |
| 42 const IDWTELEM *b0_ptr, *b1_ptr, *b2_ptr, *b3_ptr; | 42 const IDWTELEM *b0_ptr, *b1_ptr, *b2_ptr, *b3_ptr; |
| 43 | 43 |
| 44 /* all bands should have the same pitch */ | 44 /* all bands should have the same pitch */ |
| 45 pitch = plane->bands[0].pitch; | 45 pitch = plane->bands[0].pitch; |
| 46 | 46 |
| 47 /* pixels at the position "y-1" will be set to pixels at the "y" for the 1st
iteration */ | 47 /* pixels at the position "y-1" will be set to pixels at the "y" for the 1st
iteration */ |
| 48 back_pitch = 0; | 48 back_pitch = 0; |
| 49 | 49 |
| 50 /* get pointers to the wavelet bands */ | 50 /* get pointers to the wavelet bands */ |
| 51 b0_ptr = plane->bands[0].buf; | 51 b0_ptr = plane->bands[0].buf; |
| (...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 457 } \ | 457 } \ |
| 458 } \ | 458 } \ |
| 459 | 459 |
| 460 #define OP_PUT(a, b) (a) = (b) | 460 #define OP_PUT(a, b) (a) = (b) |
| 461 #define OP_ADD(a, b) (a) += (b) | 461 #define OP_ADD(a, b) (a) += (b) |
| 462 | 462 |
| 463 IVI_MC_TEMPLATE(8, _no_delta, OP_PUT); | 463 IVI_MC_TEMPLATE(8, _no_delta, OP_PUT); |
| 464 IVI_MC_TEMPLATE(8, _delta, OP_ADD); | 464 IVI_MC_TEMPLATE(8, _delta, OP_ADD); |
| 465 IVI_MC_TEMPLATE(4, _no_delta, OP_PUT); | 465 IVI_MC_TEMPLATE(4, _no_delta, OP_PUT); |
| 466 IVI_MC_TEMPLATE(4, _delta, OP_ADD); | 466 IVI_MC_TEMPLATE(4, _delta, OP_ADD); |
| OLD | NEW |