Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(316)

Issue 1150543002: RtcVideoDecoder: fall back to SW decode for unsupported profiles/resolutions (Closed)

Created:
5 years, 7 months ago by Pawel Osciak
Modified:
5 years, 7 months ago
CC:
chromium-reviews, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, mcasas+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, pbos, posciak+watch_chromium.org, wjia+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

RtcVideoDecoder: fall back to SW decode for unsupported profiles/resolutions RtcVideoDecoder, like GpuVideoDecoder, can verify whether a profile is supported by querying GpuVideoAcceleratorFactories for supported profiles and not create a VDA if it can't support it, saving a roundtrip to the GPU process. Separately, if a resolution is not supported by the HW decoder, we should fall back to software decoder, but this can only be handled on Decode(), since resolution is known from a keyframe, and may change mid-stream. However, there used to be no way to request a fallback to SW, as WebRTC treated any error returned from Decode() as stream error and non-fatal, and kept attempting to Decode() further, after requesting and providing another keyframe. With crrev.com/7252a2ba8035c4128917a9558a3e34fc9dbe7c44 in however, we can now return WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE from Decode(), and webrtc will continue decoding in software decoder, until the next keyframe, when it will retry Decode(), in case the resolution changed to a supported one. BUG=487934 TEST=fallback on apprtc Committed: https://crrev.com/2e9e9a59bdfb3604b7e55975dd927cff90161669 Cr-Commit-Position: refs/heads/master@{#331305}

Patch Set 1 #

Patch Set 2 : Fix rtcvd unittest #

Unified diffs Side-by-side diffs Delta from patch set Stats (+60 lines, -6 lines) Patch
M content/renderer/media/rtc_video_decoder.h View 2 chunks +9 lines, -0 lines 0 comments Download
M content/renderer/media/rtc_video_decoder.cc View 2 chunks +38 lines, -6 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_unittest.cc View 1 2 chunks +13 lines, -0 lines 0 comments Download

Messages

Total messages: 16 (5 generated)
Pawel Osciak
ptal
5 years, 7 months ago (2015-05-20 09:05:02 UTC) #2
wuchengli
lgtm
5 years, 7 months ago (2015-05-25 03:18:25 UTC) #3
Pawel Osciak
ptal
5 years, 7 months ago (2015-05-25 09:10:05 UTC) #4
wuchengli
lgtm
5 years, 7 months ago (2015-05-25 09:27:15 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1150543002/20001
5 years, 7 months ago (2015-05-25 09:53:03 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/65740)
5 years, 7 months ago (2015-05-25 09:59:36 UTC) #9
Pawel Osciak
tommi@chromium.org: may I have owner stamp please?
5 years, 7 months ago (2015-05-25 10:05:09 UTC) #11
tommi (sloooow) - chröme
lgtm
5 years, 7 months ago (2015-05-25 21:03:27 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1150543002/20001
5 years, 7 months ago (2015-05-25 21:03:39 UTC) #14
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 7 months ago (2015-05-25 22:00:44 UTC) #15
commit-bot: I haz the power
5 years, 7 months ago (2015-05-25 22:01:33 UTC) #16
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/2e9e9a59bdfb3604b7e55975dd927cff90161669
Cr-Commit-Position: refs/heads/master@{#331305}

Powered by Google App Engine
This is Rietveld 408576698