Guest User

Untitled

a guest
Jul 11th, 2015
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.26 KB | None | 0 0
  1. diff --git a/libavfilter/x86/vf_removegrain.asm b/libavfilter/x86/vf_removegrain.asm
  2. index 4933b72..bf2142d 100644
  3. --- a/libavfilter/x86/vf_removegrain.asm
  4. +++ b/libavfilter/x86/vf_removegrain.asm
  5. @@ -68,43 +68,29 @@ SECTION_TEXT
  6.      LOAD m8, [a8], %1
  7.  %endmacro
  8.  
  9. -%macro SORT_AXIS 0
  10. -    mova m9, m1
  11. -    pminub m1, m8
  12. -    pmaxub m8, m9
  13. -    mova m10, m2
  14. -    pminub m2, m7
  15. -    pmaxub m7, m10
  16. -    mova m11, m3
  17. -    pminub m3, m6
  18. -    pmaxub m6, m11
  19. -    mova m12, m4
  20. -    pminub m4, m5
  21. -    pmaxub m5, m12
  22. +; %1 data type
  23. +; %2 simd register to hold maximums
  24. +; %3 simd register to hold minimums
  25. +; %4 temp location (simd register/memory)
  26. +%macro SORT_PAIR 4
  27. +    mova   %4, %2
  28. +    pmin%1 %2, %3
  29. +    pmax%1 %3, %4
  30.  %endmacro
  31.  
  32. -%macro SORT_AXIS_16 0
  33. -    mova m9, m1
  34. -    pminsw m1, m8
  35. -    pmaxsw m8, m9
  36. -    mova m10, m2
  37. -    pminsw m2, m7
  38. -    pmaxsw m7, m10
  39. -    mova m11, m3
  40. -    pminsw m3, m6
  41. -    pmaxsw m6, m11
  42. -    mova m12, m4
  43. -    pminsw m4, m5
  44. -    pmaxsw m5, m12
  45. +%macro SORT_AXIS 0
  46. +    SORT_PAIR ub, m1, m8, m9
  47. +    SORT_PAIR ub, m2, m7, m10
  48. +    SORT_PAIR ub, m3, m6, m11
  49. +    SORT_PAIR ub, m4, m5, m12
  50.  %endmacro
  51.  
  52. -; %1 simd register to hold maximums
  53. -; %2 simd register to hold minimums
  54. -; %3 temp location (simd register/memory)
  55. -%macro SORT_PAIR 3
  56. -    mova %3, %1
  57. -    pminub %1, %2
  58. -    pmaxub %2, %3
  59. +
  60. +%macro SORT_AXIS_16 0
  61. +    SORT_PAIR sw, m1, m8, m9
  62. +    SORT_PAIR sw, m2, m7, m10
  63. +    SORT_PAIR sw, m3, m6, m11
  64. +    SORT_PAIR sw, m4, m5, m12
  65.  %endmacro
  66.  
  67.  ; The loop doesn't need to do all the iterations.  It could stop when the right
  68. @@ -115,7 +101,7 @@ SECTION_TEXT
  69.          %assign i 1
  70.          %assign j 2
  71.          %rep k
  72. -            SORT_PAIR m %+ i , m %+ j , m9
  73. +            SORT_PAIR ub, m %+ i , m %+ j , m9
  74.              %assign i i+1
  75.              %assign j j+1
  76.          %endrep
  77. @@ -770,9 +756,9 @@ cglobal rg_fl_mode_15_16, 4, 5, 16, 0, dst, src, stride, pixels
  78.          paddw m12, m13
  79.          psrlw m12, 3
  80.  
  81. -        SORT_PAIR m1, m8, m0
  82. -        SORT_PAIR m2, m7, m9
  83. -        SORT_PAIR m3, m6, m14
  84. +        SORT_PAIR ub, m1, m8, m0
  85. +        SORT_PAIR ub, m2, m7, m9
  86. +        SORT_PAIR ub, m3, m6, m14
  87.          mova m4, m12
  88.          mova m5, m12
  89.          CLIPW m4, m1, m8
Advertisement
Add Comment
Please, Sign In to add comment