New issue
Advanced search Search tips

Issue 685432 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Artifacts in the decoded frames in chromeOS

Reported by sean.v.k...@intel.com, Jan 25 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.67 Safari/537.36

Example URL:
Android CTS test file

Steps to reproduce the problem:
There are human visible artifacts in the decoded frames of the attached videos.

This happens for all format: vp8, vp9, and h264, and also of different resolutions.

The issue can be reproduced on both Cyan and Samus.

The screenshots of hardware and software output are also attached.

What is the expected behavior?
Colors are consistent with no artifacts

What went wrong?
The root cause is that our AVS (Advanced Video Scalar) firmware in the driver is not really as well optimized for AVS 8x8 coefficients.

It needs to sample the neighboring 8x8 pixels to get the result.  When the default flag is passed, the AVS only samples the neighboring 2x2 pixel to get the result. When the HQ flag is passed, it needs to use 8x8 pixels.
Separately, I've taken a look at video output by setting the scalar back to default and it should be sufficient for now.

Did this work before? N/A 

Is it a problem with Flash or HTML5? N/A

Does this work in other browsers? N/A

Chrome version: 56.0.2924.67  Channel: n/a
OS Version: 
Flash Version: 

Contents of chrome://gpu: 
This not a web browser issue.  It's a vaapi wrapper issue.
https://code.google.com/p/chrome-os-partner/issues/detail?id=61609

https://code.google.com/p/chrome-os-partner/issues/detail?id=61609

Creating this bug so I can submit a patch
 
Cc: posciak@chromium.org
clips and screen shots
hardware-screenshot.png
185 KB View Download
swirl_132x130_h264.mp4
2.8 KB View Download
swirl_132x130_vp8.webm
2.7 KB View Download
swirl_132x130_vp9.webm
1.8 KB View Download
software-screenshot.png
113 KB View Download
Added code for review:

https://codereview.chromium.org/2656073003
Labels: Needs-Feedback
does the videos work fine on previous version of Chrome and other browsers? can you rule out the artifact is because of the video quality of itself?
Re#4, see my comments in the Google issue, https://code.google.com/p/chrome-os-partner/issues/detail?id=61609.  Issue is quality and the fact that the AVS engine does not currently support 8x8 coefficients in the HQ mode and I've moved it to the default mode in the patch.  This CTS test was not previously tested and is a part of the requirements for ARC++

Comment 6 Deleted

Updated md5 sums:

https://codereview.chromium.org/2683953003
Project Member

Comment 8 by sheriffbot@chromium.org, Feb 16 2017

Labels: -Needs-Feedback Needs-Review
Owner: yini...@chromium.org
Thank you for providing more feedback. Adding requester "yiningc@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Owner: jrumm...@chromium.org
Status: Assigned (was: Unconfirmed)
jrummell@, since you are reviewer in CL as per c#8, I assign this bug to you. Please feel free to resolve it when the CL is checked in.
Cc: -posciak@chromium.org jrumm...@chromium.org
Components: -Internals>Media OS>Kernel>Video
Labels: -Via-Wizard-AudioVideo
Owner: posciak@chromium.org
Project Member

Comment 11 by bugdroid1@chromium.org, Feb 20 2017

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

commit 4fc5997a7496bc2b803d049ab0218c385f6d6427
Author: sean.v.kelley <sean.v.kelley@intel.com>
Date: Mon Feb 20 12:03:01 2017

media/gpu: restore VPP scaling to default

AVS (Advanced Video Scalar) support in the Intel vaapi driver is
not really as well optimized for AVS 8x8 coefficients.

It needs to sample the neighboring 8x8 pixels to get the result.
When the default flag is passed, the AVS only samples the neighboring
2x2 pixel to get the result. When the HQ flag is passed, it needs to
use 8x8 pixels.  Separately, I've taken a look at video output by
setting the scalar back to default and it should be sufficient for now.

Changing scaling property to VA_FILTER_SCALING_DEFAULT in
media/gpu/vaapi_wrapper.c requires an update to checksums
due to the differing filter properties in AVS Scaling options.

BUG= 685432 
TEST=video_decode_accelerator_unittest, visual decode of samples; see  crbug.com/685432#c2  for samples; Thumbnail.* test
R=posciak@chromium.org,jrummell

Signed-off-by: Sean V Kelley <seanvk@posteo.de>

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2656073003
Cr-Commit-Position: refs/heads/master@{#451601}

[modify] https://crrev.com/4fc5997a7496bc2b803d049ab0218c385f6d6427/media/gpu/vaapi_wrapper.cc
[modify] https://crrev.com/4fc5997a7496bc2b803d049ab0218c385f6d6427/media/test/data/test-25fps.h264.md5
[modify] https://crrev.com/4fc5997a7496bc2b803d049ab0218c385f6d6427/media/test/data/test-25fps.vp8.md5
[modify] https://crrev.com/4fc5997a7496bc2b803d049ab0218c385f6d6427/media/test/data/test-25fps.vp9.md5

Status: Fixed (was: Assigned)

Comment 13 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 14 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Cc: vsu...@chromium.org avkodipelli@chromium.org
Status: Verified (was: Fixed)
Verified on 60.0.3112.30/9592.18.0 and 9656.0.0, 61.0.3132.0 on cyan device 

Sign in to add a comment