[FFmpeg-devel] [PATCH] swresample: reuse COMMON_CORE asm where possible

James Almer jamrial at gmail.com
Tue Mar 18 04:00:30 CET 2014


Signed-off-by: James Almer <jamrial at gmail.com>
---
 libswresample/resample_template.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/libswresample/resample_template.c b/libswresample/resample_template.c
index bdb038a..f11053d 100644
--- a/libswresample/resample_template.c
+++ b/libswresample/resample_template.c
@@ -152,6 +152,7 @@ int RENAME(swri_resample)(ResampleContext *c, DELEM *dst, const DELEM *src, int
             }else if(sample_index < 0){
                 for(i=0; i<c->filter_length; i++)
                     val += src[FFABS(sample_index + i)] * (FELEM2)filter[i];
+                OUT(dst[dst_index], val);
             }else if(c->linear){
                 FELEM2 v2=0;
                 for(i=0; i<c->filter_length; i++){
@@ -159,14 +160,18 @@ int RENAME(swri_resample)(ResampleContext *c, DELEM *dst, const DELEM *src, int
                     v2  += src[sample_index + i] * (FELEM2)filter[i + c->filter_alloc];
                 }
                 val+=(v2-val)*(FELEML)frac / c->src_incr;
+                OUT(dst[dst_index], val);
             }else{
+#ifdef COMMON_CORE
+                COMMON_CORE
+#else
                 for(i=0; i<c->filter_length; i++){
                     val += src[sample_index + i] * (FELEM2)filter[i];
                 }
+                OUT(dst[dst_index], val);
+#endif
             }
 
-            OUT(dst[dst_index], val);
-
             frac += dst_incr_frac;
             index += dst_incr;
             if(frac >= c->src_incr){
-- 
1.8.3.2



More information about the ffmpeg-devel mailing list