HTML5 videos playback shows a Purple screen on Motorola devices?

VERIFIED FIXED in Firefox 14

Status

()

Firefox for Android
General
--
major
VERIFIED FIXED
5 years ago
a year ago

People

(Reporter: tchung, Assigned: vlad)

Tracking

Trunk
Firefox 14
ARM
Android
Points:
---

Firefox Tracking Flags

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

Details

(URL)

Attachments

(4 attachments)

(Reporter)

Description

5 years ago
Created attachment 633412 [details]
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.
(Reporter)

Comment 1

5 years ago
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
(Reporter)

Comment 2

5 years ago
Created attachment 633416 [details]
purple screen screenshot
(Reporter)

Comment 3

5 years ago
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?
(Reporter)

Comment 5

5 years ago
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.
(Reporter)

Comment 6

5 years ago
Another example site:

http://www.mozilla.org/en-US/webmaker/videos/
Marcia do you get the same thing on your Photon?
Keywords: regressionwindow-wanted
tracking-fennec: ? → 14+
blocking-fennec1.0: ? → +
(Reporter)

Comment 8

5 years ago
checked on Firefox XUL ESR on release channel, and it does not have this problem.  working on range.
(Reporter)

Comment 9

5 years ago
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.
(Reporter)

Comment 12

5 years ago
Any ideas from the gfx team yet?

Comment 13

5 years ago
(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).

Comment 18

5 years ago
Checked on samsung GT-P7300 with Android 3.1. Does not appear on nightly(20120618) or 14beta7.

Comment 19

5 years ago
(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?
Query of possible affected devices:

http://pdadb.net/index.php?m=pdamaster&posted=1&cpu=a20aph
(Reporter)

Updated

5 years ago
Depends on: 767625
Vlad - Any new info on this bug?
(Reporter)

Updated

5 years ago
Keywords: regressionwindow-wanted
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.
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
Whoops, also http://hg.mozilla.org/integration/mozilla-inbound/rev/f79077bad960 .  Forgot to regenerate the shaders .h.
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.
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.
https://hg.mozilla.org/mozilla-central/rev/3832c96d1717
Status: NEW → RESOLVED
Last Resolved: 5 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+

Updated

5 years ago
tracking-firefox14: --- → +
tracking-firefox15: --- → +
https://hg.mozilla.org/releases/mozilla-beta/rev/d5cc3868b757
https://hg.mozilla.org/releases/mozilla-aurora/rev/f41b1b165703
status-firefox14: --- → fixed
status-firefox15: --- → fixed
Target Milestone: Firefox 16 → Firefox 14
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-firefox14: fixed → verified
status-firefox15: fixed → verified
status-firefox16: --- → verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.