Rev 304 | Rev 399 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 304 | Rev 335 | ||
---|---|---|---|
Line 1... | Line -... | ||
1 | - | ||
2 | - | ||
3 | Implementation detail differences |
1 | Implementation detail differences |
4 | ================================= |
2 | ================================= |
5 | 3 | ||
6 | Filter Foundry tries to be as compatible with Filter Factory as possible. |
4 | Filter Foundry tries to be as compatible with Filter Factory as possible. |
7 | However, there are some differences that are explained in this documentation. |
5 | However, there are some differences that are explained in this documentation. |
Line 72... | Line 70... | ||
72 | ------------------------- |
70 | ------------------------- |
73 | 71 | ||
74 | In Filter Foundry 1.7.0.8, the previously undocumented variables I, U, V as well as imin, umin, vmin |
72 | In Filter Foundry 1.7.0.8, the previously undocumented variables I, U, V as well as imin, umin, vmin |
75 | have been changed to represent the actual results of the i,u,v variables: |
73 | have been changed to represent the actual results of the i,u,v variables: |
76 | 74 | ||
77 | I, imax = 255 (stayed the same) |
75 | imax = 255 (stayed the same) |
78 | U, umax = 55 (was 255 in Filter Factory) |
76 | umax = 55 (was 255 in Filter Factory) |
79 | V, vmax = 78 (was 255 in Filter Factory) |
77 | vmax = 78 (was 255 in Filter Factory) |
80 | 78 | ||
81 | imin = 0 (stayed the same) |
79 | imin = 0 (stayed the same) |
82 | umin = -55 (was 0 in Filter Factory) |
80 | umin = -55 (was 0 in Filter Factory) |
83 | vmin = -78 (was 0 in Filter Factory) |
81 | vmin = -78 (was 0 in Filter Factory) |
84 | 82 | ||
- | 83 | It is questionable if `I` was meant to be a synonym of `imax`, or if `I` was meant to be `I := imax - imin`. |
|
- | 84 | We have chosen the latter in Filter Foundry 1.7.0.9. Same thing with `U` and `V`. |
|
- | 85 | ||
- | 86 | Therefore: |
|
- | 87 | ||
- | 88 | I := imax-imin = 255 |
|
- | 89 | U := umax-umin = 110 |
|
- | 90 | V := vmax-vmin = 156 |
|
- | 91 | ||
- | 92 | ||
- | 93 | dmin, D (Testcase d_minmax.afs) |
|
- | 94 | ------- |
|
- | 95 | ||
- | 96 | **The Filter Factory manual writes:** |
|
- | 97 | ||
- | 98 | 0 corresponds to the 3 o'clock position |
|
- | 99 | 256 to the 6 o'clock position, |
|
- | 100 | 512 to the 9 o'clock position, |
|
- | 101 | 768 to the 12 o'clock position, |
|
- | 102 | and 1024 to the full rotation back to the 3 o'clock position |
|
- | 103 | ||
- | 104 | But this does not match the Windows implementation of Filter Factory |
|
- | 105 | (maybe it is true to the Mac implementation?) |
|
- | 106 | ||
- | 107 | **In the original Windows implementation we can observe:** |
|
- | 108 | ||
- | 109 | d=-512 is at 9 o'clock position |
|
- | 110 | d=-256 is at 12 o'clock position |
|
- | 111 | d=0 is at 3 o'clock position |
|
- | 112 | d=256 is at 6 o'clock position |
|
- | 113 | d=512 is the full rotation back to 3 o'clock position |
|
- | 114 | ||
- | 115 | Therefore, `dmin` has been changed from 0 to -512, |
|
- | 116 | and `D`, `dmax` has been changed from 1024 to 512. |
|
- | 117 | ||
85 | 118 | ||
86 | get(i) (Testcase getput.afs) |
119 | get(i) (Testcase getput.afs) |
87 | ------ |
120 | ------ |
88 | 121 | ||
89 | Filter Foundry: |
122 | Filter Foundry: |