diff --git a/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/dsputil_mmx.c b/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/dsputil_mmx.c index 2f47f5fde9..d395f54757 100644 --- a/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/dsputil_mmx.c +++ b/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/dsputil_mmx.c @@ -1641,6 +1641,7 @@ static void just_return(void) { return; } static void gmc_mmx(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height){ +#if __GNUC__ >= 3 const int w = 8; const int ix = ox>>(16+shift); const int iy = oy>>(16+shift); @@ -1755,6 +1756,7 @@ static void gmc_mmx(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int o } src += 4-h*stride; } +#endif // #if __GNUC__ >= 3 } #define PREFETCH(name, op) \ @@ -2662,7 +2664,9 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) SET_HPEL_FUNCS(avg, 1, 8, mmx); SET_HPEL_FUNCS(avg_no_rnd, 1, 8, mmx); +#if __GNUC__ >= 3 c->gmc= gmc_mmx; +#endif c->add_bytes= add_bytes_mmx; c->add_bytes_l2= add_bytes_l2_mmx; @@ -2782,7 +2786,9 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) c->h264_h_loop_filter_chroma= h264_h_loop_filter_chroma_mmx2; c->h264_v_loop_filter_chroma_intra= h264_v_loop_filter_chroma_intra_mmx2; c->h264_h_loop_filter_chroma_intra= h264_h_loop_filter_chroma_intra_mmx2; +#if __GNUC__ >= 3 c->h264_loop_filter_strength= h264_loop_filter_strength_mmx2; +#endif c->weight_h264_pixels_tab[0]= ff_h264_weight_16x16_mmx2; c->weight_h264_pixels_tab[1]= ff_h264_weight_16x8_mmx2; diff --git a/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/h264dsp_mmx.c b/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/h264dsp_mmx.c index 21be60d5f9..04b39ceb4d 100644 --- a/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/h264dsp_mmx.c +++ b/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/h264dsp_mmx.c @@ -794,6 +794,7 @@ static void h264_h_loop_filter_chroma_intra_mmx2(uint8_t *pix, int stride, int a static void h264_loop_filter_strength_mmx2( int16_t bS[2][4][4], uint8_t nnz[40], int8_t ref[2][40], int16_t mv[2][40][2], int bidir, int edges, int step, int mask_mv0, int mask_mv1, int field ) { +#if __GNUC__ >= 3 int dir; __asm__ volatile( "pxor %%mm7, %%mm7 \n\t" @@ -893,6 +894,7 @@ static void h264_loop_filter_strength_mmx2( int16_t bS[2][4][4], uint8_t nnz[40] ::"r"(bS[0]) :"memory" ); +#endif // #if __GNUC__ >= 3 }