History

blackfin: fix yuv422 to yuv420 conversion

The old code is correct only when stride = 2*width. Patch by Ronaldo Moura <ronaldo d moura monity com br> Originally committed as revision 31142 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

Ronaldo Moura committed 16 years ago

Commit 447a5b11 parent f66b3901 file · +12 −5Browse files

Unified · Split

libswscale/bfin/internal_bfin.S+12−5
@@ -479,9 +479,6 @@ DEFUN(uyvytoyv12, mL3, (const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8 · 478 unmodified lines
479479
480480 r1 = [fp + ARG_srcStride];
481481 r2 = r0 + r1;
482− r1 += -8; // i0,i1 is pre read need to correct
483− m0 = r1;
484−
485482 i0 = r0; // uyvy_T even
486483 i1 = r2; // uyvy_B odd
487484
@@ -494,6 +491,12 @@ DEFUN(uyvytoyv12, mL3, (const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8 · 6 unmodified lines
494491 p4 = p4 >> 1;
495492 p5 = p5 >> 2;
496493
494+ r2 = r0 << 1;
495+ r1 = r1 << 1;
496+ r1 = r1 - r2; // srcStride + (srcStride - 2*width)
497+ r1 += -8; // i0,i1 is pre read need to correct
498+ m0 = r1;
499+
497500 r2 = [fp + ARG_chromStride];
498501 r0 = r0 >> 1;
499502 r2 = r2 - r0;
@@ -549,8 +552,6 @@ DEFUN(yuyvtoyv12, mL3, (const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8 · 49 unmodified lines
549552
550553 r1 = [fp + ARG_srcStride];
551554 r2 = r0 + r1;
552− r1 += -8; // i0,i1 is pre read need to correct
553− m0 = r1;
554555
555556 i0 = r0; // uyvy_T even
556557 i1 = r2; // uyvy_B odd
@@ -564,6 +565,12 @@ DEFUN(yuyvtoyv12, mL3, (const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8 · 7 unmodified lines
564565 p4 = p4 >> 1;
565566 p5 = p5 >> 2;
566567
568+ r2 = r0 << 1;
569+ r1 = r1 << 1;
570+ r1 = r1 - r2; // srcStride + (srcStride - 2*width)
571+ r1 += -8; // i0,i1 is pre read need to correct
572+ m0 = r1;
573+
567574 r2 = [fp + ARG_chromStride];
568575 r0 = r0 >> 1;
569576 r2 = r2 - r0;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t