Mercurial > libavcodec.hg
comparison x86/dsputil_mmx.c @ 8798:a5c8210814d7 libavcodec
Add check whether the compiler/assembler supports 10 or more operands.
thanks to Loren for some help with the asm statements
author | diego |
---|---|
date | Wed, 11 Feb 2009 11:16:00 +0000 |
parents | 31138c296ac6 |
children | 53f9f3994ec8 |
comparison
equal
deleted
inserted
replaced
8797:530309ea02d8 | 8798:a5c8210814d7 |
---|---|
546 ); | 546 ); |
547 for(; i<w; i++) | 547 for(; i<w; i++) |
548 dst[i] = src1[i] + src2[i]; | 548 dst[i] = src1[i] + src2[i]; |
549 } | 549 } |
550 | 550 |
551 #if HAVE_7REGS | 551 #if HAVE_7REGS && HAVE_TEN_OPERANDS |
552 static void add_hfyu_median_prediction_cmov(uint8_t *dst, uint8_t *top, uint8_t *diff, int w, int *left, int *left_top) { | 552 static void add_hfyu_median_prediction_cmov(uint8_t *dst, uint8_t *top, uint8_t *diff, int w, int *left, int *left_top) { |
553 x86_reg w2 = -w; | 553 x86_reg w2 = -w; |
554 x86_reg x; | 554 x86_reg x; |
555 int l = *left & 0xff; | 555 int l = *left & 0xff; |
556 int tl = *left_top & 0xff; | 556 int tl = *left_top & 0xff; |
2797 c->biweight_h264_pixels_tab[7]= ff_h264_biweight_4x2_mmx2; | 2797 c->biweight_h264_pixels_tab[7]= ff_h264_biweight_4x2_mmx2; |
2798 | 2798 |
2799 #if HAVE_YASM | 2799 #if HAVE_YASM |
2800 c->add_hfyu_median_prediction = ff_add_hfyu_median_prediction_mmx2; | 2800 c->add_hfyu_median_prediction = ff_add_hfyu_median_prediction_mmx2; |
2801 #endif | 2801 #endif |
2802 #if HAVE_7REGS | 2802 #if HAVE_7REGS && HAVE_TEN_OPERANDS |
2803 if( mm_flags&FF_MM_3DNOW ) | 2803 if( mm_flags&FF_MM_3DNOW ) |
2804 c->add_hfyu_median_prediction = add_hfyu_median_prediction_cmov; | 2804 c->add_hfyu_median_prediction = add_hfyu_median_prediction_cmov; |
2805 #endif | 2805 #endif |
2806 | 2806 |
2807 if (CONFIG_CAVS_DECODER) | 2807 if (CONFIG_CAVS_DECODER) |