-
Miguel Casas authored
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/1363807Reviewed-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}
477a706a