+ void *ret = bounce_buf;
+ void *s = bounce_buf;
+
+ switch (sw_filter) {
+ case SWFILTER_SCALE2X:
+ neon_scale2x_16_16(s, fb_current, src_w, src_w*2, src_w*2*2, src_h);
+ break;
+ case SWFILTER_SCALE3X:
+ neon_scale3x_16_16(s, fb_current, src_w, src_w*2, src_w*3*2, src_h);
+ break;
+ case SWFILTER_EAGLE2X:
+ neon_eagle2x_16_16(s, fb_current, src_w, src_w*2, src_w*2*2, src_h);
+ break;
+ case SWFILTER_NONE:
+ default:
+ break;
+ }
+
+ fb_current = vout_fbdev_flip(fb);
+ if (sw_filter == SWFILTER_NONE)
+ ret = fb_current;
+
+ return ret;