summaryrefslogtreecommitdiff
path: root/libswresample/resample_template.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-03-18 00:00:30 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-03-18 16:08:34 +0100
commit3d48cbc56ce778c0be7b080d35b859dc0ac0c853 (patch)
tree8dc8e58a3b1c0afe37ba61f59442e8fa8c3b6d61 /libswresample/resample_template.c
parentcf3fccce062199487eee28f9110e70cdb9f06e60 (diff)
swresample: reuse COMMON_CORE asm where possible
Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswresample/resample_template.c')
-rw-r--r--libswresample/resample_template.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libswresample/resample_template.c b/libswresample/resample_template.c
index bdb038a56f..f11053d023 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){