diff options
author | phintuka <phintuka> | 2008-02-21 04:25:01 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2008-02-21 04:25:01 +0000 |
commit | c9cb411b1a6cc34ad3288be0227fa00abfac8874 (patch) | |
tree | f43bc3f5d6f7dc575cfb79e6450141f1c98f1445 | |
parent | dd51de2ed44ab3281934873bac940513d7df6d30 (diff) | |
download | xineliboutput-c9cb411b1a6cc34ad3288be0227fa00abfac8874.tar.gz xineliboutput-c9cb411b1a6cc34ad3288be0227fa00abfac8874.tar.bz2 |
Move sse2/mmx constants from rodata to stack (this should fix x86_32 PIC issues)
Fix aspect ratio difference check.
-rw-r--r-- | xine_post_swscale.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/xine_post_swscale.c b/xine_post_swscale.c index 2d2470c0..a574a1da 100644 --- a/xine_post_swscale.c +++ b/xine_post_swscale.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine_post_swscale.c,v 1.2 2008-02-21 02:30:53 phintuka Exp $ + * $Id: xine_post_swscale.c,v 1.3 2008-02-21 04:25:01 phintuka Exp $ * * Simple (faster) resize for avisynth * Copyright (C) 2002 Tom Barry @@ -483,9 +483,9 @@ static int do_warp_yuy2(uint8_t *dst, const uint8_t *src, int dst_start) { #if defined(__i386__) || defined(__x86_64__) - const sse2_t YMask = {uq:{UINT64_C(0x00ff00ff00ff00ff),UINT64_C(0x00ff00ff00ff00ff)}}; /* keeps only luma */ - const sse2_t FPround1 = {uq:{UINT64_C(0x0080008000800080),UINT64_C(0x0080008000800080)}}; /* round words */ - const sse2_t FPround2 = {uq:{UINT64_C(0x0000008000000080),UINT64_C(0x0000008000000080)}}; /* round dwords */ + sse2_t YMask = {uq:{UINT64_C(0x00ff00ff00ff00ff),UINT64_C(0x00ff00ff00ff00ff)}}; /* keeps only luma */ + sse2_t FPround1 = {uq:{UINT64_C(0x0080008000800080),UINT64_C(0x0080008000800080)}}; /* round words */ + sse2_t FPround2 = {uq:{UINT64_C(0x0000008000000080),UINT64_C(0x0000008000000080)}}; /* round dwords */ sse2_t vWeight1; sse2_t vWeight2; @@ -823,8 +823,8 @@ static int do_warp_yv12(uint8_t *dst, const uint8_t * const src, uint32_t *vWorkY, int dst_start) { #if defined(__i386__) || defined(__x86_64__) - const sse2_t FPround1 = {uq:{UINT64_C(0x0080008000800080),UINT64_C(0x0080008000800080)}}; /* round words */ - const sse2_t FPround2 = {uq:{UINT64_C(0x0000008000000080),UINT64_C(0x0000008000000080)}}; /* round dwords */ + sse2_t FPround1 = {uq:{UINT64_C(0x0080008000800080),UINT64_C(0x0080008000800080)}}; /* round words */ + sse2_t FPround2 = {uq:{UINT64_C(0x0000008000000080),UINT64_C(0x0000008000000080)}}; /* round dwords */ sse2_t vWeight1; sse2_t vWeight2; @@ -1582,6 +1582,7 @@ static vo_frame_t *got_frame(vo_frame_t *frame) /* calculate warp function factors */ calculate_factors(this); + adiff = this->input_aspect - this->output_aspect; if(this->output_width == frame->width && this->output_height == frame->height && adiff < 0.1 && |