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

Issue 2791733002: Enforce MaxFrameDelayCount in VTVideoEncodeAccelerator and cleanups (Closed)

Created:
3 years, 8 months ago by emircan
Modified:
3 years, 8 months ago
CC:
chromium-reviews, posciak+watch_chromium.org, piman+watch_chromium.org, mac-reviews_chromium.org, feature-media-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Enforce MaxFrameDelayCount in VTVideoEncodeAccelerator and cleanups This CL makes sure that we create a HW encoder session only when MaxFrameDelayCount can be set. In case of multiple video streams, Video Toolbox can set this variable up to 8, which results in a ~240 ms delay. We should just fall back to SW in those cases. Additional cleanups: - Remove the unused buffer pool attributes. - Since MaxFrameDelayCount can only be set when RequireHardwareAcceleratedVideoEncoder works, remove the other fallback logic. BUG=707309 TEST=Demo trying resolutions scaling down https://jsfiddle.net/emircan/jhonduk5/. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;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/2791733002 Cr-Commit-Position: refs/heads/master@{#461245} Committed: https://chromium.googlesource.com/chromium/src/+/7cfd3f9eb9dd016c64853f1ae8af84980f9d6f64

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+15 lines, -41 lines) Patch
M media/gpu/vt_video_encode_accelerator_mac.h View 1 chunk +2 lines, -6 lines 0 comments Download
M media/gpu/vt_video_encode_accelerator_mac.cc View 6 chunks +13 lines, -35 lines 0 comments Download

Messages

Total messages: 18 (10 generated)
emircan
PTAL.
3 years, 8 months ago (2017-03-31 21:09:06 UTC) #6
sandersd (OOO until July 31)
lgtm
3 years, 8 months ago (2017-03-31 21:10:50 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2791733002/1
3 years, 8 months ago (2017-03-31 22:04:25 UTC) #10
commit-bot: I haz the power
Committed patchset #1 (id:1) as https://chromium.googlesource.com/chromium/src/+/7cfd3f9eb9dd016c64853f1ae8af84980f9d6f64
3 years, 8 months ago (2017-03-31 22:11:44 UTC) #13
Guido Urdaneta
A revert of this CL (patchset #1 id:1) has been created in https://codereview.chromium.org/2802673002/ by guidou@chromium.org. ...
3 years, 8 months ago (2017-04-05 12:39:49 UTC) #14
Guido Urdaneta
The revert did fix the bots.
3 years, 8 months ago (2017-04-05 15:52:32 UTC) #15
Guido Urdaneta
On 2017/04/05 15:52:32, Guido Urdaneta wrote: > The revert did fix the bots. Sample failed ...
3 years, 8 months ago (2017-04-05 15:53:28 UTC) #16
emircan
3 years, 8 months ago (2017-04-05 18:46:03 UTC) #17
Message was sent while issue was closed.
I just reproed locally and went through this problem. With this change, we are
limited to having only one HW encode session in macbooks(and I guess macmini
where these bots run), as only one HW encoder is allowed to set
kVTCompressionPropertyKey_MaxFrameDelayCount property. This is the intended
behavior. These tests fail because MediaRecorder cannot handle not opening a Hw
encode session. So, my next steps would be:
- Reland this CL.
- Write a SW fallback mechanism for VideoTrackRecorder::VEAEncoder as we don't
handle Initialize() failure there.

Powered by Google App Engine
This is Rietveld 408576698