Last Comment Bug 765150 - HTML5 videos playback shows a Purple screen on Motorola devices?
: HTML5 videos playback shows a Purple screen on Motorola devices?
Product: Firefox for Android
Classification: Client Software
Component: General (show other bugs)
: Trunk
: ARM Android
: -- major (vote)
: Firefox 14
Assigned To: Vladimir Vukicevic [:vlad] [:vladv]
: Sebastian Kaspari (:sebastian)
Depends on: 767625
  Show dependency treegraph
Reported: 2012-06-15 00:01 PDT by Tony Chung [:tchung]
Modified: 2016-07-29 14:25 PDT (History)
17 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

logcat (235.25 KB, text/plain)
2012-06-15 00:01 PDT, Tony Chung [:tchung]
no flags Details
purple screen screenshot (253.41 KB, image/png)
2012-06-15 00:08 PDT, Tony Chung [:tchung]
no flags Details
fix purple video (40.90 KB, patch)
2012-07-04 15:12 PDT, Vladimir Vukicevic [:vlad] [:vladv]
jmuizelaar: review+
Details | Diff | Splinter Review
updated patch for checkin (41.19 KB, patch)
2012-07-05 11:41 PDT, Vladimir Vukicevic [:vlad] [:vladv]
akeybl: approval‑mozilla‑aurora+
akeybl: approval‑mozilla‑beta+
akeybl: approval‑mozilla‑release-
Details | Diff | Splinter Review

Description Tony Chung [:tchung] 2012-06-15 00:01:45 PDT
Created attachment 633412 [details]

This one worries me, since we disable flash on tegra gingerbread devices, but we still allow html5 video support.

playback of a html5 video always shows purple screens against a Tegra Chip.  this was tested on youtube.  What's even worse, minimizing fennec continues to stream the audio on homescreen and even other apps.  The only way to kill the video/audio playback is to relaunch open fennec and kill the tab.

See Video screencast:   Also attached a logcat during playback.

1) install Fx14 beta 7 build 3, Motorola Atrix Android 2.3.6  (Also reproduces on 06-14 Nightly)
2) load a page that plays html5 video like youtube (eg. see URL)
3) play the video, and verify any html5 video on this device will render purple screen.  
4) Exit fennec, and verify audio continues to stream throughout the device.

- no purple screen on html5 videos.  Also, audio is killed when exiting fennec to android home screen

- purple screen and leaking audio

Flagging for blocking-1.0? to determine how many tegra phones on gingerbread out there encounter this same problem when watching html5 videos.  given that we dont support flash right now, we should get youtube html5 videos working properly at the very least.
Comment 1 Tony Chung [:tchung] 2012-06-15 00:06:02 PDT
Specs of the motorola Atrix im using.

Internal Mem 	16 GB storage, 1 GB RAM
OS 	Android OS, v2.2 (Froyo), upgradable to v2.3
Chipset 	Nvidia Tegra 2 AP20H
CPU 	Dual-core 1 GHz Cortex-A9
GPU 	ULP GeForce

More at:
Comment 2 Tony Chung [:tchung] 2012-06-15 00:08:55 PDT
Created attachment 633416 [details]
purple screen screenshot
Comment 3 Tony Chung [:tchung] 2012-06-15 00:12:33 PDT
Google Play report, not sure if issue is related:

Jamie - June 3, 2012 - Motorola Atrix with version 14.0
Didn't like it with in the first few seconds

My keyboard app(hackersapp) seems like it's buggy with firefox. Works fine on my other browsers. I can also watch youtube videos on my other browsers(dosen't work on firefox?!). So until that is fixed I'll stick with dolphin browser.....
Comment 4 Aaron Train [:aaronmt] 2012-06-15 07:36:38 PDT
I get Flash on your URL. Did you opt-in to trial HTML5 video at
Comment 5 Tony Chung [:tchung] 2012-06-15 07:54:03 PDT
Nope, I just searched for "dark knight" and clicked the first video listed.  Not signed in, And most videos will load.  If they don't because it's flash only, I get an error that won't play it.

My guess is it's falling back to html5 if flash isn't found.
Comment 6 Tony Chung [:tchung] 2012-06-15 09:31:05 PDT
Another example site:
Comment 7 Kevin Brosnan [:kbrosnan] 2012-06-15 11:22:21 PDT
Marcia do you get the same thing on your Photon?
Comment 8 Tony Chung [:tchung] 2012-06-15 12:36:55 PDT
checked on Firefox XUL ESR on release channel, and it does not have this problem.  working on range.
Comment 9 Tony Chung [:tchung] 2012-06-15 13:31:33 PDT
Unfortunately, there is a bunch of missing Native builds from 12/31/2011 - 5/15/2012 where the regression range lies.   This is against

I found a local maple build tracing back to 2/19.   Here are my findings:

12/31/2011 (nightly) - works fine
2/19/2012 (maple branch) - broken, purple screen.

so somewhere within those 2 months, purple screens on html5 regressed.
Comment 10 Marcia Knous [:marcia - use ni] 2012-06-15 13:32:33 PDT
I don't see the purple issue on Motorola Photon using or

I see a different issue trying to playback where the video started randomly resizing itself. I will try to see if can repro and file a separate bug on that.
Comment 11 James Willcox (:snorp) ( 2012-06-15 13:49:00 PDT
We probably use a GL shader to convert the YUV data for the video which has some kind of problem on Tegra 2. This also explains why the bug shows up in or around Maple since we wouldn't have used a shader before. Probably need gfx to look into this.
Comment 12 Tony Chung [:tchung] 2012-06-17 23:08:19 PDT
Any ideas from the gfx team yet?
Comment 13 JP Rosevear [:jpr] 2012-06-18 05:38:22 PDT
(In reply to Marcia Knous [:marcia] from comment #10)
> I don't see the purple issue on Motorola Photon using
> or
> I see a different issue trying to playback
> where the video started
> randomly resizing itself. I will try to see if can repro and file a separate
> bug on that.

Possibly bug 754434
Comment 14 Jeff Muizelaar [:jrmuizel] 2012-06-18 07:27:19 PDT
I also do not see the problem on an Asus Transformer.
Comment 15 Aaron Train [:aaronmt] 2012-06-18 08:01:05 PDT
As well not seeing this on a TF201 (Tegra 3, GeForce ULP)
Comment 16 Aaron Train [:aaronmt] 2012-06-18 10:03:40 PDT
Vlad, do you see this on your Atrix?
Comment 17 Vladimir Vukicevic [:vlad] [:vladv] 2012-06-18 10:04:26 PDT
I'll check when I get home -- I'm no longer using the Atrix as my primary phone (switched to a One X).
Comment 18 Xiao Meng Wei :xwei 2012-06-18 11:44:42 PDT
Checked on samsung GT-P7300 with Android 3.1. Does not appear on nightly(20120618) or 14beta7.
Comment 19 Xiao Meng Wei :xwei 2012-06-18 11:47:10 PDT
(In reply to Xiao Meng Wei :xwei from comment #18)
> Checked on samsung GT-P7300 with Android 3.1. Does not appear on
> nightly(20120618) or 14beta7.

The above device has a NVIDIA Tegra 2 250 T20 CPU
Comment 20 Johnathan Nightingale [:johnath] 2012-06-18 12:11:08 PDT
Discussed in triage, moving to .N and assigning to Vlad since JP says he's already looking at it.
Comment 21 Vladimir Vukicevic [:vlad] [:vladv] 2012-06-18 17:36:58 PDT
I can reproduce this on my Atrix, using the webmaker video (couldn't get youtube to actually serve me any content).  The videos are mostly tinged purple, occasionally a clear frame comes through.  You can still see the video playing through the purple tinge.  My guess?  Some RGBA ordering issue -- I think this is what you'd get if R and A were swapped (where R would always be 255 in this case).

I'll aim to have a fix tomorrow; need to clean up my Atrix some more to make it useful for debugging.
Comment 22 Vladimir Vukicevic [:vlad] [:vladv] 2012-06-19 13:01:53 PDT
From playing with the shader... I think somehow the red and blue channels in the output are being saturated to 1.0.  If I force the Cb/Cr input channels to 0 in the texture, I get the nice grayscale Y image. (Modulo bug 766205.)  If I force Y to 1.0, then I see purple.  If I leave Y as is and force Cb/Cr to -0.5, then I see green as I should.

So the problem is either in the texture data coming in, or some computation issue in the shader.  I'm guessing texture data, but still digging.
Comment 23 Aaron Train [:aaronmt] 2012-06-21 10:41:57 PDT
Same issue reported on the Droid X2

Android OS, v2.2 (Froyo), upgradeable to v2.3 (Gingerbread)
Chipset	Nvidia Tegra 2 AP20H
CPU	Dual-core 1 GHz Cortex-A9
Comment 24 Aaron Train [:aaronmt] 2012-06-22 11:51:34 PDT
Query of possible affected devices:
Comment 25 Mark Finkle (:mfinkle) (use needinfo?) 2012-06-29 12:03:12 PDT
Vlad - Any new info on this bug?
Comment 26 Vladimir Vukicevic [:vlad] [:vladv] 2012-07-04 15:12:02 PDT
Created attachment 639189 [details] [diff] [review]
fix purple video

For whatever reason, the shader compiler or shader unit on these devices seems to just ignore the artihmetic op on a texture read -- so the "- 0.5" and similar was just not being applied to the texture read value.  Doing it separately from the read makes everything work OK.  This took jrmuizel and me forever to figure out and I am so upset at this bug right now.
Comment 27 Vladimir Vukicevic [:vlad] [:vladv] 2012-07-05 07:02:12 PDT
Pushed to inbound:
Will request aurora/etc. flags once it's merged to m-c.
Comment 28 Vladimir Vukicevic [:vlad] [:vladv] 2012-07-05 08:29:07 PDT
Whoops, also .  Forgot to regenerate the shaders .h.
Comment 29 Phil Ringnalda (:philor) 2012-07-05 09:09:09 PDT
Backed out in since the second one didn't build - third time will probably be the charm.
Comment 30 Vladimir Vukicevic [:vlad] [:vladv] 2012-07-05 11:41:05 PDT
Created attachment 639415 [details] [diff] [review]
updated patch for checkin

Gah.  For some reason the comment totally broke things.  Moved it above so it doesn't appear in the .h file, and regenerated the patch entirely for easier landing to aurora or whatever.
Comment 31 Ryan VanderMeulen [:RyanVM] 2012-07-05 17:29:51 PDT
Comment 32 Vladimir Vukicevic [:vlad] [:vladv] 2012-07-06 06:07:31 PDT
Comment on attachment 639415 [details] [diff] [review]
updated patch for checkin

[Approval Request Comment]
User impact if declined: purple HTML5 video playback on some devices

Testing completed (on m-c, etc.): on m-c, tested locally

Risk to taking this patch (and alternatives if risky): very little; it just moves some math around to work around a shader compiler bug in older versions of some mobile drivers
Comment 33 Alex Keybl [:akeybl] 2012-07-06 08:19:41 PDT
Comment on attachment 639415 [details] [diff] [review]
updated patch for checkin

FN14 is still on beta, so no need to land on release. Approving for the other branches, given this is a .N+ blocker.
Comment 35 Aaron Train [:aaronmt] 2012-07-08 20:39:44 PDT
Tony, can you verify on Aurora?
Comment 36 Cristian Nicolae (:xti) 2012-07-11 08:49:13 PDT
This bug is not reproducible on Asus EEE Transformer TF101 4.0.3, Acer Iconia A500 3.2 and LG Optimus 2X 2.2 on the latest Nightly build and on some older builds either.

However I was able to reproduce this on Motorola Droid 2X 2.3.5 on DA on the Beta build from Google Play. It doesn't occur on the latest Beta, Aurora and Nightly build. 

Closing bug as verified fixed on:

Firefox 16.0a1  (2012-07-11)
Firefox 15.0a2  (2012-07-11)
Firefox 14.0b12 (2012-07-10)

Device: Motorola Droid 2X
OS: Android 2.3.5

Note You need to log in before you can comment on or make changes to this bug.