Bug 1392143 - P1. Change video size used for testing if h264 decoder is working. r=mattwoodrow draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Wed, 06 Sep 2017 15:42:46 +0200
changeset 661372 841fe4eff706d78ac4267679a21902c9b9c1b07a
parent 661368 cd88f7fba8bdc30c1b1d885e6065a81a2960c3cd
child 661373 dcfb26420f2aa2b3b8972f2a9ad35a141b37e74a
push id78726
push userbmo:jyavenard@mozilla.com
push dateFri, 08 Sep 2017 09:59:08 +0000
reviewersmattwoodrow
bugs1392143
milestone57.0a1
Bug 1392143 - P1. Change video size used for testing if h264 decoder is working. r=mattwoodrow AMD incorrectly decode videos with a resolution that is less than 128x128, as such with the test failing we disable hardware decoding on those machines, even though other resolutions work well. So we use a 132x132 video instead. MozReview-Commit-ID: 80mk11CNsil
toolkit/components/gfx/SanityTest.js
toolkit/components/gfx/content/videotest.mp4
--- a/toolkit/components/gfx/SanityTest.js
+++ b/toolkit/components/gfx/SanityTest.js
@@ -7,18 +7,18 @@
 const { utils: Cu, interfaces: Ci, classes: Cc, results: Cr } = Components;
 
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
 const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 const FRAME_SCRIPT_URL = "chrome://gfxsanity/content/gfxFrameScript.js";
 
-const PAGE_WIDTH = 92;
-const PAGE_HEIGHT = 166;
+const PAGE_WIDTH = 160;
+const PAGE_HEIGHT = 234;
 const DRIVER_PREF = "sanity-test.driver-version";
 const DEVICE_PREF = "sanity-test.device-id";
 const VERSION_PREF = "sanity-test.version";
 const ADVANCED_LAYERS_PREF = "sanity-test.advanced-layers";
 const DISABLE_VIDEO_PREF = "media.hardware-video-decoding.failed";
 const RUNNING_PREF = "sanity-test.running";
 const TIMEOUT_SEC = 20;
 
@@ -97,29 +97,29 @@ function takeWindowSnapshot(win, ctx) {
   var flags = ctx.DRAWWINDOW_DRAW_CARET | ctx.DRAWWINDOW_DRAW_VIEW | ctx.DRAWWINDOW_USE_WIDGET_LAYERS;
   ctx.drawWindow(win.ownerGlobal, 0, 0, PAGE_WIDTH, PAGE_HEIGHT, "rgb(255,255,255)", flags);
 }
 
 // Verify that all the 4 coloured squares of the video
 // render as expected (with a tolerance of 64 to allow for
 // yuv->rgb differences between platforms).
 //
-// The video is 64x64, and is split into quadrants of
+// The video is 132*132, and is split into quadrants of
 // different colours. The top left of the video is 8,72
-// and we test a pixel 10,10 into each quadrant to avoid
+// and we test a pixel 33,33 into each quadrant to avoid
 // blending differences at the edges.
 //
 // We allow massive amounts of fuzz for the colours since
 // it can depend hugely on the yuv -> rgb conversion, and
 // we don't want to fail unnecessarily.
 function verifyVideoRendering(ctx) {
-  return testPixel(ctx, 18, 82, 255, 255, 255, 255, 64) &&
-    testPixel(ctx, 50, 82, 0, 255, 0, 255, 64) &&
-    testPixel(ctx, 18, 114, 0, 0, 255, 255, 64) &&
-    testPixel(ctx, 50, 114, 255, 0, 0, 255, 64);
+  return testPixel(ctx, 41, 105, 255, 255, 255, 255, 64) &&
+    testPixel(ctx, 107, 105, 0, 255, 0, 255, 64) &&
+    testPixel(ctx, 41, 171, 0, 0, 255, 255, 64) &&
+    testPixel(ctx, 107, 171, 255, 0, 0, 255, 64);
 }
 
 // Verify that the middle of the layers test is the color we expect.
 // It's a red 64x64 square, test a pixel deep into the 64x64 square
 // to prevent fuzzing.
 function verifyLayersRendering(ctx) {
   return testPixel(ctx, 18, 18, 255, 0, 0, 255, 64);
 }
index 42cf6e1aa6dfc6260ec535813bc753c3724f96e9..425c1cd5c524f4248722e1d495148a0af74140a3
GIT binary patch
literal 1721
zc$|$@Z)hAv6rao0P-<JMrlqZ^Olv|yo4f4p-6fZ+3r*6}R1*kdgJ|tCw>x{c-tO&Y
zckW-5nnGGCk$?#i+xkHZ8dB7tC<SSyVg#iYgbEs3KZMv;DOkZ+5XAG%UD8~l6^EUf
z-@NyGZ|1!>H-`|yIx9GaXIltWAwENwNLCdsCoCd_R_iXM2>D;NG{S)Me)WCD;@NBa
ze!g&Hrt92mP2c00M}N7Ums-L&fK}V2Sd2*6m7)<5$B7h<wzYwxD+q+<p5A@?17Y0W
z*9lCGs-Wn!oq|bqh9yA=1tdXi1!0mgC)V7Y%jJSuL!-7y(m~rzH1l18NoJYAu^ndE
zX)lIV5+|xGVwdW22x~NM+G<J`V?s>8Bu&hMM`a-&iV1m93}K7PNt(xACJv|-J6-`y
zVN_gA7J~v9!GJ9zPc?;m6v0AqNjgDgu?4G1*S3fPrXpr8HBG|<6wOC9l>t!uEm?pg
z5N*ItQ&|$5L=o%6V~XRY42Lty4*DI%)^(3EIUr${biu-t!`QU#6iLEDS(J&`GYyq4
z2?U&WOM9q>MHoMak!I9236MY@H#06ND5`Baguz;c6fu_=X>b8VmvD~m5{r6}thnM7
z02`Vt0VW!8cocCZZV<kcX1KHzSB@HqB#Q&G9hz1WwgcL-&;ipFEr4%XiU<o(v5Yh<
zv8U2BRWnQu3%Im9PpM12B$&IZayMMAcU4(+b!^2UuRJVR$WkaM;C>#AECgEsI^1z-
zCV9D~4S>g}1DP`%C=y%<s3G_w{ZM~iO*9BM_zFESgmxAGy5qgLCbd5_9$eLMIWxU+
z$GX|8V@;1A&3%023+>SQV&fB=CMT!QY`;Bvde`vC?oB^jxt{#s$6K?FpFj1`&I_Mi
z>iMo_^u*U&g^AH4-Cw=3C3<wEWBA*#_Vb0o@hAVRX__DC=sni3`}w&&tDmdRow_!0
z(m(R+*v-)gPyeRQ9iN)`<k&~sI_0Yk`q}Es<EIh_Hr5@US-bx2`Sa(jNZ$k94{v$t
zg@e@_>ieE8KJw|C(OLg{-(0`Zapw(Vc<OM|#MJ9=#g3!FrVrOdez)f9wRZSHBFnb3
z5T0pelNwsq{6E3ah<u2DOU<{OwQ{`&{b#F!Zzt3+1^5t4mG<=ii?_yqSpJ`VhZZ_Q
zbyQ;>%(c|?ScOI7lCAHIr5OYOwzQS8OQoY8oGvW_NzHT@HT)^5WcKl=rHiCBlX8x)
z2QHTmpeAdToK_yQPAltbHMqeQhgzF)O<cylbsmeGfG0iXX%(E4{58EtDtORCs0-$<
zdootG&BY>&A@JJi)6o6JS+q3)^Sd)0d;hq3aWAjRDn5MqSnoSe`%rcA*4(8X7r|tM
zLp*0;3*I+-tdwcAB&*`M76MS0%kTCY&<&JT{+E|zs$IbspvN;B;}v?wqNSO)?UmJl
m3cAE`%*x0DM!Dqmlg#E0x4~ZyS<Fc{$?B2TU{nl>g77zK=(L&u