ARM: simplify ff_put/avg_h264_chroma_mc4/8_neon definitions, no code change
Originally committed as revision 16677 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									c0a02a3e47
								
							
						
					
					
						commit
						77c4537313
					
				| @ -56,10 +56,11 @@ | |||||||
|         .endm |         .endm | ||||||
| 
 | 
 | ||||||
| /* chroma_mc8(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y) */ | /* 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} |         push            {r4-r7, lr} | ||||||
|         ldrd            r4,  [sp, #20] |         ldrd            r4,  [sp, #20] | ||||||
| .if \avg | .ifc \type,avg | ||||||
|         mov             lr,  r0 |         mov             lr,  r0 | ||||||
| .endif | .endif | ||||||
|         pld             [r1] |         pld             [r1] | ||||||
| @ -103,7 +104,7 @@ | |||||||
|         vld1.64         {d6, d7}, [r5], r4 |         vld1.64         {d6, d7}, [r5], r4 | ||||||
|         pld             [r1] |         pld             [r1] | ||||||
|         vrshrn.u16      d17, q9,  #6 |         vrshrn.u16      d17, q9,  #6 | ||||||
| .if \avg | .ifc \type,avg | ||||||
|         vld1.64         {d20}, [lr,:64], r2 |         vld1.64         {d20}, [lr,:64], r2 | ||||||
|         vld1.64         {d21}, [lr,:64], r2 |         vld1.64         {d21}, [lr,:64], r2 | ||||||
|         vrhadd.u8       q8,  q8,  q10 |         vrhadd.u8       q8,  q8,  q10 | ||||||
| @ -136,7 +137,7 @@ | |||||||
|         vld1.64         {d6}, [r5], r4 |         vld1.64         {d6}, [r5], r4 | ||||||
|         vrshrn.u16      d16, q8,  #6 |         vrshrn.u16      d16, q8,  #6 | ||||||
|         vrshrn.u16      d17, q9,  #6 |         vrshrn.u16      d17, q9,  #6 | ||||||
| .if \avg | .ifc \type,avg | ||||||
|         vld1.64         {d20}, [lr,:64], r2 |         vld1.64         {d20}, [lr,:64], r2 | ||||||
|         vld1.64         {d21}, [lr,:64], r2 |         vld1.64         {d21}, [lr,:64], r2 | ||||||
|         vrhadd.u8       q8,  q8,  q10 |         vrhadd.u8       q8,  q8,  q10 | ||||||
| @ -165,7 +166,7 @@ | |||||||
|         vext.8          d5,  d4,  d5,  #1 |         vext.8          d5,  d4,  d5,  #1 | ||||||
|         vrshrn.u16      d16, q8,  #6 |         vrshrn.u16      d16, q8,  #6 | ||||||
|         vrshrn.u16      d17, q9,  #6 |         vrshrn.u16      d17, q9,  #6 | ||||||
| .if \avg | .ifc \type,avg | ||||||
|         vld1.64         {d20}, [lr,:64], r2 |         vld1.64         {d20}, [lr,:64], r2 | ||||||
|         vld1.64         {d21}, [lr,:64], r2 |         vld1.64         {d21}, [lr,:64], r2 | ||||||
|         vrhadd.u8       q8,  q8,  q10 |         vrhadd.u8       q8,  q8,  q10 | ||||||
| @ -177,13 +178,15 @@ | |||||||
|         bgt             5b |         bgt             5b | ||||||
| 
 | 
 | ||||||
|         pop             {r4-r7, pc} |         pop             {r4-r7, pc} | ||||||
|  |         .endfunc | ||||||
|         .endm |         .endm | ||||||
| 
 | 
 | ||||||
| /* chroma_mc4(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y) */ | /* 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} |         push            {r4-r7, lr} | ||||||
|         ldrd            r4,  [sp, #20] |         ldrd            r4,  [sp, #20] | ||||||
| .if \avg | .ifc \type,avg | ||||||
|         mov             lr,  r0 |         mov             lr,  r0 | ||||||
| .endif | .endif | ||||||
|         pld             [r1] |         pld             [r1] | ||||||
| @ -230,7 +233,7 @@ | |||||||
|         vrshrn.u16      d16, q8,  #6 |         vrshrn.u16      d16, q8,  #6 | ||||||
|         subs            r3,  r3,  #2 |         subs            r3,  r3,  #2 | ||||||
|         pld             [r1] |         pld             [r1] | ||||||
| .if \avg | .ifc \type,avg | ||||||
|         vld1.32         {d20[0]}, [lr,:32], r2 |         vld1.32         {d20[0]}, [lr,:32], r2 | ||||||
|         vld1.32         {d20[1]}, [lr,:32], r2 |         vld1.32         {d20[1]}, [lr,:32], r2 | ||||||
|         vrhadd.u8       d16, d16, d20 |         vrhadd.u8       d16, d16, d20 | ||||||
| @ -265,7 +268,7 @@ | |||||||
|         vadd.i16        d16, d16, d17 |         vadd.i16        d16, d16, d17 | ||||||
|         vadd.i16        d17, d18, d19 |         vadd.i16        d17, d18, d19 | ||||||
|         vrshrn.u16      d16, q8,  #6 |         vrshrn.u16      d16, q8,  #6 | ||||||
| .if \avg | .ifc \type,avg | ||||||
|         vld1.32         {d20[0]}, [lr,:32], r2 |         vld1.32         {d20[0]}, [lr,:32], r2 | ||||||
|         vld1.32         {d20[1]}, [lr,:32], r2 |         vld1.32         {d20[1]}, [lr,:32], r2 | ||||||
|         vrhadd.u8       d16, d16, d20 |         vrhadd.u8       d16, d16, d20 | ||||||
| @ -295,7 +298,7 @@ | |||||||
|         vadd.i16        d17, d18, d19 |         vadd.i16        d17, d18, d19 | ||||||
|         pld             [r1] |         pld             [r1] | ||||||
|         vrshrn.u16      d16, q8,  #6 |         vrshrn.u16      d16, q8,  #6 | ||||||
| .if \avg | .ifc \type,avg | ||||||
|         vld1.32         {d20[0]}, [lr,:32], r2 |         vld1.32         {d20[0]}, [lr,:32], r2 | ||||||
|         vld1.32         {d20[1]}, [lr,:32], r2 |         vld1.32         {d20[1]}, [lr,:32], r2 | ||||||
|         vrhadd.u8       d16, d16, d20 |         vrhadd.u8       d16, d16, d20 | ||||||
| @ -309,26 +312,16 @@ | |||||||
|         bgt             5b |         bgt             5b | ||||||
| 
 | 
 | ||||||
|         pop             {r4-r7, pc} |         pop             {r4-r7, pc} | ||||||
|  |         .endfunc | ||||||
|         .endm |         .endm | ||||||
| 
 | 
 | ||||||
|         .text |         .text | ||||||
|         .align |         .align | ||||||
| 
 | 
 | ||||||
| function ff_put_h264_chroma_mc8_neon, export=1 |         h264_chroma_mc8 put | ||||||
|         h264_chroma_mc8 |         h264_chroma_mc8 avg | ||||||
|         .endfunc |         h264_chroma_mc4 put | ||||||
| 
 |         h264_chroma_mc4 avg | ||||||
| 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 |  | ||||||
| 
 | 
 | ||||||
|         /* H.264 loop filter */ |         /* H.264 loop filter */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user