OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004 Michael Niedermayer <michaelni@gmx.at> | 2 * Copyright (C) 2004 Michael Niedermayer <michaelni@gmx.at> |
3 * Copyright (C) 2006 Robert Edele <yartrebo@earthlink.net> | 3 * Copyright (C) 2006 Robert Edele <yartrebo@earthlink.net> |
4 * | 4 * |
5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
6 * | 6 * |
7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 void ff_snow_inner_add_yblock(const uint8_t *obmc, const int obmc_stride, uint8_
t * * block, int b_w, int b_h, int src_x, int src_y, int src_stride, slice_buffe
r * sb, int add, uint8_t * dst8); | 126 void ff_snow_inner_add_yblock(const uint8_t *obmc, const int obmc_stride, uint8_
t * * block, int b_w, int b_h, int src_x, int src_y, int src_stride, slice_buffe
r * sb, int add, uint8_t * dst8); |
127 | 127 |
128 #if CONFIG_SNOW_ENCODER | 128 #if CONFIG_SNOW_ENCODER |
129 int w53_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h); | 129 int w53_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h); |
130 int w97_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h); | 130 int w97_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h); |
131 #else | 131 #else |
132 static int w53_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int
h) {assert (0); return 0;} | 132 static int w53_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int
h) {assert (0); return 0;} |
133 static int w97_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int
h) {assert (0); return 0;} | 133 static int w97_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int
h) {assert (0); return 0;} |
134 #endif | 134 #endif |
135 | 135 |
| 136 void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, in
t decomposition_count); |
| 137 |
136 /* C bits used by mmx/sse2/altivec */ | 138 /* C bits used by mmx/sse2/altivec */ |
137 | 139 |
138 static av_always_inline void snow_interleave_line_header(int * i, int width, IDW
TELEM * low, IDWTELEM * high){ | 140 static av_always_inline void snow_interleave_line_header(int * i, int width, IDW
TELEM * low, IDWTELEM * high){ |
139 (*i) = (width) - 2; | 141 (*i) = (width) - 2; |
140 | 142 |
141 if (width & 1){ | 143 if (width & 1){ |
142 low[(*i)+1] = low[((*i)+1)>>1]; | 144 low[(*i)+1] = low[((*i)+1)>>1]; |
143 (*i)--; | 145 (*i)--; |
144 } | 146 } |
145 } | 147 } |
(...skipping 19 matching lines...) Expand all Loading... |
165 for(; i<w; i++){ | 167 for(; i<w; i++){ |
166 dst[i] = src[i] + ((ref[i] + ref[(i+1)]+W_BO + 4 * src[i]) >> W_BS); | 168 dst[i] = src[i] + ((ref[i] + ref[(i+1)]+W_BO + 4 * src[i]) >> W_BS); |
167 } | 169 } |
168 | 170 |
169 if(width&1){ | 171 if(width&1){ |
170 dst[w] = src[w] + ((2 * ref[w] + W_BO + 4 * src[w]) >> W_BS); | 172 dst[w] = src[w] + ((2 * ref[w] + W_BO + 4 * src[w]) >> W_BS); |
171 } | 173 } |
172 } | 174 } |
173 | 175 |
174 #endif /* AVCODEC_SNOW_H */ | 176 #endif /* AVCODEC_SNOW_H */ |
OLD | NEW |