New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 591510 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Unified Media Pipeline: scaled video is pixelated

Reported by to...@interlude.fm, Mar 2 2016

Issue description

Example URL:
http://storage2.interlude.fm.s3.amazonaws.com/dev_temp/tomer/chrome_ump_pixelated/index.html

Steps to reproduce the problem:
1. On Android Chrome Dev, enable the unified media pipeline
2. Go to provided URL
3. Click screen to play video

What is the expected behavior?
Scaled video frames should be smoothed.

What went wrong?
Low res scaled video looks worse when unified media pipeline is enabled.

Did this work before? N/A 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? Yes 

Chrome version: 50.0.2657.5  Channel: dev
OS Version: 6.0.1
Flash Version: 

In the example URL I chose an extremely low-res video since it clearly conveys the issue, but this also happens with higher res scaled video (less noticeable).
 
unified_pipeline_enabled.png
65.6 KB View Download
unified_pipeline_disabled.png
637 KB View Download
Cc: w...@chromium.org
Owner: liber...@chromium.org
Status: Assigned (was: Unconfirmed)
looks like we're setting texture filtering incorrectly somewhere.  i'll take a look.
indeed.  we're setting nearest-neighbor filters (https://code.google.com/p/chromium/codesearch#chromium/src/content/common/gpu/media/avda_codec_image.cc&l=187 ).  looks much nicer with linear filtering.

however, linear filtering can have some performance issues, depending on the texture and depending on the hardware.  i need to look into those more closely.
Use GL_LINEAR, we had this debate on another bug a long time ago, it's worth it :)  issue 351458  has more details :p
i'd like to check power consumption, since it can double to quadruple texture bandwidth on planar textures.  if it turns out to have a nontrivial power cost, then we might want to turn it on only when it's going to make a visible difference (maybe just mag instead of mag+min).
Labels: -Pri-2 Proj-Spitzer M-50 Pri-1
Marking as required for Spitzer M50.
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c358317e9d2dd7827cd597ff81893b0549eba0f

commit 7c358317e9d2dd7827cd597ff81893b0549eba0f
Author: liberato <liberato@chromium.org>
Date: Thu Mar 03 20:44:17 2016

Switch to linear filtering for video frames on Android.

Power measurements on N5 showed no change for 480p30 and 1080p60,
when scaling display size either to 480 or to 1080, when compared
to nearest neighbor.

BUG= 591510 

Review URL: https://codereview.chromium.org/1760103003

Cr-Commit-Position: refs/heads/master@{#379078}

[modify] https://crrev.com/7c358317e9d2dd7827cd597ff81893b0549eba0f/content/common/gpu/media/android_copying_backing_strategy.cc
[modify] https://crrev.com/7c358317e9d2dd7827cd597ff81893b0549eba0f/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc
[modify] https://crrev.com/7c358317e9d2dd7827cd597ff81893b0549eba0f/content/common/gpu/media/avda_codec_image.cc

Labels: Merge-Request-50

Comment 8 by tin...@google.com, Mar 3 2016

Labels: -Merge-Request-50 Merge-Approved-50 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M50 (branch: 2661)
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 3 2016

Labels: -merge-approved-50 merge-merged-2661
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/99f9a87250e5f2e01468e2f8ef2d7461d99af2cf

commit 99f9a87250e5f2e01468e2f8ef2d7461d99af2cf
Author: liberato <liberato@chromium.org>
Date: Thu Mar 03 21:39:52 2016

Switch to linear filtering for video frames on Android.

[Merge to M50 of https://codereview.chromium.org/1760103003]

Power measurements on N5 showed no change for 480p30 and 1080p60,
when scaling display size either to 480 or to 1080, when compared
to nearest neighbor.

BUG= 591510 
NOTRY=true
NOPRESUBMIT=true
TBR=dalecurtis@chromium.org

Review URL: https://codereview.chromium.org/1763863002

Cr-Commit-Position: refs/branch-heads/2661@{#71}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/99f9a87250e5f2e01468e2f8ef2d7461d99af2cf/content/common/gpu/media/android_copying_backing_strategy.cc
[modify] https://crrev.com/99f9a87250e5f2e01468e2f8ef2d7461d99af2cf/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc
[modify] https://crrev.com/99f9a87250e5f2e01468e2f8ef2d7461d99af2cf/content/common/gpu/media/avda_codec_image.cc

Status: Fixed (was: Assigned)

Comment 11 by to...@interlude.fm, Mar 12 2016

Looks great on latest Android Chrome Dev, thanks!

Sign in to add a comment