Mercurial > libavcodec.hg
comparison arm/simple_idct_armv5te.S @ 11443:361a5fcb4393 libavcodec
ARM: set size of asm functions in object files
author | mru |
---|---|
date | Tue, 09 Mar 2010 16:17:56 +0000 |
parents | 08573f5f587d |
children |
comparison
equal
deleted
inserted
replaced
11442:fe32d9ba1c86 | 11443:361a5fcb4393 |
---|---|
145 mov a4, a3 | 145 mov a4, a3 |
146 strd a3, [a1] | 146 strd a3, [a1] |
147 strd a3, [a1, #8] | 147 strd a3, [a1, #8] |
148 | 148 |
149 ldr pc, [sp], #4 | 149 ldr pc, [sp], #4 |
150 .endfunc | 150 endfunc |
151 | 151 |
152 .macro idct_col | 152 .macro idct_col |
153 ldr a4, [a1] /* a4 = col[1:0] */ | 153 ldr a4, [a1] /* a4 = col[1:0] */ |
154 mov ip, #16384 | 154 mov ip, #16384 |
155 sub ip, ip, #1 /* ip = W4 */ | 155 sub ip, ip, #1 /* ip = W4 */ |
329 mov a4, a4, asr #20 | 329 mov a4, a4, asr #20 |
330 orr a2, a2, a4, lsl #16 | 330 orr a2, a2, a4, lsl #16 |
331 str a2, [a1, #(16*4)] | 331 str a2, [a1, #(16*4)] |
332 | 332 |
333 ldr pc, [sp], #4 | 333 ldr pc, [sp], #4 |
334 .endfunc | 334 endfunc |
335 | 335 |
336 function idct_col_put_armv5te | 336 function idct_col_put_armv5te |
337 str lr, [sp, #-4]! | 337 str lr, [sp, #-4]! |
338 | 338 |
339 idct_col | 339 idct_col |
446 movgt a4, #255 | 446 movgt a4, #255 |
447 orr a2, a2, a4, lsl #8 | 447 orr a2, a2, a4, lsl #8 |
448 strh a2, [v2, -lr] | 448 strh a2, [v2, -lr] |
449 | 449 |
450 ldr pc, [sp], #4 | 450 ldr pc, [sp], #4 |
451 .endfunc | 451 endfunc |
452 | 452 |
453 function idct_col_add_armv5te | 453 function idct_col_add_armv5te |
454 str lr, [sp, #-4]! | 454 str lr, [sp, #-4]! |
455 | 455 |
456 idct_col | 456 idct_col |
596 movgt a4, #255 | 596 movgt a4, #255 |
597 orr a2, a3, a4, lsl #8 | 597 orr a2, a3, a4, lsl #8 |
598 strh a2, [v2] | 598 strh a2, [v2] |
599 | 599 |
600 ldr pc, [sp], #4 | 600 ldr pc, [sp], #4 |
601 .endfunc | 601 endfunc |
602 | 602 |
603 function ff_simple_idct_armv5te, export=1 | 603 function ff_simple_idct_armv5te, export=1 |
604 stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, lr} | 604 stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, lr} |
605 | 605 |
606 bl idct_row_armv5te | 606 bl idct_row_armv5te |
628 bl idct_col_armv5te | 628 bl idct_col_armv5te |
629 add a1, a1, #4 | 629 add a1, a1, #4 |
630 bl idct_col_armv5te | 630 bl idct_col_armv5te |
631 | 631 |
632 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} | 632 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} |
633 .endfunc | 633 endfunc |
634 | 634 |
635 function ff_simple_idct_add_armv5te, export=1 | 635 function ff_simple_idct_add_armv5te, export=1 |
636 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} | 636 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} |
637 | 637 |
638 mov a1, a3 | 638 mov a1, a3 |
663 add a1, a1, #4 | 663 add a1, a1, #4 |
664 bl idct_col_add_armv5te | 664 bl idct_col_add_armv5te |
665 | 665 |
666 add sp, sp, #8 | 666 add sp, sp, #8 |
667 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} | 667 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} |
668 .endfunc | 668 endfunc |
669 | 669 |
670 function ff_simple_idct_put_armv5te, export=1 | 670 function ff_simple_idct_put_armv5te, export=1 |
671 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} | 671 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} |
672 | 672 |
673 mov a1, a3 | 673 mov a1, a3 |
698 add a1, a1, #4 | 698 add a1, a1, #4 |
699 bl idct_col_put_armv5te | 699 bl idct_col_put_armv5te |
700 | 700 |
701 add sp, sp, #8 | 701 add sp, sp, #8 |
702 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} | 702 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} |
703 .endfunc | 703 endfunc |