Guest User

Untitled

a guest
Jan 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. tri
  2. select triangular, linear slope (default)
  3.  
  4. qsin
  5. select quarter of sine wave
  6.  
  7. hsin
  8. select half of sine wave
  9.  
  10. esin
  11. select exponential sine wave
  12.  
  13. log
  14. select logarithmic
  15.  
  16. ipar
  17. select inverted parabola
  18.  
  19. qua
  20. select quadratic
  21.  
  22. cub
  23. select cubic
  24.  
  25. squ
  26. select square root
  27.  
  28. cbr
  29. select cubic root
  30.  
  31. par
  32. select parabola
  33.  
  34. exp
  35. select exponential
  36.  
  37. iqsin
  38. select inverted quarter of sine wave
  39.  
  40. ihsin
  41. select inverted half of sine wave
  42.  
  43. dese
  44. select double-exponential seat
  45.  
  46. desi
  47. select double-exponential sigmoid
  48.  
  49. switch (curve) {
  50. case QSIN:
  51. gain = sin(gain * M_PI / 2.0);
  52. break;
  53. case IQSIN:
  54. /* 0.6... = 2 / M_PI */
  55. gain = 0.6366197723675814 * asin(gain);
  56. break;
  57. case ESIN:
  58. gain = 1.0 - cos(M_PI / 4.0 * (CUBE(2.0*gain - 1) + 1));
  59. break;
  60. case HSIN:
  61. gain = (1.0 - cos(gain * M_PI)) / 2.0;
  62. break;
  63. case IHSIN:
  64. /* 0.3... = 1 / M_PI */
  65. gain = 0.3183098861837907 * acos(1 - 2 * gain);
  66. break;
  67. case EXP:
  68. /* -11.5... = 5*ln(0.1) */
  69. gain = exp(-11.512925464970227 * (1 - gain));
  70. break;
  71. case LOG:
  72. gain = av_clipd(1 + 0.2 * log10(gain), 0, 1.0);
  73. break;
  74. case PAR:
  75. gain = 1 - sqrt(1 - gain);
  76. break;
  77. case IPAR:
  78. gain = (1 - (1 - gain) * (1 - gain));
  79. break;
  80. case QUA:
  81. gain *= gain;
  82. break;
  83. case CUB:
  84. gain = CUBE(gain);
  85. break;
  86. case SQU:
  87. gain = sqrt(gain);
  88. break;
  89. case CBR:
  90. gain = cbrt(gain);
  91. break;
  92. case DESE:
  93. gain = gain <= 0.5 ? cbrt(2 * gain) / 2: 1 - cbrt(2 * (1 - gain)) / 2;
  94. break;
  95. case DESI:
  96. gain = gain <= 0.5 ? CUBE(2 * gain) / 2: 1 - CUBE(2 * (1 - gain)) / 2;
  97. break;
  98. }
Add Comment
Please, Sign In to add comment