New issue
Advanced search Search tips

Issue 908945 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Chrome
Pri: 2
Type: Bug

Blocked on:
issue 889668



Sign in to add a comment

Enable VP9 Profile 2 HW decoder use for WebRTC

Project Member Reported by emir...@chromium.org, Nov 27

Issue description

Following up on https://bugs.chromium.org/p/webrtc/issues/detail?id=9376. We can enable the use of HW VP9.2 decode by hooking up profile information from WebRTC and doing proper texture allocation. HW decoder should be avaliable on some CrOS and Win machines.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 3

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

commit b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207
Author: Emircan Uysaler <emircan@chromium.org>
Date: Mon Dec 03 16:46:34 2018

Reland "WebRTC: Migrate completely to new video codec factories API"

This reverts commit 6e62467b1e270b6aa1861427e8feca3ed7fbf3c3 as PS#1. Landing
these interface changes will unblock WebRTC for changing the codec factory
interfaces and allow us to do further work on supporting VP9 profile 2 HW
codec on Chromium side.

In PS#2, it makes the changes that will make sure we have a 1-to-2 mapping
between media::BASELINE to webrtc::CONSTRAINED_BASELINE and webrtc::BASELINE
profiles. This is a temporary workaround until https://crbug.com/345569 is
solved. We don't expect to hit the earlier regressions that caused this
to be reverted with this mapping.

Bug:  908945 , webrtc:7925 
Change-Id: I93e408f8bd0ff0987d3f4c374132433a9ccdc0c6
Reviewed-on: https://chromium-review.googlesource.com/c/1351108
Reviewed-by: Magnus Jedvert <magjed@chromium.org>
Commit-Queue: Emircan Uysaler <emircan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613121}
[modify] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/BUILD.gn
[modify] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
[modify] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/media/webrtc/rtc_video_decoder.cc
[modify] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/media/webrtc/rtc_video_decoder_factory.cc
[modify] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/media/webrtc/rtc_video_decoder_factory.h
[modify] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/media/webrtc/rtc_video_encoder_factory.cc
[modify] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/media/webrtc/rtc_video_encoder_factory.h
[add] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/media/webrtc/video_codec_factory.cc
[add] https://crrev.com/b5f5ab1e3cd82b4ff2964a1a1db533aa4d25c207/content/renderer/media/webrtc/video_codec_factory.h

Blockedon: 889668
Cc: orphis@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 10

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

commit b7b334cba6fc2dd69cbbfe16d912c4e7b1eb77c9
Author: Emircan Uysaler <emircan@chromium.org>
Date: Mon Dec 10 21:28:18 2018

Add codec profile for munging SDP

This was a blocker when landing VP9.2 as some the current tests that are
designed for testing VP9.0 output were picking up profile 2 instead. The
problem was because we only checked codec name when munging SDP.

This CL adds an optional profile string check when munging sdp so that
we can pick the intended codec from the browser tests.

Bug:  908945 , webrtc:7925 
Change-Id: I10741944d180c0fdcb01c410fbd86b951413fb36
Reviewed-on: https://chromium-review.googlesource.com/c/1366898
Commit-Queue: Emircan Uysaler <emircan@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615263}
[modify] https://crrev.com/b7b334cba6fc2dd69cbbfe16d912c4e7b1eb77c9/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
[modify] https://crrev.com/b7b334cba6fc2dd69cbbfe16d912c4e7b1eb77c9/chrome/browser/media/webrtc/webrtc_browsertest_base.h
[modify] https://crrev.com/b7b334cba6fc2dd69cbbfe16d912c4e7b1eb77c9/chrome/browser/media/webrtc/webrtc_internals_perf_browsertest.cc
[modify] https://crrev.com/b7b334cba6fc2dd69cbbfe16d912c4e7b1eb77c9/chrome/browser/media/webrtc/webrtc_stats_perf_browsertest.cc
[modify] https://crrev.com/b7b334cba6fc2dd69cbbfe16d912c4e7b1eb77c9/chrome/test/data/webrtc/munge_sdp.js
[modify] https://crrev.com/b7b334cba6fc2dd69cbbfe16d912c4e7b1eb77c9/chrome/test/data/webrtc/peerconnection.js

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 12

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

commit c33916c6caeacc7f4c996f541e5605fd5d784304
Author: Emircan Uysaler <emircan@chromium.org>
Date: Wed Dec 12 00:20:28 2018

Pass webrtc::SdpVideoFormat to HW decoders for parsing profiles

WebRTC currenty passes only the codec selection to the decoders but not
the profile info. This has been working fine so far because we only had
different profiles under H264 and initializing the decoder with MAIN was
enough to cover all of them. However, this became problematic when we
introduce VP9.2, as it is a 10-bit codec that decoder needs to know and
initialize in advance.

This CL changes the decoder creation methods such that
webrtc::SdpVideoFormat is passed and parsed for profile information. This
will allow us to enabled VP9.2 HW decoder usage.

Bug:  908945 , webrtc:9376 
Change-Id: I6959c85fe4074ca1644e6fb02d58d10df2ff0cff
Reviewed-on: https://chromium-review.googlesource.com/c/1363804
Commit-Queue: Emircan Uysaler <emircan@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615739}
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/renderer/BUILD.gn
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/renderer/media/webrtc/rtc_video_decoder.cc
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/renderer/media/webrtc/rtc_video_decoder.h
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/renderer/media/webrtc/rtc_video_decoder_adapter.cc
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/renderer/media/webrtc/rtc_video_decoder_adapter.h
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/renderer/media/webrtc/rtc_video_decoder_adapter_unittest.cc
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/renderer/media/webrtc/rtc_video_decoder_factory.cc
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/renderer/media/webrtc/rtc_video_decoder_unittest.cc
[modify] https://crrev.com/c33916c6caeacc7f4c996f541e5605fd5d784304/content/test/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 10

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

commit 176f1b6a41bbf0144d94ad58443aa1804c389d85
Author: Emircan Uysaler <emircan@chromium.org>
Date: Thu Jan 10 14:01:04 2019

Add VP9 profile 2 end-to-end tests

Bug:  908945 
Change-Id: Ie45a80acd72298e7d7ab4db240f086c2a8b4fb0c
Reviewed-on: https://chromium-review.googlesource.com/c/1374571
Commit-Queue: Emircan Uysaler <emircan@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621568}
[modify] https://crrev.com/176f1b6a41bbf0144d94ad58443aa1804c389d85/chrome/browser/media/webrtc/webrtc_internals_perf_browsertest.cc
[modify] https://crrev.com/176f1b6a41bbf0144d94ad58443aa1804c389d85/chrome/browser/media/webrtc/webrtc_stats_perf_browsertest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 11

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

commit bab7d7614540fa072ca5ccb5d332c2b721e09a0d
Author: Max Morin <maxmorin@chromium.org>
Date: Fri Jan 11 12:55:57 2019

Revert "Add VP9 profile 2 end-to-end tests"

This reverts commit 176f1b6a41bbf0144d94ad58443aa1804c389d85.

Reason for revert:  https://crbug.com/921003 

Original change's description:
> Add VP9 profile 2 end-to-end tests
> 
> Bug:  908945 
> Change-Id: Ie45a80acd72298e7d7ab4db240f086c2a8b4fb0c
> Reviewed-on: https://chromium-review.googlesource.com/c/1374571
> Commit-Queue: Emircan Uysaler <emircan@chromium.org>
> Reviewed-by: Henrik Boström <hbos@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#621568}

TBR=emircan@chromium.org,hbos@chromium.org

Change-Id: I9fdbd4690b8475b09d5a2eb7f2a75bbcd45bbd67
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  908945 ,  921003 
Reviewed-on: https://chromium-review.googlesource.com/c/1406810
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621982}
[modify] https://crrev.com/bab7d7614540fa072ca5ccb5d332c2b721e09a0d/chrome/browser/media/webrtc/webrtc_internals_perf_browsertest.cc
[modify] https://crrev.com/bab7d7614540fa072ca5ccb5d332c2b721e09a0d/chrome/browser/media/webrtc/webrtc_stats_perf_browsertest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 16

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

commit 1a3b15c0f99893aee5db3561aae2a404ddec5582
Author: Emircan Uysaler <emircan@chromium.org>
Date: Wed Jan 16 00:04:54 2019

Reland "Add VP9 profile 2 end-to-end tests"

This is a reland of 176f1b6a41bbf0144d94ad58443aa1804c389d85

Original change's description:
> Add VP9 profile 2 end-to-end tests
>
> Bug:  908945 
> Change-Id: Ie45a80acd72298e7d7ab4db240f086c2a8b4fb0c
> Reviewed-on: https://chromium-review.googlesource.com/c/1374571
> Commit-Queue: Emircan Uysaler <emircan@chromium.org>
> Reviewed-by: Henrik Boström <hbos@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#621568}

Bug:  908945 ,  921003 
Change-Id: I25dbb6e538c64e0c23ab0b00aea4d91deb950d95
Reviewed-on: https://chromium-review.googlesource.com/c/1409346
Commit-Queue: Emircan Uysaler <emircan@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622894}
[modify] https://crrev.com/1a3b15c0f99893aee5db3561aae2a404ddec5582/chrome/browser/media/webrtc/webrtc_internals_perf_browsertest.cc
[modify] https://crrev.com/1a3b15c0f99893aee5db3561aae2a404ddec5582/chrome/browser/media/webrtc/webrtc_stats_perf_browsertest.cc

Comment 9 by emir...@chromium.org, Jan 16 (6 days ago)

Status: Fixed (was: Assigned)

Sign in to add a comment