-
Notifications
You must be signed in to change notification settings - Fork 0
/
RequestLinear - READ ME.txt
153 lines (82 loc) · 4.34 KB
/
RequestLinear - READ ME.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
RequestLinear v1.2 - HELP FILE (11/21/2007)
GENERAL INFO:
* RequestLinear supports all colorspaces
A little diagram to show downstream vs upstream in a script:
UpstreamFilter()
RequestLinear()
DownstreamFilter()
RequestLinear makes sure that all requests for frames from the filter
downstream are turned into linear requests for frames from the filter
upstream of it. This can be useful when you want to use a filter that
requests frames non-linearly in combination with a filter that requires
linear requests.
For example, if the filter downstream requests frame 0 and then requests
frame 5, RequestLinear would get the request for frame 5 and then request
frames 1, 2, 3, 4, and then 5 from the filter upstream.
It is possible to set a maximum number of frames for the gap that it
will fill and to specify how many frames it should cache.
syntax=>
RequestLinear(int rlim, int clim, int elim, bool rall, bool debug)
PARAMETERS:
rlim -
If the current frame request if greater than the last delivered frame
and the difference between the two is less than or equal to rlim, then
all frames between the last request and the current request will be
requested. If the current request is less than or equal to the
last request then the distance is measured from 0 to the current
request. rlim must be >= 0.
Default: 50 (int)
clim -
Sets the number of frames that the filter should cache. Frames that
are in the cache can be delivered without having to request any frames
from upstream. clim must be >= 0.
Default: 10 (int)
elim -
If the current frame ends up being requested without the previous frames
being requested (due to rlim not being large enough, clim not being large
enough, etc...), elim sets the number of frames prior to the current frame
to request in linear order prior to requesting the current frame.
Default: 5 (int)
rall -
If true, it is the same as if rlim is set to infinity. If false,
it does nothing.
Default: false (bool)
debug -
Will show which frames are being requested from upstream and
downstream. Use the utility "Debugview" from sysinternals to
view the output.
Default: false (bool)
EXAMPLE SCENARIOS:
1.) Downstream filter has requested every frame from 0 to 20 and then
requests frame 25.
if rlim >= 5 or rall = true, then RequestLinear will request frames
21 through 25 from the upstream filter
else if elim > 0, then all frames from 25-elim to 25 will be requested
else, frame 25 is requested by itself
2.) Downstream filter has requested every frame from 0 to 50 and then
requests frame 10.
if clim >= 40, then frame 10 will be returned from the cache w/o
making any upstream requests
else if rlim >= 10 or rall = true, then frames 0 through 10 will be
requested from the upstream filter
else if elim > 0, then all frames from 10-elim to 10 will be requested
else, frame 10 will be requested by itself
3.) Given RequestLinear(50,10,5) and last requested frame = 300 (assume linear
access so far)
current request: frame 320
-> linear request of all frames 301, ..., 320 (due to rlim)
current request: frame 295
-> read from cache (due to clim)
current request: frame 400
-> linear request 395,396,397,398,399,400 (due to elim)
current request: frame 230
-> linear request 225,226,227,228,229,230 (due to elim)
CHANGE LIST:
v1.2 (11/21/2007)
- added elim parameter
v1.1 - (4/09/2006)
- fixed not testing if n <= rlim if the current request was <=
to the last request (it was only testing if rall=true)
v1.0 - (3/23/2006)
- initial release
contact: forum.doom9.org nick = tritical or email: kes25c@mizzou.edu