Mercurial > libavcodec.hg
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; |