diff options
author | Diego Biurrun <diego@biurrun.de> | 2011-07-03 16:56:01 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2012-08-26 14:03:57 +0200 |
commit | 1ce5dce454ea46280b188f0b7e37fc976fcfb606 (patch) | |
tree | 6ac3d5c38268352883b1258ff2de5e0ca54d9888 /libavcodec | |
parent | 88386feefd52f3d4292b9be26d299e1bb74ef703 (diff) | |
download | ffmpeg-streaming-1ce5dce454ea46280b188f0b7e37fc976fcfb606.zip ffmpeg-streaming-1ce5dce454ea46280b188f0b7e37fc976fcfb606.tar.gz |
dwt: Remove unused code.
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/dwt.c | 121 | ||||
-rw-r--r-- | libavcodec/dwt.h | 52 |
2 files changed, 1 insertions, 172 deletions
diff --git a/libavcodec/dwt.c b/libavcodec/dwt.c index 3f8a53d..be53039 100644 --- a/libavcodec/dwt.c +++ b/libavcodec/dwt.c @@ -145,38 +145,6 @@ static av_always_inline void lift(DWTELEM *dst, DWTELEM *src, DWTELEM *ref, inverse); } -static av_always_inline void inv_lift(IDWTELEM *dst, IDWTELEM *src, IDWTELEM *ref, - int dst_step, int src_step, int ref_step, - int width, int mul, int add, int shift, - int highpass, int inverse) -{ - const int mirror_left = !highpass; - const int mirror_right = (width & 1) ^ highpass; - const int w = (width >> 1) - 1 + (highpass & width); - int i; - -#define LIFT(src, ref, inv) ((src) + ((inv) ? -(ref) : +(ref))) - if (mirror_left) { - dst[0] = LIFT(src[0], ((mul * 2 * ref[0] + add) >> shift), inverse); - dst += dst_step; - src += src_step; - } - - for (i = 0; i < w; i++) - dst[i * dst_step] = LIFT(src[i * src_step], - ((mul * (ref[i * ref_step] + - ref[(i + 1) * ref_step]) + - add) >> shift), - inverse); - - if (mirror_right) { - dst[w * dst_step] = LIFT(src[w * src_step], - ((mul * 2 * ref[w * ref_step] + add) >> shift), - inverse); - } -} - -#ifndef liftS static av_always_inline void liftS(DWTELEM *dst, DWTELEM *src, DWTELEM *ref, int dst_step, int src_step, int ref_step, int width, int mul, int add, int shift, @@ -210,40 +178,6 @@ static av_always_inline void liftS(DWTELEM *dst, DWTELEM *src, DWTELEM *ref, inverse); } -static av_always_inline void inv_liftS(IDWTELEM *dst, IDWTELEM *src, - IDWTELEM *ref, int dst_step, - int src_step, int ref_step, - int width, int mul, int add, int shift, - int highpass, int inverse) -{ - const int mirror_left = !highpass; - const int mirror_right = (width & 1) ^ highpass; - const int w = (width >> 1) - 1 + (highpass & width); - int i; - - assert(shift == 4); -#define LIFTS(src, ref, inv) \ - ((inv) ? (src) + (((ref) + 4 * (src)) >> shift) \ - : -((-16 * (src) + (ref) + add / \ - 4 + 1 + (5 << 25)) / (5 * 4) - (1 << 23))) - if (mirror_left) { - dst[0] = LIFTS(src[0], mul * 2 * ref[0] + add, inverse); - dst += dst_step; - src += src_step; - } - - for (i = 0; i < w; i++) - dst[i * dst_step] = LIFTS(src[i * src_step], - mul * (ref[i * ref_step] + - ref[(i + 1) * ref_step]) + add, - inverse); - - if (mirror_right) - dst[w * dst_step] = LIFTS(src[w * src_step], - mul * 2 * ref[w * ref_step] + add, inverse); -} -#endif /* ! liftS */ - static void horizontal_decompose53i(DWTELEM *b, DWTELEM *temp, int width) { const int width2 = width >> 1; @@ -256,41 +190,8 @@ static void horizontal_decompose53i(DWTELEM *b, DWTELEM *temp, int width) } if (width & 1) temp[x] = b[2 * x]; -#if 0 - { - int A1, A2, A3, A4; - A2 = temp[1]; - A4 = temp[0]; - A1 = temp[0 + width2]; - A1 -= (A2 + A4) >> 1; - A4 += (A1 + 1) >> 1; - b[0 + width2] = A1; - b[0] = A4; - for (x = 1; x + 1 < width2; x += 2) { - A3 = temp[x + width2]; - A4 = temp[x + 1]; - A3 -= (A2 + A4) >> 1; - A2 += (A1 + A3 + 2) >> 2; - b[x + width2] = A3; - b[x] = A2; - - A1 = temp[x + 1 + width2]; - A2 = temp[x + 2]; - A1 -= (A2 + A4) >> 1; - A4 += (A1 + A3 + 2) >> 2; - b[x + 1 + width2] = A1; - b[x + 1] = A4; - } - A3 = temp[width - 1]; - A3 -= A2; - A2 += (A1 + A3 + 2) >> 2; - b[width - 1] = A3; - b[width2 - 1] = A2; - } -#else lift(b + w2, temp + w2, temp, 1, 1, 1, width, -1, 0, 1, 1, 0); lift(b, temp, b + w2, 1, 1, 1, width, 1, 2, 2, 0, 0); -#endif /* 0 */ } static void vertical_decompose53iH0(DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, @@ -371,12 +272,8 @@ static void vertical_decompose97iL0(DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, int i; for (i = 0; i < width; i++) -#ifdef liftS - b1[i] -= (W_BM * (b0[i] + b2[i]) + W_BO) >> W_BS; -#else b1[i] = (16 * 4 * b1[i] - 4 * (b0[i] + b2[i]) + W_BO * 5 + (5 << 27)) / (5 * 16) - (1 << 23); -#endif } static void vertical_decompose97iL1(DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, @@ -580,15 +477,8 @@ static void av_unused spatial_compose53i(IDWTELEM *buffer, IDWTELEM *temp, void ff_snow_horizontal_compose97i(IDWTELEM *b, IDWTELEM *temp, int width) { const int w2 = (width + 1) >> 1; - -#if 0 //maybe more understadable but slower - inv_lift(temp, b, b + w2, 2, 1, 1, width, W_DM, W_DO, W_DS, 0, 1); - inv_lift(temp + 1, b + w2, temp, 2, 1, 2, width, W_CM, W_CO, W_CS, 1, 1); - - inv_liftS(b, temp, temp + 1, 2, 2, 2, width, W_BM, W_BO, W_BS, 0, 1); - inv_lift(b + 1, temp + 1, b, 2, 2, 2, width, W_AM, W_AO, W_AS, 1, 0); -#else int x; + temp[0] = b[0] - ((3 * b[w2] + 2) >> 2); for (x = 1; x < (width >> 1); x++) { temp[2 * x] = b[x] - ((3 * (b[x + w2 - 1] + b[x + w2]) + 4) >> 3); @@ -610,7 +500,6 @@ void ff_snow_horizontal_compose97i(IDWTELEM *b, IDWTELEM *temp, int width) b[x - 1] = temp[x - 1] + ((3 * (b[x - 2] + b[x])) >> 1); } else b[x - 1] = temp[x - 1] + 3 * b[x - 2]; -#endif } static void vertical_compose97iH0(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, @@ -637,11 +526,7 @@ static void vertical_compose97iL0(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int i; for (i = 0; i < width; i++) -#ifdef liftS - b1[i] += (W_BM * (b0[i] + b2[i]) + W_BO) >> W_BS; -#else b1[i] += (W_BM * (b0[i] + b2[i]) + 4 * b1[i] + W_BO) >> W_BS; -#endif } static void vertical_compose97iL1(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, @@ -662,11 +547,7 @@ void ff_snow_vertical_compose97i(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, for (i = 0; i < width; i++) { b4[i] -= (W_DM * (b3[i] + b5[i]) + W_DO) >> W_DS; b3[i] -= (W_CM * (b2[i] + b4[i]) + W_CO) >> W_CS; -#ifdef liftS - b2[i] += (W_BM * (b1[i] + b3[i]) + W_BO) >> W_BS; -#else b2[i] += (W_BM * (b1[i] + b3[i]) + 4 * b2[i] + W_BO) >> W_BS; -#endif b1[i] += (W_AM * (b0[i] + b2[i]) + W_AO) >> W_AS; } } diff --git a/libavcodec/dwt.h b/libavcodec/dwt.h index 771a9bf..f2d7864 100644 --- a/libavcodec/dwt.h +++ b/libavcodec/dwt.h @@ -63,7 +63,6 @@ typedef struct DWTContext { #define DWT_53 1 #define liftS lift -#if 1 #define W_AM 3 #define W_AO 0 #define W_AS 1 @@ -80,57 +79,6 @@ typedef struct DWTContext { #define W_DM 3 #define W_DO 4 #define W_DS 3 -#elif 0 -#define W_AM 55 -#define W_AO 16 -#define W_AS 5 - -#define W_BM 3 -#define W_BO 32 -#define W_BS 6 - -#define W_CM 127 -#define W_CO 64 -#define W_CS 7 - -#define W_DM 7 -#define W_DO 8 -#define W_DS 4 -#elif 0 -#define W_AM 97 -#define W_AO 32 -#define W_AS 6 - -#define W_BM 63 -#define W_BO 512 -#define W_BS 10 - -#define W_CM 13 -#define W_CO 8 -#define W_CS 4 - -#define W_DM 15 -#define W_DO 16 -#define W_DS 5 - -#else - -#define W_AM 203 -#define W_AO 64 -#define W_AS 7 - -#define W_BM 217 -#define W_BO 2048 -#define W_BS 12 - -#define W_CM 113 -#define W_CO 64 -#define W_CS 7 - -#define W_DM 227 -#define W_DO 128 -#define W_DS 9 -#endif #define slice_buffer_get_line(slice_buf, line_num) \ ((slice_buf)->line[line_num] ? (slice_buf)->line[line_num] \ |