root / trunk / data / ffmpeg_ / assembler.diff

Revision 290, 16.4 kB (checked in by saurik, 7 months ago)

Putting up first draft of ffmpeg.

  • libavcodec/armv4l/dsputil_arm_s.S

    diff -ru ffmpeg-export-2008-02-26/libavcodec/armv4l/dsputil_arm_s.S ffmpeg-export-2008-02-26+iPhone/libavcodec/armv4l/dsputil_arm_s.S
    old new  
    7272 
    7373@ ---------------------------------------------------------------- 
    7474        .align 8 
    75         .global put_pixels16_arm 
    76 put_pixels16_arm: 
     75        .global _put_pixels16_arm 
     76_put_pixels16_arm: 
    7777        @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 
    7878        @ block = word aligned, pixles = unaligned 
    7979        pld [r1] 
     
    134134 
    135135@ ---------------------------------------------------------------- 
    136136        .align 8 
    137         .global put_pixels8_arm 
    138 put_pixels8_arm: 
     137        .global _put_pixels8_arm 
     138_put_pixels8_arm: 
    139139        @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 
    140140        @ block = word aligned, pixles = unaligned 
    141141        pld [r1] 
     
    196196 
    197197@ ---------------------------------------------------------------- 
    198198        .align 8 
    199         .global put_pixels8_x2_arm 
    200 put_pixels8_x2_arm: 
     199        .global _put_pixels8_x2_arm 
     200_put_pixels8_x2_arm: 
    201201        @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 
    202202        @ block = word aligned, pixles = unaligned 
    203203        pld [r1] 
     
    265265        .word 4b 
    266266 
    267267        .align 8 
    268         .global put_no_rnd_pixels8_x2_arm 
    269 put_no_rnd_pixels8_x2_arm: 
     268        .global _put_no_rnd_pixels8_x2_arm 
     269_put_no_rnd_pixels8_x2_arm: 
    270270        @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 
    271271        @ block = word aligned, pixles = unaligned 
    272272        pld [r1] 
     
    336336 
    337337@ ---------------------------------------------------------------- 
    338338        .align 8 
    339         .global put_pixels8_y2_arm 
    340 put_pixels8_y2_arm: 
     339        .global _put_pixels8_y2_arm 
     340_put_pixels8_y2_arm: 
    341341        @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 
    342342        @ block = word aligned, pixles = unaligned 
    343343        pld [r1] 
     
    445445        .word 4b 
    446446 
    447447        .align 8 
    448         .global put_no_rnd_pixels8_y2_arm 
    449 put_no_rnd_pixels8_y2_arm: 
     448        .global _put_no_rnd_pixels8_y2_arm 
     449_put_no_rnd_pixels8_y2_arm: 
    450450        @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 
    451451        @ block = word aligned, pixles = unaligned 
    452452        pld [r1] 
     
    618618.endm 
    619619 
    620620        .align 8 
    621         .global put_pixels8_xy2_arm 
    622 put_pixels8_xy2_arm: 
     621        .global _put_pixels8_xy2_arm 
     622_put_pixels8_xy2_arm: 
    623623        @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 
    624624        @ block = word aligned, pixles = unaligned 
    625625        pld [r1] 
     
    654654        .word 0x0F0F0F0F 
    655655 
    656656        .align 8 
    657         .global put_no_rnd_pixels8_xy2_arm 
    658 put_no_rnd_pixels8_xy2_arm: 
     657        .global _put_no_rnd_pixels8_xy2_arm 
     658_put_no_rnd_pixels8_xy2_arm: 
    659659        @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 
    660660        @ block = word aligned, pixles = unaligned 
    661661        pld [r1] 
  • libavcodec/armv4l/jrevdct_arm.S

    diff -ru ffmpeg-export-2008-02-26/libavcodec/armv4l/jrevdct_arm.S ffmpeg-export-2008-02-26+iPhone/libavcodec/armv4l/jrevdct_arm.S
    old new  
    5454        .text 
    5555        .align 
    5656 
    57         .global j_rev_dct_ARM 
    58 j_rev_dct_ARM: 
     57        .global _j_rev_dct_ARM 
     58_j_rev_dct_ARM: 
    5959        stmdb   sp!, { r4 - r12, lr }   @ all callee saved regs 
    6060 
    6161        sub sp, sp, #4                  @ reserve some space on the stack 
  • libavcodec/armv4l/simple_idct_arm.S

    diff -ru ffmpeg-export-2008-02-26/libavcodec/armv4l/simple_idct_arm.S ffmpeg-export-2008-02-26+iPhone/libavcodec/armv4l/simple_idct_arm.S
    old new  
    5454 
    5555        .text 
    5656        .align 
    57         .global simple_idct_ARM 
     57        .global _simple_idct_ARM 
    5858 
    59 simple_idct_ARM: 
     59_simple_idct_ARM: 
    6060        @@ void simple_idct_ARM(int16_t *block) 
    6161        @@ save stack for reg needed (take all of them), 
    6262        @@ R0-R3 are scratch regs, so no need to save them, but R0 contains the pointer to block 
  • libavcodec/armv4l/simple_idct_armv5te.S

    diff -ru ffmpeg-export-2008-02-26/libavcodec/armv4l/simple_idct_armv5te.S ffmpeg-export-2008-02-26+iPhone/libavcodec/armv4l/simple_idct_armv5te.S
    old new  
    4242w57:    .long W57 
    4343 
    4444        .align 
    45         .type idct_row_armv5te, %function 
    46         .func idct_row_armv5te 
    47 idct_row_armv5te: 
     45        @.type idct_row_armv5te, %function 
     46        @.func idct_row_armv5te 
     47_idct_row_armv5te: 
    4848        str    lr, [sp, #-4]! 
    4949 
    5050        ldrd   v1, [a1, #8] 
     
    148148        strd   a3, [a1, #8] 
    149149 
    150150        ldr    pc, [sp], #4 
    151         .endfunc 
     151        @.endfunc 
    152152 
    153153        .macro idct_col 
    154154        ldr    a4, [a1]              /* a4 = col[1:0] */ 
     
    263263        .endm 
    264264 
    265265        .align 
    266         .type idct_col_armv5te, %function 
    267         .func idct_col_armv5te 
    268 idct_col_armv5te: 
     266        @.type idct_col_armv5te, %function 
     267        @.func idct_col_armv5te 
     268_idct_col_armv5te: 
    269269        str    lr, [sp, #-4]! 
    270270 
    271271        idct_col 
     
    335335        str    a2, [a1, #(16*4)] 
    336336 
    337337        ldr    pc, [sp], #4 
    338         .endfunc 
     338        @.endfunc 
    339339 
    340340        .align 
    341         .type idct_col_put_armv5te, %function 
    342         .func idct_col_put_armv5te 
    343 idct_col_put_armv5te: 
     341        @.type idct_col_put_armv5te, %function 
     342        @.func idct_col_put_armv5te 
     343_idct_col_put_armv5te: 
    344344        str    lr, [sp, #-4]! 
    345345 
    346346        idct_col 
     
    455455        strh   a2, [v2, -lr] 
    456456 
    457457        ldr    pc, [sp], #4 
    458         .endfunc 
     458        @.endfunc 
    459459 
    460460        .align 
    461         .type idct_col_add_armv5te, %function 
    462         .func idct_col_add_armv5te 
    463 idct_col_add_armv5te: 
     461        @.type idct_col_add_armv5te, %function 
     462        @.func idct_col_add_armv5te 
     463_idct_col_add_armv5te: 
    464464        str    lr, [sp, #-4]! 
    465465 
    466466        idct_col 
     
    608608        strh   a2, [v2] 
    609609 
    610610        ldr    pc, [sp], #4 
    611         .endfunc 
     611        @.endfunc 
    612612 
    613613        .align 
    614         .global simple_idct_armv5te 
    615         .type simple_idct_armv5te, %function 
    616         .func simple_idct_armv5te 
    617 simple_idct_armv5te: 
     614        .global _simple_idct_armv5te 
     615        @.type simple_idct_armv5te, %function 
     616        @.func simple_idct_armv5te 
     617_simple_idct_armv5te: 
    618618        stmfd  sp!, {v1, v2, v3, v4, v5, v6, v7, fp, lr} 
    619619 
    620         bl     idct_row_armv5te 
     620        bl     _idct_row_armv5te 
    621621        add    a1, a1, #16 
    622         bl     idct_row_armv5te 
     622        bl     _idct_row_armv5te 
    623623        add    a1, a1, #16 
    624         bl     idct_row_armv5te 
     624        bl     _idct_row_armv5te 
    625625        add    a1, a1, #16 
    626         bl     idct_row_armv5te 
     626        bl     _idct_row_armv5te 
    627627        add    a1, a1, #16 
    628         bl     idct_row_armv5te 
     628        bl     _idct_row_armv5te 
    629629        add    a1, a1, #16 
    630         bl     idct_row_armv5te 
     630        bl     _idct_row_armv5te 
    631631        add    a1, a1, #16 
    632         bl     idct_row_armv5te 
     632        bl     _idct_row_armv5te 
    633633        add    a1, a1, #16 
    634         bl     idct_row_armv5te 
     634        bl     _idct_row_armv5te 
    635635 
    636636        sub    a1, a1, #(16*7) 
    637637 
    638         bl     idct_col_armv5te 
     638        bl     _idct_col_armv5te 
    639639        add    a1, a1, #4 
    640         bl     idct_col_armv5te 
     640        bl     _idct_col_armv5te 
    641641        add    a1, a1, #4 
    642         bl     idct_col_armv5te 
     642        bl     _idct_col_armv5te 
    643643        add    a1, a1, #4 
    644         bl     idct_col_armv5te 
     644        bl     _idct_col_armv5te 
    645645 
    646646        ldmfd  sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 
    647         .endfunc 
     647        @.endfunc 
    648648 
    649649        .align 
    650         .global simple_idct_add_armv5te 
    651         .type simple_idct_add_armv5te, %function 
    652         .func simple_idct_add_armv5te 
    653 simple_idct_add_armv5te: 
     650        .global _simple_idct_add_armv5te 
     651        @.type simple_idct_add_armv5te, %function 
     652        @.func simple_idct_add_armv5te 
     653_simple_idct_add_armv5te: 
    654654        stmfd  sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} 
    655655 
    656656        mov    a1, a3 
    657657 
    658         bl     idct_row_armv5te 
     658        bl     _idct_row_armv5te 
    659659        add    a1, a1, #16 
    660         bl     idct_row_armv5te 
     660        bl     _idct_row_armv5te 
    661661        add    a1, a1, #16 
    662         bl     idct_row_armv5te 
     662        bl     _idct_row_armv5te 
    663663        add    a1, a1, #16 
    664         bl     idct_row_armv5te 
     664        bl     _idct_row_armv5te 
    665665        add    a1, a1, #16 
    666         bl     idct_row_armv5te 
     666        bl     _idct_row_armv5te 
    667667        add    a1, a1, #16 
    668         bl     idct_row_armv5te 
     668        bl     _idct_row_armv5te 
    669669        add    a1, a1, #16 
    670         bl     idct_row_armv5te 
     670        bl     _idct_row_armv5te 
    671671        add    a1, a1, #16 
    672         bl     idct_row_armv5te 
     672        bl     _idct_row_armv5te 
    673673 
    674674        sub    a1, a1, #(16*7) 
    675675 
    676         bl     idct_col_add_armv5te 
     676        bl     _idct_col_add_armv5te 
    677677        add    a1, a1, #4 
    678         bl     idct_col_add_armv5te 
     678        bl     _idct_col_add_armv5te 
    679679        add    a1, a1, #4 
    680         bl     idct_col_add_armv5te 
     680        bl     _idct_col_add_armv5te 
    681681        add    a1, a1, #4 
    682         bl     idct_col_add_armv5te 
     682        bl     _idct_col_add_armv5te 
    683683 
    684684        add    sp, sp, #8 
    685685        ldmfd  sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 
    686         .endfunc 
     686        @.endfunc 
    687687 
    688688        .align 
    689         .global simple_idct_put_armv5te 
    690         .type simple_idct_put_armv5te, %function 
    691         .func simple_idct_put_armv5te 
    692 simple_idct_put_armv5te: 
     689        .global _simple_idct_put_armv5te 
     690        @.type simple_idct_put_armv5te, %function 
     691        @.func simple_idct_put_armv5te 
     692_simple_idct_put_armv5te: 
    693693        stmfd  sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} 
    694694 
    695695        mov    a1, a3 
    696696 
    697         bl     idct_row_armv5te 
     697        bl     _idct_row_armv5te 
    698698        add    a1, a1, #16 
    699         bl     idct_row_armv5te 
     699        bl     _idct_row_armv5te 
    700700        add    a1, a1, #16 
    701         bl     idct_row_armv5te 
     701        bl     _idct_row_armv5te 
    702702        add    a1, a1, #16 
    703         bl     idct_row_armv5te 
     703        bl     _idct_row_armv5te 
    704704        add    a1, a1, #16 
    705         bl     idct_row_armv5te 
     705        bl     _idct_row_armv5te 
    706706        add    a1, a1, #16 
    707         bl     idct_row_armv5te 
     707        bl     _idct_row_armv5te 
    708708        add    a1, a1, #16 
    709         bl     idct_row_armv5te 
     709        bl     _idct_row_armv5te 
    710710        add    a1, a1, #16 
    711         bl     idct_row_armv5te 
     711        bl     _idct_row_armv5te 
    712712 
    713713        sub    a1, a1, #(16*7) 
    714714 
    715         bl     idct_col_put_armv5te 
     715        bl     _idct_col_put_armv5te 
    716716        add    a1, a1, #4 
    717         bl     idct_col_put_armv5te 
     717        bl     _idct_col_put_armv5te 
    718718        add    a1, a1, #4 
    719         bl     idct_col_put_armv5te 
     719        bl     _idct_col_put_armv5te 
    720720        add    a1, a1, #4 
    721         bl     idct_col_put_armv5te 
     721        bl     _idct_col_put_armv5te 
    722722 
    723723        add    sp, sp, #8 
    724724        ldmfd  sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 
    725         .endfunc 
     725        @.endfunc 
  • libavcodec/armv4l/simple_idct_armv6.S

    diff -ru ffmpeg-export-2008-02-26/libavcodec/armv4l/simple_idct_armv6.S ffmpeg-export-2008-02-26+iPhone/libavcodec/armv4l/simple_idct_armv6.S
    old new  
    191191  a2 = dest 
    192192*/ 
    193193        .align 
    194         .type idct_row_armv6, %function 
    195         .func idct_row_armv6 
    196 idct_row_armv6: 
     194        @.type idct_row_armv6, %function 
     195        @.func idct_row_armv6 
     196_idct_row_armv6: 
    197197        str    lr, [sp, #-4]! 
    198198 
    199199        ldr    lr, [a1, #12]         /* lr = row[7,5] */ 
     
    238238        strh   a3, [a2, #(16*5)] 
    239239        strh   a3, [a2, #(16*7)] 
    240240        ldr    pc, [sp], #4 
    241         .endfunc 
     241        @.endfunc 
    242242 
    243243/* 
    244244  Compute IDCT of single column, read as row. 
     
    246246  a2 = dest 
    247247*/ 
    248248        .align 
    249         .type idct_col_armv6, %function 
    250         .func idct_col_armv6 
    251 idct_col_armv6: 
     249        @.type idct_col_armv6, %function 
     250        @.func idct_col_armv6 
     251_idct_col_armv6: 
    252252        stmfd  sp!, {a2, lr} 
    253253 
    254254        ldr    a3, [a1]              /* a3 = row[2,0] */ 
     
    268268        strh   v5, [a2, #(16*7)] 
    269269 
    270270        ldr    pc, [sp], #4 
    271         .endfunc 
     271        @.endfunc 
    272272 
    273273/* 
    274274  Compute IDCT of single column, read as row, store saturated 8-bit. 
     
    277277  a3 = line size 
    278278*/ 
    279279        .align 
    280         .type idct_col_put_armv6, %function 
    281         .func idct_col_put_armv6 
    282 idct_col_put_armv6: 
     280        @.type idct_col_put_armv6, %function 
     281        @.func idct_col_put_armv6 
     282_idct_col_put_armv6: 
    283283        stmfd  sp!, {a2, a3, lr} 
    284284 
    285285        ldr    a3, [a1]              /* a3 = row[2,0] */ 
     
    301301        sub    a2, a2, a3, lsl #3 
    302302 
    303303        ldr    pc, [sp], #4 
    304         .endfunc 
     304        @.endfunc 
    305305 
    306306/* 
    307307  Compute IDCT of single column, read as row, add/store saturated 8-bit. 
     
    310310  a3 = line size 
    311311*/ 
    312312        .align 
    313         .type idct_col_add_armv6, %function 
    314         .func idct_col_add_armv6 
    315 idct_col_add_armv6: 
     313        @.type idct_col_add_armv6, %function 
     314        @.func idct_col_add_armv6 
     315_idct_col_add_armv6: 
    316316        stmfd  sp!, {a2, a3, lr} 
    317317 
    318318        ldr    a3, [a1]              /* a3 = row[2,0] */ 
     
    359359        sub    a2, a2, a3, lsl #3 
    360360 
    361361        ldr    pc, [sp], #4 
    362         .endfunc 
     362        @.endfunc 
    363363 
    364364/* 
    365365  Compute 8 IDCT row transforms. 
     
    394394        .endm 
    395395 
    396396        .align 
    397         .global ff_simple_idct_armv6 
    398         .type ff_simple_idct_armv6, %function 
    399         .func ff_simple_idct_armv6 
     397        .global _ff_simple_idct_armv6 
     398        @.type ff_simple_idct_armv6, %function 
     399        @.func ff_simple_idct_armv6 
    400400/* void ff_simple_idct_armv6(DCTELEM *data); */ 
    401 ff_simple_idct_armv6: 
     401_ff_simple_idct_armv6: 
    402402        stmfd  sp!, {v1, v2, v3, v4, v5, v6, v7, fp, lr} 
    403403        sub    sp, sp, #128 
    404404 
    405405        mov    a2, sp 
    406         idct_rows idct_row_armv6, 2 
     406        idct_rows _idct_row_armv6, 2 
    407407        mov    a2, a1 
    408408        mov    a1, sp 
    409         idct_rows idct_col_armv6, 2 
     409        idct_rows _idct_col_armv6, 2 
    410410 
    411411        add    sp, sp, #128 
    412412        ldmfd  sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 
    413         .endfunc 
     413        @.endfunc 
    414414 
    415415        .align 
    416         .global ff_simple_idct_add_armv6 
    417         .type ff_simple_idct_add_armv6, %function 
    418         .func ff_simple_idct_add_armv6 
     416        .global _ff_simple_idct_add_armv6 
     417        @.type ff_simple_idct_add_armv6, %function 
     418        @.func ff_simple_idct_add_armv6 
    419419/* ff_simple_idct_add_armv6(uint8_t *dest, int line_size, DCTELEM *data); */ 
    420 ff_simple_idct_add_armv6: 
     420_ff_simple_idct_add_armv6: 
    421421        stmfd  sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} 
    422422        sub    sp, sp, #128 
    423423 
    424424        mov    a1, a3 
    425425        mov    a2, sp 
    426         idct_rows idct_row_armv6, 2 
     426        idct_rows _idct_row_armv6, 2 
    427427        mov    a1, sp 
    428428        ldr    a2, [sp, #128] 
    429429        ldr    a3, [sp, #(128+4)] 
    430         idct_rows idct_col_add_armv6, 1 
     430        idct_rows _idct_col_add_armv6, 1 
    431431 
    432432        add    sp, sp, #(128+8) 
    433433        ldmfd  sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 
    434         .endfunc 
     434        @.endfunc 
    435435 
    436436        .align 
    437         .global ff_simple_idct_put_armv6 
    438         .type ff_simple_idct_put_armv6, %function 
    439         .func ff_simple_idct_put_armv6 
     437        .global _ff_simple_idct_put_armv6 
     438        @.type ff_simple_idct_put_armv6, %function 
     439        @.func ff_simple_idct_put_armv6 
    440440/* ff_simple_idct_put_armv6(uint8_t *dest, int line_size, DCTELEM *data); */ 
    441 ff_simple_idct_put_armv6: 
     441_ff_simple_idct_put_armv6: 
    442442        stmfd  sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} 
    443443        sub    sp, sp, #128 
    444444 
    445445        mov    a1, a3 
    446446        mov    a2, sp 
    447         idct_rows idct_row_armv6, 2 
     447        idct_rows _idct_row_armv6, 2 
    448448        mov    a1, sp 
    449449        ldr    a2, [sp, #128] 
    450450        ldr    a3, [sp, #(128+4)] 
    451         idct_rows idct_col_put_armv6, 1 
     451        idct_rows _idct_col_put_armv6, 1 
    452452 
    453453        add    sp, sp, #(128+8) 
    454454        ldmfd  sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 
    455         .endfunc 
     455        @.endfunc 
Note: See TracBrowser for help on using the browser.