comparison imgresample.c @ 8590:7a463923ecd1 libavcodec

Change semantic of CONFIG_*, HAVE_* and ARCH_*. They are now always defined to either 0 or 1.
author aurel
date Tue, 13 Jan 2009 23:44:16 +0000
parents 7768bdfd4f7b
children 04423b2f6e0b
comparison
equal deleted inserted replaced
8589:a29b5b5c3c9d 8590:7a463923ecd1
27 #include "avcodec.h" 27 #include "avcodec.h"
28 #include "dsputil.h" 28 #include "dsputil.h"
29 #include "imgconvert.h" 29 #include "imgconvert.h"
30 #include "libswscale/swscale.h" 30 #include "libswscale/swscale.h"
31 31
32 #ifdef HAVE_ALTIVEC 32 #if HAVE_ALTIVEC
33 #include "ppc/imgresample_altivec.h" 33 #include "ppc/imgresample_altivec.h"
34 #endif 34 #endif
35 35
36 #define NB_COMPONENTS 3 36 #define NB_COMPONENTS 3
37 37
151 dst++; 151 dst++;
152 s++; 152 s++;
153 } 153 }
154 } 154 }
155 155
156 #ifdef HAVE_MMX 156 #if HAVE_MMX
157 157
158 #include "x86/mmx.h" 158 #include "x86/mmx.h"
159 159
160 #define FILTER4(reg) \ 160 #define FILTER4(reg) \
161 {\ 161 {\
338 n = (((src_width - NB_TAPS + 1) << POS_FRAC_BITS) - 1 - src_start) / 338 n = (((src_width - NB_TAPS + 1) << POS_FRAC_BITS) - 1 - src_start) /
339 src_incr; 339 src_incr;
340 } else { 340 } else {
341 n = dst_width; 341 n = dst_width;
342 } 342 }
343 #ifdef HAVE_MMX 343 #if HAVE_MMX
344 if ((mm_flags & FF_MM_MMX) && NB_TAPS == 4) 344 if ((mm_flags & FF_MM_MMX) && NB_TAPS == 4)
345 h_resample_fast4_mmx(dst, n, 345 h_resample_fast4_mmx(dst, n,
346 src, src_width, src_start, src_incr, filters); 346 src, src_width, src_start, src_incr, filters);
347 else 347 else
348 #endif 348 #endif
395 new_line, owidth); 395 new_line, owidth);
396 } 396 }
397 } 397 }
398 /* apply vertical filter */ 398 /* apply vertical filter */
399 phase_y = get_phase(src_y); 399 phase_y = get_phase(src_y);
400 #ifdef HAVE_MMX 400 #if HAVE_MMX
401 /* desactivated MMX because loss of precision */ 401 /* desactivated MMX because loss of precision */
402 if ((mm_flags & FF_MM_MMX) && NB_TAPS == 4 && 0) 402 if ((mm_flags & FF_MM_MMX) && NB_TAPS == 4 && 0)
403 v_resample4_mmx(output, owidth, 403 v_resample4_mmx(output, owidth,
404 s->line_buf + (ring_y - NB_TAPS + 1) * owidth, owidth, 404 s->line_buf + (ring_y - NB_TAPS + 1) * owidth, owidth,
405 &s->v_filters[phase_y][0]); 405 &s->v_filters[phase_y][0]);
406 else 406 else
407 #endif 407 #endif
408 #ifdef HAVE_ALTIVEC 408 #if HAVE_ALTIVEC
409 if ((mm_flags & FF_MM_ALTIVEC) && NB_TAPS == 4 && FILTER_BITS <= 6) 409 if ((mm_flags & FF_MM_ALTIVEC) && NB_TAPS == 4 && FILTER_BITS <= 6)
410 v_resample16_altivec(output, owidth, 410 v_resample16_altivec(output, owidth,
411 s->line_buf + (ring_y - NB_TAPS + 1) * owidth, 411 s->line_buf + (ring_y - NB_TAPS + 1) * owidth,
412 owidth, &s->v_filters[phase_y][0]); 412 owidth, &s->v_filters[phase_y][0]);
413 else 413 else
730 } 730 }
731 av_log(NULL, AV_LOG_INFO, "\n"); 731 av_log(NULL, AV_LOG_INFO, "\n");
732 } 732 }
733 } 733 }
734 734
735 #ifdef HAVE_MMX 735 #if HAVE_MMX
736 int mm_flags; 736 int mm_flags;
737 #endif 737 #endif
738 738
739 int main(int argc, char **argv) 739 int main(int argc, char **argv)
740 { 740 {
802 snprintf(buf, sizeof(buf), "/tmp/out%d.pgm", i); 802 snprintf(buf, sizeof(buf), "/tmp/out%d.pgm", i);
803 save_pgm(buf, img1, xsize, ysize); 803 save_pgm(buf, img1, xsize, ysize);
804 } 804 }
805 805
806 /* mmx test */ 806 /* mmx test */
807 #ifdef HAVE_MMX 807 #if HAVE_MMX
808 av_log(NULL, AV_LOG_INFO, "MMX test\n"); 808 av_log(NULL, AV_LOG_INFO, "MMX test\n");
809 fact = 0.72; 809 fact = 0.72;
810 xsize = (int)(XSIZE * fact); 810 xsize = (int)(XSIZE * fact);
811 ysize = (int)(YSIZE * fact); 811 ysize = (int)(YSIZE * fact);
812 mm_flags = FF_MM_MMX; 812 mm_flags = FF_MM_MMX;