[oe-commits] Gregoire Gentil : mplayer: Upgrade yuv assembly conversion in vo_omapfb

git version control git at git.openembedded.org
Mon Mar 8 15:36:57 UTC 2010


Module: openembedded.git
Branch: shr/unstable
Commit: c7fcc36b366484911d2ed2cfc881f485b4894733
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=c7fcc36b366484911d2ed2cfc881f485b4894733

Author: Gregoire Gentil <gregoire at gentil.com>
Date:   Mon Jan 18 07:50:51 2010 +0000

mplayer: Upgrade yuv assembly conversion in vo_omapfb

Signed-off-by: Koen Kooi <koen at openembedded.org>

---

 recipes/mplayer/files/yuv.S    |   57 +++++++++++++++++++++++++++++++++++++--
 recipes/mplayer/mplayer_svn.bb |    2 +-
 2 files changed, 55 insertions(+), 4 deletions(-)

diff --git a/recipes/mplayer/files/yuv.S b/recipes/mplayer/files/yuv.S
index 3eaf284..1cd2c1d 100644
--- a/recipes/mplayer/files/yuv.S
+++ b/recipes/mplayer/files/yuv.S
@@ -22,6 +22,11 @@
     DEALINGS IN THE SOFTWARE.
  */
 
+        .macro mov32    rd, val
+        movw            \rd, #:lower16:\val
+        movt            \rd, #:upper16:\val
+        .endm
+
         .fpu neon
         .text
 
@@ -49,8 +54,9 @@
 yuv420_to_yuv422:
         push            {r4-r11,lr}
         add             r4,  sp,  #36
+.Ldo_conv:
         ldm             r4, {r4-r8}
-        dmb
+        push            {r4}
 1:
         mov             tu,   u
         mov             tv,   v
@@ -102,7 +108,7 @@ yuv420_to_yuv422:
         add             v,    tv,   #8
         bgt             1b
 
-        ldr             w,    [sp, #36]
+        ldr             w,    [sp]
         subs            h,    h,    #16
         add             yuv,  yuv,  dw, lsl #4
         sub             yuv,  yuv,  w,  lsl #1
@@ -114,6 +120,51 @@ yuv420_to_yuv422:
         sub             v,    v,    w,  asr #1
         bgt             1b
 
-        pop             {r4-r11,pc}
+        pop             {r3-r11,pc}
+        .endfunc
+
+        .func   neon_open
+neon_open:
+        push            {r4-r8,lr}
+        ldrd            r4,  r5,  [r0, #16]
+        ldrd            r6,  r7,  [r0, #24]
+        lsl             r8,  r4,  #1
+        mov32           r0,  conv_params
+        stm             r0,  {r4-r8}
+        mov             r0,  #0
+        pop             {r4-r8,pc}
+        .endfunc
+
+        .func   neon_convert
+neon_convert:
+        push            {r4-r11,lr}
+        ldr             r0,  [r0]
+        mov32           r4,  conv_params
+        ldm             r1,  {r1-r3}
+        b               .Ldo_conv
+        .endfunc
+
+        .func   neon_nop
+neon_nop:
+        bx              lr
         .endfunc
 
+        .section .bss
+conv_params:
+        .skip           5*4
+        .size           conv_params, . - conv_params
+
+        .section        .rodata
+.Lname: .asciz          "neon"
+ofb_pixconv_neon:
+        .word           .Lname
+        .word           0               @ flags
+        .word           neon_open
+        .word           neon_convert
+        .word           neon_nop        @ finish
+        .word           neon_nop        @ close
+        .size           ofb_pixconv_neon, . - ofb_pixconv_neon
+
+        .section        .ofb_pixconv, "a"
+ofb_pixconv_neon_p:
+        .word           ofb_pixconv_neon
diff --git a/recipes/mplayer/mplayer_svn.bb b/recipes/mplayer/mplayer_svn.bb
index 6116d8f..1d7f30d 100644
--- a/recipes/mplayer/mplayer_svn.bb
+++ b/recipes/mplayer/mplayer_svn.bb
@@ -39,7 +39,7 @@ RCONFLICTS_${PN} = "mplayer-atty"
 RREPLACES_${PN} = "mplayer-atty"
 
 PV = "0.0+1.0rc3+svnr${SRCPV}"
-PR = "r17"
+PR = "r18"
 DEFAULT_PREFERENCE = "-1"
 DEFAULT_PREFERENCE_angstrom = "1"
 DEFAULT_PREFERENCE_shr = "1"





More information about the Openembedded-commits mailing list