Mercurial > libavcodec.hg
diff i386/dsputil_mmx.c @ 3211:b77b5e7072d6 libavcodec
add MMX and SSE versions of ff_snow_inner_add_yblock
Patch by Robert Edele < yartrebo AH earthlink POIS net >
Original Thread:
Date: Mar 22, 2006 3:24 AM
Subject: [Ffmpeg-devel] [PATCH] snow mmx + sse2 part 5
author | gpoirier |
---|---|
date | Wed, 22 Mar 2006 12:08:35 +0000 |
parents | 81cafbc23b8d |
children | 57d31bdbebe8 |
line wrap: on
line diff
--- a/i386/dsputil_mmx.c Tue Mar 21 21:51:07 2006 +0000 +++ b/i386/dsputil_mmx.c Wed Mar 22 12:08:35 2006 +0000 @@ -2569,6 +2569,10 @@ extern void ff_snow_horizontal_compose97i_mmx(DWTELEM *b, int width); extern void ff_snow_vertical_compose97i_sse2(DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, DWTELEM *b3, DWTELEM *b4, DWTELEM *b5, int width); extern void ff_snow_vertical_compose97i_mmx(DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, DWTELEM *b3, DWTELEM *b4, DWTELEM *b5, int width); +extern void ff_snow_inner_add_yblock_sse2(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_buffer * sb, int add, uint8_t * dst8); +extern void ff_snow_inner_add_yblock_mmx(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_buffer * sb, int add, uint8_t * dst8); #endif void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) @@ -2962,10 +2966,12 @@ if(mm_flags & MM_SSE2){ c->horizontal_compose97i = ff_snow_horizontal_compose97i_sse2; c->vertical_compose97i = ff_snow_vertical_compose97i_sse2; + c->inner_add_yblock = ff_snow_inner_add_yblock_sse2; } else{ c->horizontal_compose97i = ff_snow_horizontal_compose97i_mmx; c->vertical_compose97i = ff_snow_vertical_compose97i_mmx; + c->inner_add_yblock = ff_snow_inner_add_yblock_mmx; } #endif }