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

Issue 647259 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

don't use AVDA for small vpx video decoding

Project Member Reported by liber...@chromium.org, Sep 15 2016

Issue description

there is little to no power advantage to using avda for < 360p video, according to measurements on n5.  just use software decoding for these cases, since it will save codec instances and be more stable besides.
 
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 15 2016

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

commit cbf3eb056e5d75a33379bff11c117a9453db6715
Author: liberato <liberato@chromium.org>
Date: Thu Sep 15 20:50:12 2016

Don't use AVDA for <360p VPx content.

Power measurements on a nexus 5 show that there's very little
difference below 360p between hardware and libvpx decoding.  This CL
switches to libvpx decoding for <360p, even if it could be hardware
accelerated by AVDA.

This saves a hardware codec instance, and avoids potential stability
issues with lots of MediaCodecs in use at once.

BUG= 647259 ,  642948 
TEST=manually checked 240p and 360p.

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

[modify] https://crrev.com/cbf3eb056e5d75a33379bff11c117a9453db6715/media/gpu/android_video_decode_accelerator.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 16 2016

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

commit d532efaca37fc8a3c7de35e09bf2e0ecc922f199
Author: liberato <liberato@chromium.org>
Date: Fri Sep 16 05:56:11 2016

Always allow MediaCodec for encrypted VPx content.

https://codereview.chromium.org/2334223009 caused AVDA to avoid VPx
content < 360p.  Unfortunately, it did not have an exception for
encrypted content.

This CL adds an addition "encrypted only" profile that covers all
supported sizes.

BUG= 647259 ,  642948 

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

[modify] https://crrev.com/d532efaca37fc8a3c7de35e09bf2e0ecc922f199/media/gpu/android_video_decode_accelerator.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 16 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/90534dfcf1c0016eeaa5493c608da9c2371270ca

commit 90534dfcf1c0016eeaa5493c608da9c2371270ca
Author: liberato <liberato@chromium.org>
Date: Fri Sep 16 14:59:01 2016

[M54] Roll-up of fixes for VP8/VP9 stability on Android.

This is a roll-up of:
https://codereview.chromium.org/2332253004
https://codereview.chromium.org/2334223009
https://codereview.chromium.org/2348653002

====

Don't require free PicturBuffers when draining AVDA for destroy.

When draining AVDA for destroy or reset, DequeueOutput will discard
any decoded frames from the codec.  Previously, it would still
refuse to check for available output unless a free picture buffer
was available to hold it.

This could prevent a flush for destroy or reset from completing.

In the case of destruction, this would also prevent the codec from
being released.  This affected only VP8 codecs, which require a
drain on some platforms.

https://codereview.chromium.org/2332253004

====

Don't use AVDA for <360p VPx content.

Power measurements on a nexus 5 show that there's very little
difference below 360p between hardware and libvpx decoding.  This CL
switches to libvpx decoding for <360p, even if it could be hardware
accelerated by AVDA.

This saves a hardware codec instance, and avoids potential stability
issues with lots of MediaCodecs in use at once.

https://codereview.chromium.org/2334223009

====

Always allow MediaCodec for encrypted VPx content.

https://codereview.chromium.org/2334223009 caused AVDA to avoid VPx
content < 360p.  Unfortunately, it did not have an exception for
encrypted content.

This CL adds an addition "encrypted only" profile that covers all
supported sizes.

https://codereview.chromium.org/2348653002

BUG= 647259 ,  642948 
TEST=manually checked 240p and 360p.
NOPRESUBMIT=true
NOTRY=true
TBR=dalecurtis@chromium.org

Review-Url: https://codereview.chromium.org/2347193002
Cr-Commit-Position: refs/branch-heads/2840@{#389}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/90534dfcf1c0016eeaa5493c608da9c2371270ca/media/gpu/android_video_decode_accelerator.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 27 2016

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

commit 90534dfcf1c0016eeaa5493c608da9c2371270ca
Author: liberato <liberato@chromium.org>
Date: Fri Sep 16 14:59:01 2016

[M54] Roll-up of fixes for VP8/VP9 stability on Android.

This is a roll-up of:
https://codereview.chromium.org/2332253004
https://codereview.chromium.org/2334223009
https://codereview.chromium.org/2348653002

====

Don't require free PicturBuffers when draining AVDA for destroy.

When draining AVDA for destroy or reset, DequeueOutput will discard
any decoded frames from the codec.  Previously, it would still
refuse to check for available output unless a free picture buffer
was available to hold it.

This could prevent a flush for destroy or reset from completing.

In the case of destruction, this would also prevent the codec from
being released.  This affected only VP8 codecs, which require a
drain on some platforms.

https://codereview.chromium.org/2332253004

====

Don't use AVDA for <360p VPx content.

Power measurements on a nexus 5 show that there's very little
difference below 360p between hardware and libvpx decoding.  This CL
switches to libvpx decoding for <360p, even if it could be hardware
accelerated by AVDA.

This saves a hardware codec instance, and avoids potential stability
issues with lots of MediaCodecs in use at once.

https://codereview.chromium.org/2334223009

====

Always allow MediaCodec for encrypted VPx content.

https://codereview.chromium.org/2334223009 caused AVDA to avoid VPx
content < 360p.  Unfortunately, it did not have an exception for
encrypted content.

This CL adds an addition "encrypted only" profile that covers all
supported sizes.

https://codereview.chromium.org/2348653002

BUG= 647259 ,  642948 
TEST=manually checked 240p and 360p.
NOPRESUBMIT=true
NOTRY=true
TBR=dalecurtis@chromium.org

Review-Url: https://codereview.chromium.org/2347193002
Cr-Commit-Position: refs/branch-heads/2840@{#389}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/90534dfcf1c0016eeaa5493c608da9c2371270ca/media/gpu/android_video_decode_accelerator.cc

Comment 6 by w...@chromium.org, Nov 21 2016

Status: Fixed (was: Started)

Sign in to add a comment