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

Issue 1328863002: Allow encoders to fall back dynamically to software. (Closed)

Created:
5 years, 3 months ago by noahric
Modified:
5 years, 2 months ago
Reviewers:
pbos-webrtc, mflodman
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, rwolff_gocast.it, yujie_mao (webrtc), Andrew MacDonald, stefan-webrtc, tterriberry_mozilla.com, qiang.lu, niklas.enbom, andresp, perkj_webrtc, mflodman
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Allow encoders to fall back dynamically to software. Like video_decoder.cc, a call to Encode that returns WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE will trigger an attempted fallback to a built-in software encoder. Initialization information, along with any rate and channel parameter info, will be replayed on the software encoder and then the frame (that cause the fallback) will be immediately replayed for the software encoder. Also modified the existing behavior to Release() the "real" encoder even if a fallback encoder exists. That seems like the correct behavior. BUG=webrtc:2920 Committed: https://crrev.com/b1ce663d16e0aa882aa4767ea8404f8c48a7370d Cr-Commit-Position: refs/heads/master@{#10368}

Patch Set 1 #

Patch Set 2 : git cl format #

Total comments: 4

Patch Set 3 : CL comments around Release()ing the non-fallback encoder #

Total comments: 6

Patch Set 4 : unit test CR fixes #

Patch Set 5 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+138 lines, -30 lines) Patch
M webrtc/video/video_encoder.cc View 1 2 3 4 4 chunks +59 lines, -11 lines 0 comments Download
M webrtc/video/video_encoder_unittest.cc View 1 2 3 4 7 chunks +61 lines, -19 lines 0 comments Download
M webrtc/video_encoder.h View 1 2 3 4 1 chunk +18 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (9 generated)
noahric
Hey Peter, let me know what you think about this. It'd be handy to allow ...
5 years, 3 months ago (2015-09-04 00:39:41 UTC) #2
pbos-webrtc
overall LG, (I assume that you actually want this for an implementation) https://codereview.webrtc.org/1328863002/diff/20001/webrtc/video/video_encoder.cc File webrtc/video/video_encoder.cc ...
5 years, 3 months ago (2015-09-09 14:30:24 UTC) #3
pbos-webrtc
https://codereview.webrtc.org/1328863002/diff/20001/webrtc/video/video_encoder.cc File webrtc/video/video_encoder.cc (right): https://codereview.webrtc.org/1328863002/diff/20001/webrtc/video/video_encoder.cc#newcode59 webrtc/video/video_encoder.cc:59: bool VideoEncoderSoftwareFallbackWrapper::InitFallbackEncoder() { Should this Release() an initialized encoder_ ...
5 years, 3 months ago (2015-09-09 14:31:02 UTC) #4
noahric
Sorry I let this sit so long, go busy with some other stuff :) PTAL. ...
5 years, 2 months ago (2015-10-13 18:08:07 UTC) #5
pbos-webrtc
https://codereview.webrtc.org/1328863002/diff/40001/webrtc/video/video_encoder.cc File webrtc/video/video_encoder.cc (right): https://codereview.webrtc.org/1328863002/diff/40001/webrtc/video/video_encoder.cc#newcode127 webrtc/video/video_encoder.cc:127: // If the fallback_encoder_ is non-null, it means it ...
5 years, 2 months ago (2015-10-20 09:06:56 UTC) #6
noahric
https://codereview.webrtc.org/1328863002/diff/40001/webrtc/video/video_encoder.cc File webrtc/video/video_encoder.cc (right): https://codereview.webrtc.org/1328863002/diff/40001/webrtc/video/video_encoder.cc#newcode127 webrtc/video/video_encoder.cc:127: // If the fallback_encoder_ is non-null, it means it ...
5 years, 2 months ago (2015-10-20 21:46:42 UTC) #7
pbos-webrtc
lgtm
5 years, 2 months ago (2015-10-21 09:38:43 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1328863002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1328863002/60001
5 years, 2 months ago (2015-10-21 09:38:53 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1328863002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1328863002/80001
5 years, 2 months ago (2015-10-21 17:47:10 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/1354)
5 years, 2 months ago (2015-10-21 17:48:59 UTC) #17
noahric
+magnus for toplevel owners for video_encoder.h. Magnus/Peter: does it make sense to either move these ...
5 years, 2 months ago (2015-10-21 17:50:30 UTC) #19
mflodman
video_encoder.h LGTM And I'll look into the OWNER files and if we can do a ...
5 years, 2 months ago (2015-10-22 06:46:27 UTC) #20
noahric
On 2015/10/22 06:46:27, mflodman wrote: > video_encoder.h LGTM > > And I'll look into the ...
5 years, 2 months ago (2015-10-22 06:50:46 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1328863002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1328863002/80001
5 years, 2 months ago (2015-10-22 06:51:05 UTC) #23
commit-bot: I haz the power
Committed patchset #5 (id:80001)
5 years, 2 months ago (2015-10-22 06:54:55 UTC) #24
commit-bot: I haz the power
5 years, 2 months ago (2015-10-22 06:55:04 UTC) #25
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/b1ce663d16e0aa882aa4767ea8404f8c48a7370d
Cr-Commit-Position: refs/heads/master@{#10368}

Powered by Google App Engine
This is Rietveld 408576698