SHARE
TWEET

Untitled

a guest Sep 13th, 2017 80 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %macro AC 2
  2. .ac%2
  3.     call add4x4_idct_%1
  4.     jmp .skipblock%2
  5. %endmacro
  6.  
  7. %macro ADD16_OP_INTRA 3
  8.     mov         r5d, dword [r1+%2*4]
  9.     cmp         byte [r4+%3], 0
  10.     jnz .ac%2
  11.     cmp         dword [r2], 0
  12.     jz .skipblock%2
  13.     call idct_dc_add_mmx2
  14. .skipblock%2:
  15. %if %2<15
  16.     add          r2, 64
  17. %else
  18.     RET
  19. %endif
  20. %endmacro
  21.  
  22. %macro IDCT_ADD16INTRA_10 1
  23. cglobal h264_idct_add16intra_10_%1,5,7
  24.     ADD16_OP_INTRA %1, 0, 4+1*8
  25.     ADD16_OP_INTRA %1, 1, 5+1*8
  26.     ADD16_OP_INTRA %1, 2, 4+2*8
  27.     ADD16_OP_INTRA %1, 3, 5+2*8
  28.     ADD16_OP_INTRA %1, 4, 6+1*8
  29.     ADD16_OP_INTRA %1, 5, 7+1*8
  30.     ADD16_OP_INTRA %1, 6, 6+2*8
  31.     ADD16_OP_INTRA %1, 7, 7+2*8
  32.     ADD16_OP_INTRA %1, 8, 4+3*8
  33.     ADD16_OP_INTRA %1, 9, 5+3*8
  34.     ADD16_OP_INTRA %1, 10, 4+4*8
  35.     ADD16_OP_INTRA %1, 11, 5+4*8
  36.     ADD16_OP_INTRA %1, 12, 6+3*8
  37.     ADD16_OP_INTRA %1, 13, 7+3*8
  38.     ADD16_OP_INTRA %1, 14, 6+4*8
  39.     ADD16_OP_INTRA %1, 15, 7+4*8
  40. %assign i 0
  41. %rep 16
  42.     AC %1, i
  43. %assign i i+1
  44. %endrep
  45. %endmacro
RAW Paste Data
Top