commit | 64758f02941846f06fc893916615e41579667de9 | [log] [tgz] |
---|---|---|
author | Chih-Yu Huang <akahuang@google.com> | Wed Mar 10 11:02:07 2021 +0900 |
committer | Chih-Yu Huang <akahuang@google.com> | Mon Mar 15 14:41:34 2021 +0900 |
tree | 28ae36bfe6041f6b7dc8dedba2acbe31455bbe86 | |
parent | 7e6dd5ab4c0a92773867f37fd40d9303650590cd [diff] |
C2VdaBqBlockPool: store registered C2GraphicAllocation instead of GraphicBuffer C2ArcProtectedGraphicAllocator allocates the protected buffer when priorGraphicAllocation() is called, and releases the protected buffer if all the corrresponding C2GraphicAllocations are released. Originally, we store the the registered graphic buffers with GraphicBuffer. Each time when fetchGraphicBlock() is called, we call priorGraphicAllocation() to convert GraphicBuffer to C2GraphicAllocation. The component releases the C2GraphicAllocation after decoding a frame and passing it to framework. So at the end we continue allocating and releasing protected buffers during decoding. This CL changes to store C2GraphicAllocation directly. We don't call priorGraphicAllocation() when recycling the buffer, and the registered C2GraphicAllocations are released when resolution change or component is destroyed. Bug: 181541291 Test: android.media.cts.AdaptivePlaybackTest Change-Id: Ib0cf9fe9d4609f3a566c514429d281c1c54b458d
accel/ Core V4L2 API and codec utilities, ported from Chromium project.
common/ Common helper classes for both components/ and store/.
components/ The C2Component implementations based on V4L2 API.
store/ The implementation of C2ComponentStore. It is used for creating all the C2Components implemented at components/ folder.
service/ The Codec2's V4L2 IComponentStore service. The service initiates the component store implemented at store/ folder, and registers it as the default service.