summaryrefslogtreecommitdiffstats
path: root/image/test/reftest/downscaling/reftest.list
blob: f01780ffaa88acb3b270ff62b7c72f06f587c020 (plain)
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
# Reftests for downscaling
#
# Downscaling can be a lossy process, so a bit of mismatch is acceptable here,
# as long as it's barely noticeable visually. When necessary, this can be
# explicitly allowed via 'fuzzy'/'fuzzy-if' annotations.
#
# Many of these tests check primarily that we don't lose rows or columns of
# pixels when downscaling by making sure that the result isn't too similar to
# about:blank. A small amount of fuzziness is used to ensure that the tests
# don't pass because of very slight deviations; passing tests should be
# substantially different from about:blank. This fuzziness should *not* be
# removed as doing so would make the tests pass in situations where they
# shouldn't.
#
# IMPORTANT: For robustness, each test should be listed *twice* in this
# manifest -- once with the high quality downscaling pref disabled, and once
# with this pref enabled. The pref is set via "defaults", so
# simply appending a new test to the lists below each of those lines should be
# sufficient.
#
# Also note that Mac OS X has its own system-level downscaling algorithm, so
# tests here may need Mac-specific "fuzzy-if(cocoaWidget,...)" annotations.
# Similarly, modern versions of Windows have slightly different downscaling
# behavior than other platforms, and may require "fuzzy-if(winWidget,...)".


# RUN TESTS NOT AFFECTED BY DOWNSCALE-DURING-DECODE:
# ==================================================
fuzzy(0-14,0-416) == downscale-svg-1a.html downscale-svg-1-ref.html?80
fuzzy(65-65,468-480) == downscale-svg-1b.html downscale-svg-1-ref.html?72
fuzzy(0-8,0-292) == downscale-svg-1c.html downscale-svg-1-ref.html?64
fuzzy(7-7,208-208) == downscale-svg-1d.html downscale-svg-1-ref.html?53
fuzzy(54-55,178-178) == downscale-svg-1e.html downscale-svg-1-ref.html?40
fuzzy(64-64,31-31) == downscale-svg-1f.html downscale-svg-1-ref.html?24

# RUN TESTS WITH DOWNSCALE-DURING-DECODE DISABLED:
# ================================================
defaults pref(image.downscale-during-decode.enabled,false)

fuzzy-if(winWidget,0-16,0-20) fuzzy-if(cocoaWidget,0-106,0-31) == downscale-1.html downscale-1-ref.html

fuzzy(0-20,0-999) != downscale-2a.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2b.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2c.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2d.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2e.html?203,52,left about:blank

fuzzy(0-20,0-999) != downscale-2a.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2b.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2c.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2d.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2e.html?205,53,left about:blank

fuzzy(0-20,0-999) != downscale-2a.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2b.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2c.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2d.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2e.html?203,52,right about:blank

fuzzy(0-20,0-999) != downscale-2a.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2b.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2c.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2d.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2e.html?205,53,right about:blank

fuzzy(0-20,0-999) != downscale-2a.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2b.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2c.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2d.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2e.html?203,52,top about:blank

fuzzy(0-20,0-999) != downscale-2a.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2b.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2c.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2d.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2e.html?205,53,top about:blank

fuzzy(0-20,0-999) != downscale-2a.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2b.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2c.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2d.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2e.html?203,52,bottom about:blank

fuzzy(0-20,0-999) != downscale-2a.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2b.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2c.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2d.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2e.html?205,53,bottom about:blank

# Skip on Android because it runs reftests via http, and moz-icon isn't
# accessible from http/https origins anymore.
fuzzy(0-27,0-3940) fuzzy-if(gtkWidget,0-0,0-0) skip-if(Android) fuzzy-if(appleSilicon,0-20,0-10123) == downscale-moz-icon-1.html downscale-moz-icon-1-ref.html # gtkWidget Bug 1592059: regular is 2616, no-accel is 0, qr passes with 0

== downscale-png.html?16,16,interlaced downscale-png.html?16,16,normal
== downscale-png.html?24,24,interlaced downscale-png.html?24,24,normal

# Non-transparent and transparent ICO images
== downscale-16px.html?ff-0RGB.ico downscale-16px.html?ff-0RGB.png
fuzzy(0-1,0-1) fuzzy-if(gtkWidget&&swgl,1-1,1-1) == downscale-16px.html?ff-ARGB.ico downscale-16px.html?ff-ARGB.png

# Test downscaling from all supported formats from 256 to 32.
== downscale-32px.html?.bmp downscale-32px-ref.html
== downscale-32px.html?.gif downscale-32px-ref.html
fuzzy(0-1,0-1024) == downscale-32px.html?.jpg downscale-32px-ref.html
== downscale-32px.html?.png downscale-32px-ref.html
== downscale-32px.html?.svg downscale-32px-ref.html
== downscale-32px.html?-bmp-in.ico downscale-32px-ref.html
== downscale-32px.html?-png-in.ico downscale-32px-ref.html

# Test downscaling a JPEG with orientation metadata.
fuzzy(0-1,0-50) == downscale-orient.html downscale-orient-ref.html

# RUN TESTS WITH DOWNSCALE-DURING-DECODE ENABLED:
# ===============================================
defaults pref(image.downscale-during-decode.enabled,true)

fuzzy(0-31,0-127) fuzzy-if(d2d,0-31,0-147) == downscale-1.html downscale-1-ref.html # intermittently 147 pixels on win7 accelerated only (not win8)

fuzzy(0-20,0-999) != downscale-2a.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2b.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2c.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2d.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2e.html?203,52,left about:blank
fuzzy(0-20,0-999) != downscale-2f.html?203,52,left about:blank

fuzzy(0-20,0-999) != downscale-2a.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2b.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2c.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2d.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2e.html?205,53,left about:blank
fuzzy(0-20,0-999) != downscale-2f.html?205,53,left about:blank

fuzzy(0-20,0-999) != downscale-2a.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2b.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2c.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2d.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2e.html?203,52,right about:blank
fuzzy(0-20,0-999) != downscale-2f.html?203,52,right about:blank

fuzzy(0-20,0-999) != downscale-2a.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2b.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2c.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2d.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2e.html?205,53,right about:blank
fuzzy(0-20,0-999) != downscale-2f.html?205,53,right about:blank

fuzzy(0-20,0-999) != downscale-2a.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2b.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2c.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2d.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2e.html?203,52,top about:blank
fuzzy(0-20,0-999) != downscale-2f.html?203,52,top about:blank

fuzzy(0-20,0-999) != downscale-2a.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2b.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2c.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2d.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2e.html?205,53,top about:blank
fuzzy(0-20,0-999) != downscale-2f.html?205,53,top about:blank

fuzzy(0-20,0-999) != downscale-2a.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2b.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2c.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2d.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2e.html?203,52,bottom about:blank
fuzzy(0-20,0-999) != downscale-2f.html?203,52,bottom about:blank

fuzzy(0-20,0-999) != downscale-2a.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2b.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2c.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2d.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2e.html?205,53,bottom about:blank
fuzzy(0-20,0-999) != downscale-2f.html?205,53,bottom about:blank

# Skip on Android because it runs reftests via http, and moz-icon isn't
# accessible from http/https origins anymore.
fuzzy(0-53,0-6391) fuzzy-if(appleSilicon,0-20,0-11605) fuzzy-if(gtkWidget,18-19,5502-5568) skip-if(Android) == downscale-moz-icon-1.html downscale-moz-icon-1-ref.html # gtkWidget Bug 1592059

== downscale-png.html?16,16,interlaced downscale-png.html?16,16,normal
== downscale-png.html?24,24,interlaced downscale-png.html?24,24,normal

# Non-transparent and transparent ICO images
fuzzy(0-1,0-3) == downscale-16px.html?ff-0RGB.ico downscale-16px.html?ff-0RGB.png
fuzzy(0-3,0-32) fuzzy-if(swgl,3-3,33-33) == downscale-16px.html?ff-ARGB.ico downscale-16px.html?ff-ARGB.png

# Upside-down (negative height) BMP
== downscale-8px.html?top-to-bottom-16x16-24bpp.bmp downscale-8px.html?bmp-size-16x16-24bpp.png

# Test downscaling from all supported formats from 256 to 32.
fuzzy(0-18,0-128) == downscale-32px.html?.bmp downscale-32px-ref.html
fuzzy(0-18,0-128) == downscale-32px.html?.gif downscale-32px-ref.html
fuzzy(0-19,0-992) == downscale-32px.html?.jpg downscale-32px-ref.html
fuzzy(0-18,0-128) == downscale-32px.html?.png downscale-32px-ref.html
== downscale-32px.html?.svg downscale-32px-ref.html
fuzzy(0-18,0-128) == downscale-32px.html?-bmp-in.ico downscale-32px-ref.html
fuzzy(0-18,0-128) == downscale-32px.html?-png-in.ico downscale-32px-ref.html

# Test downscaling a JPEG with orientation metadata.
fuzzy(0-4,0-18) == downscale-orient.html downscale-orient-ref.html

# Test images taller or wider than 32767 pixels.
== huge-1.html?100x32768.png,100,100 huge-1.html?100x100.png,100,100
== huge-1.html?100x32768.png,100,32768 huge-1.html?100x100.png,100,32768
== huge-1.html?32768x100.png,100,100 huge-1.html?100x100.png,100,100
== huge-1.html?32768x100.png,32768,100 huge-1.html?100x100.png,32768,100
== huge-1.html?100x32768.gif,100,100 huge-1.html?100x100.gif,100,100
== huge-1.html?100x32768.gif,100,32768 huge-1.html?100x100.gif,100,32768
== huge-1.html?32768x100.gif,100,100 huge-1.html?100x100.gif,100,100
== huge-1.html?32768x100.gif,32768,100 huge-1.html?100x100.gif,32768,100
== huge-1.html?100x32768.jpg,100,100 huge-1.html?100x100.jpg,100,100
== huge-1.html?100x32768.jpg,100,32768 huge-1.html?100x100.jpg,100,32768
== huge-1.html?32768x100.jpg,100,100 huge-1.html?100x100.jpg,100,100
== huge-1.html?32768x100.jpg,32768,100 huge-1.html?100x100.jpg,32768,100

# Only need to run these with downscaling on
!= 1421191-1.html about:blank
== 1404366-1.html about:blank