-rw-r--r-- | noncore/multimedia/opieplayer2/xinevideowidget.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/noncore/multimedia/opieplayer2/xinevideowidget.cpp b/noncore/multimedia/opieplayer2/xinevideowidget.cpp index 791818e..0833784 100644 --- a/noncore/multimedia/opieplayer2/xinevideowidget.cpp +++ b/noncore/multimedia/opieplayer2/xinevideowidget.cpp @@ -50,11 +50,12 @@ // 180 deg rot: copy a line from src to dst reversed static inline void memcpy_rev ( void *dst, void *src, size_t len ) { - ((char *) src ) += len; - len >>= 1; + + ((char *) src ) += ( len << 1 ); + while ( len-- ) *((short int *) dst )++ = *--((short int *) src ); } @@ -191,9 +192,9 @@ void XineVideoWidget::paintEvent ( QPaintEvent * ) if ( framefill ) { // blit in the video frame // see above for an explanation of the different memcpys switch ( rot ) { - case 0: memcpy ( dst + leftfill, src, framefill ); break; + case 0: memcpy ( dst + leftfill, src, framefill & ~1 ); break; case 1: memcpy_step ( dst + leftfill, src, framefill, m_bytes_per_line_frame ); break; case 2: memcpy_rev ( dst + leftfill, src, framefill ); break; case 3: memcpy_step_rev ( dst + leftfill, src, framefill, m_bytes_per_line_frame ); break; default: break; |