commit | 477a706a9026c91d86a056880d29abc43c7eaf77 | [log] [tgz] |
---|---|---|
author | Miguel Casas <mcasas@chromium.org> | Fri Jan 04 19:13:45 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Jan 04 19:13:45 2019 |
tree | 283b23ac14716cb8ba03272b2f887520d584b68f | |
parent | 5e0d370c2bea30791b77fe5c6d416a0c3df29613 [diff] |
RELAND2: Vaapi decode: split |decoder_|s GetRequiredNumOfPictures() This CL is a smart-rebase-and-fix of the CLs below: it introduces a new parameter |use_reduced_number_of_allocations_| to allow for the new working mode described below and to temporarily circumvent the GtsExoPlayerTestCases failures (b/121169667 and b/121003733); this new flag is false when |output_mode_| is IMPORT, so all ARC++ cases should work bc left untouched. OTOH a mem savings overview can be found at https://goo.gl/3PaMiA. Original CL description ----------------------------------------------- Vaapi decode: split |decoder_|s GetRequiredNumOfPictures() This CL reduces the amount of PictureBuffers requested to be allocated by the |client_| when we are not |decode_using_client_picture_buffers_|. Instead, it "splits" the requested allocations into - the actual needed PictureBuffers (A) - the codec's requested reference frames (B) (a new method GetNumReferenceFrames() is added to AcceleratedVideoDecoder for this). This splitting saves a lot of memory, since we allocate A+B buffers instead of 2*(A+B). (B is 5 and A is 4-VP8, 4-12 H264/VP9) Test: crosvideo changing resolutions for each codec, v_d_a_unittest on nocturne (KBL) and caroline (SKL). Bug: 912295 Reviewed-on: https://chromium-review.googlesource.com/c/1363807 Reviewed-by: Hirokazu Honda <hiroh@chromium.org> Commit-Queue: Miguel Casas <mcasas@chromium.org> Cr-Original-Original-Commit-Position: refs/heads/master@{#615571} Reviewed-on: https://chromium-review.googlesource.com/c/1379274 Cr-Original-Commit-Position: refs/heads/master@{#617366} Change-Id: Ibf9a1455f8df4d52b77aee8e01f15c02878947ae Reviewed-on: https://chromium-review.googlesource.com/c/1387391 Cr-Commit-Position: refs/heads/master@{#620025}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .