[FFmpeg-cvslog] r16677 - trunk/libavcodec/arm/h264dsp_neon.S

mru subversion
Sun Jan 18 21:43:12 CET 2009


Author: mru
Date: Sun Jan 18 21:43:11 2009
New Revision: 16677

Log:
ARM: simplify ff_put/avg_h264_chroma_mc4/8_neon definitions, no code change

Modified:
   trunk/libavcodec/arm/h264dsp_neon.S

Modified: trunk/libavcodec/arm/h264dsp_neon.S
==============================================================================
--- trunk/libavcodec/arm/h264dsp_neon.S	Sun Jan 18 19:31:54 2009	(r16676)
+++ trunk/libavcodec/arm/h264dsp_neon.S	Sun Jan 18 21:43:11 2009	(r16677)
@@ -56,10 +56,11 @@
         .endm
 
 /* chroma_mc8(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y) */
-        .macro  h264_chroma_mc8 avg=0
+        .macro  h264_chroma_mc8 type
+function ff_\type\()_h264_chroma_mc8_neon, export=1
         push            {r4-r7, lr}
         ldrd            r4,  [sp, #20]
-.if \avg
+.ifc \type,avg
         mov             lr,  r0
 .endif
         pld             [r1]
@@ -103,7 +104,7 @@
         vld1.64         {d6, d7}, [r5], r4
         pld             [r1]
         vrshrn.u16      d17, q9,  #6
-.if \avg
+.ifc \type,avg
         vld1.64         {d20}, [lr,:64], r2
         vld1.64         {d21}, [lr,:64], r2
         vrhadd.u8       q8,  q8,  q10
@@ -136,7 +137,7 @@
         vld1.64         {d6}, [r5], r4
         vrshrn.u16      d16, q8,  #6
         vrshrn.u16      d17, q9,  #6
-.if \avg
+.ifc \type,avg
         vld1.64         {d20}, [lr,:64], r2
         vld1.64         {d21}, [lr,:64], r2
         vrhadd.u8       q8,  q8,  q10
@@ -165,7 +166,7 @@
         vext.8          d5,  d4,  d5,  #1
         vrshrn.u16      d16, q8,  #6
         vrshrn.u16      d17, q9,  #6
-.if \avg
+.ifc \type,avg
         vld1.64         {d20}, [lr,:64], r2
         vld1.64         {d21}, [lr,:64], r2
         vrhadd.u8       q8,  q8,  q10
@@ -177,13 +178,15 @@
         bgt             5b
 
         pop             {r4-r7, pc}
+        .endfunc
         .endm
 
 /* chroma_mc4(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y) */
-        .macro  h264_chroma_mc4 avg=0
+        .macro  h264_chroma_mc4 type
+function ff_\type\()_h264_chroma_mc4_neon, export=1
         push            {r4-r7, lr}
         ldrd            r4,  [sp, #20]
-.if \avg
+.ifc \type,avg
         mov             lr,  r0
 .endif
         pld             [r1]
@@ -230,7 +233,7 @@
         vrshrn.u16      d16, q8,  #6
         subs            r3,  r3,  #2
         pld             [r1]
-.if \avg
+.ifc \type,avg
         vld1.32         {d20[0]}, [lr,:32], r2
         vld1.32         {d20[1]}, [lr,:32], r2
         vrhadd.u8       d16, d16, d20
@@ -265,7 +268,7 @@
         vadd.i16        d16, d16, d17
         vadd.i16        d17, d18, d19
         vrshrn.u16      d16, q8,  #6
-.if \avg
+.ifc \type,avg
         vld1.32         {d20[0]}, [lr,:32], r2
         vld1.32         {d20[1]}, [lr,:32], r2
         vrhadd.u8       d16, d16, d20
@@ -295,7 +298,7 @@
         vadd.i16        d17, d18, d19
         pld             [r1]
         vrshrn.u16      d16, q8,  #6
-.if \avg
+.ifc \type,avg
         vld1.32         {d20[0]}, [lr,:32], r2
         vld1.32         {d20[1]}, [lr,:32], r2
         vrhadd.u8       d16, d16, d20
@@ -309,26 +312,16 @@
         bgt             5b
 
         pop             {r4-r7, pc}
+        .endfunc
         .endm
 
         .text
         .align
 
-function ff_put_h264_chroma_mc8_neon, export=1
-        h264_chroma_mc8
-        .endfunc
-
-function ff_avg_h264_chroma_mc8_neon, export=1
-        h264_chroma_mc8 avg=1
-        .endfunc
-
-function ff_put_h264_chroma_mc4_neon, export=1
-        h264_chroma_mc4
-        .endfunc
-
-function ff_avg_h264_chroma_mc4_neon, export=1
-        h264_chroma_mc4 avg=1
-        .endfunc
+        h264_chroma_mc8 put
+        h264_chroma_mc8 avg
+        h264_chroma_mc4 put
+        h264_chroma_mc4 avg
 
         /* H.264 loop filter */
 




More information about the ffmpeg-cvslog mailing list