Closed Bug 765150 Opened 12 years ago Closed 12 years ago

HTML5 videos playback shows a Purple screen on Motorola devices?

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
major

Tracking

(firefox14+ verified, firefox15+ verified, firefox16 verified, blocking-fennec1.0 .N+, fennec+)

VERIFIED FIXED
Firefox 14
Tracking Status
firefox14 + verified
firefox15 + verified
firefox16 --- verified
blocking-fennec1.0 --- .N+
fennec + ---

People

(Reporter: tchung, Assigned: vlad)

References

()

Details

Attachments

(4 files)

Attached file logcat
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:  http://youtu.be/mYbZ3Oy-i2o.   Also attached a logcat during playback.

Repro:
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.

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

Actual:
- 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.
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: http://www.gsmarena.com/motorola_atrix-3709.php
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.....
I get Flash on your URL. Did you opt-in to trial HTML5 video at youtube.com/html5?
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.
Another example site:

http://www.mozilla.org/en-US/webmaker/videos/
Marcia do you get the same thing on your Photon?
tracking-fennec: ? → 14+
blocking-fennec1.0: ? → +
checked on Firefox XUL ESR on release channel, and it does not have this problem.  working on range.
Unfortunately, there is a bunch of missing Native builds from 12/31/2011 - 5/15/2012 where the regression range lies.   This is against http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/.

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.
I don't see the purple issue on Motorola Photon using https://www.youtube.com/watch?v=g8evyE9TuYk or http://www.mozilla.org/en-US/webmaker/videos/.

I see a different issue trying to playback http://www.mozilla.org/en-US/webmaker/videos/ where the video started randomly resizing itself. I will try to see if can repro and file a separate bug on that.
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.
Any ideas from the gfx team yet?
(In reply to Marcia Knous [:marcia] from comment #10)
> I don't see the purple issue on Motorola Photon using
> https://www.youtube.com/watch?v=g8evyE9TuYk or
> http://www.mozilla.org/en-US/webmaker/videos/.
> 
> I see a different issue trying to playback
> http://www.mozilla.org/en-US/webmaker/videos/ 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
I also do not see the problem on an Asus Transformer.
As well not seeing this on a TF201 (Tegra 3, GeForce ULP)
Vlad, do you see this on your Atrix?
I'll check when I get home -- I'm no longer using the Atrix as my primary phone (switched to a One X).
Checked on samsung GT-P7300 with Android 3.1. Does not appear on nightly(20120618) or 14beta7.
(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
Discussed in triage, moving to .N and assigning to Vlad since JP says he's already looking at it.
Assignee: nobody → vladimir
tracking-fennec: 14+ → +
blocking-fennec1.0: + → .N+
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.
Summary: HTML5 videos playback shows a Purple screen on Tegra devices → HTML5 videos playback shows a Purple screen on the Motorola Atrix
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.
Same issue reported on the Droid X2

https://play.google.com/store/apps/details?id=org.mozilla.firefox_beta&reviewId=02351195454925032717

Android OS, v2.2 (Froyo), upgradeable to v2.3 (Gingerbread)
Chipset	Nvidia Tegra 2 AP20H
CPU	Dual-core 1 GHz Cortex-A9
GPU	ULP GeForce
Summary: HTML5 videos playback shows a Purple screen on the Motorola Atrix → HTML5 videos playback shows a Purple screen on the Motorola devices?
Summary: HTML5 videos playback shows a Purple screen on the Motorola devices? → HTML5 videos playback shows a Purple screen on Motorola devices?
Depends on: 767625
Vlad - Any new info on this bug?
Attached patch fix purple videoSplinter Review
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.
Attachment #639189 - Flags: review?(jmuizelaar)
Attachment #639189 - Flags: review?(jmuizelaar) → review+
Pushed to inbound: https://hg.mozilla.org/integration/mozilla-inbound/rev/94dd16a365d9
Will request aurora/etc. flags once it's merged to m-c.
Target Milestone: --- → Firefox 16
Backed out in http://hg.mozilla.org/integration/mozilla-inbound/rev/33edc203725e since the second one didn't build - third time will probably be the charm.
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.
https://hg.mozilla.org/mozilla-central/rev/3832c96d1717
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
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
Attachment #639415 - Flags: approval-mozilla-release?
Attachment #639415 - Flags: approval-mozilla-beta?
Attachment #639415 - Flags: approval-mozilla-aurora?
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.
Attachment #639415 - Flags: approval-mozilla-release?
Attachment #639415 - Flags: approval-mozilla-release-
Attachment #639415 - Flags: approval-mozilla-beta?
Attachment #639415 - Flags: approval-mozilla-beta+
Attachment #639415 - Flags: approval-mozilla-aurora?
Attachment #639415 - Flags: approval-mozilla-aurora+
Tony, can you verify on Aurora?
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
Status: RESOLVED → VERIFIED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: