diff options
author | Roman Kiryanov <rkir@google.com> | 2023-05-31 09:12:34 -0700 |
---|---|---|
committer | Roman Kiryanov <rkir@google.com> | 2023-05-31 09:13:53 -0700 |
commit | b06dcedbb89a9d4b77e81f401bb8a862d5db77d7 (patch) | |
tree | 4df607ee48693fb809e385cb9b22f1a7259490cc | |
parent | 1e72ca25c3cbccc73b9f94f4c4f2411be13f3f20 (diff) | |
download | goldfish-opengl-b06dcedbb89a9d4b77e81f401bb8a862d5db77d7.tar.gz |
Fix decoder buffer usage
it needs `write` access to populate images
Bug: 285100511
Test: play a YouTube video
Change-Id: I906af8a70a1e58827d59cabf19870752b72d5b35
Signed-off-by: Roman Kiryanov <rkir@google.com>
-rw-r--r-- | system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp | 4 | ||||
-rw-r--r-- | system/codecs/c2/decoders/hevcdec/C2GoldfishHevcDec.cpp | 4 | ||||
-rw-r--r-- | system/codecs/c2/decoders/vpxdec/C2GoldfishVpxDec.cpp | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp b/system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp index a4a9a1d1..8ae1d0a4 100644 --- a/system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp +++ b/system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp @@ -719,8 +719,8 @@ C2GoldfishAvcDec::ensureDecoderState(const std::shared_ptr<C2BlockPool> &pool) { } if (!mOutBlock) { const uint32_t format = HAL_PIXEL_FORMAT_YCBCR_420_888; - const C2MemoryUsage usage = {C2MemoryUsage::CPU_READ, - (uint64_t)(BufferUsage::VIDEO_DECODER)}; + const C2MemoryUsage usage = {(uint64_t)(BufferUsage::VIDEO_DECODER), + C2MemoryUsage::CPU_WRITE}; c2_status_t err = pool->fetchGraphicBlock(ALIGN2(mWidth), mHeight, format, usage, &mOutBlock); if (err != C2_OK) { diff --git a/system/codecs/c2/decoders/hevcdec/C2GoldfishHevcDec.cpp b/system/codecs/c2/decoders/hevcdec/C2GoldfishHevcDec.cpp index a0cb8d5c..e8d076d7 100644 --- a/system/codecs/c2/decoders/hevcdec/C2GoldfishHevcDec.cpp +++ b/system/codecs/c2/decoders/hevcdec/C2GoldfishHevcDec.cpp @@ -667,8 +667,8 @@ C2GoldfishHevcDec::ensureDecoderState(const std::shared_ptr<C2BlockPool> &pool) } if (!mOutBlock) { const uint32_t format = HAL_PIXEL_FORMAT_YCBCR_420_888; - const C2MemoryUsage usage = {C2MemoryUsage::CPU_READ, - (uint64_t)(BufferUsage::VIDEO_DECODER)}; + const C2MemoryUsage usage = {(uint64_t)(BufferUsage::VIDEO_DECODER), + C2MemoryUsage::CPU_WRITE}; c2_status_t err = pool->fetchGraphicBlock(ALIGN2(mWidth), mHeight, format, usage, &mOutBlock); if (err != C2_OK) { diff --git a/system/codecs/c2/decoders/vpxdec/C2GoldfishVpxDec.cpp b/system/codecs/c2/decoders/vpxdec/C2GoldfishVpxDec.cpp index 60a625f4..6e6c6512 100644 --- a/system/codecs/c2/decoders/vpxdec/C2GoldfishVpxDec.cpp +++ b/system/codecs/c2/decoders/vpxdec/C2GoldfishVpxDec.cpp @@ -724,8 +724,8 @@ C2GoldfishVpxDec::outputBuffer(const std::shared_ptr<C2BlockPool> &pool, // now get the block std::shared_ptr<C2GraphicBlock> block; uint32_t format = HAL_PIXEL_FORMAT_YCBCR_420_888; - const C2MemoryUsage usage = {C2MemoryUsage::CPU_READ, - (uint64_t)(BufferUsage::VIDEO_DECODER)}; + const C2MemoryUsage usage = {(uint64_t)(BufferUsage::VIDEO_DECODER), + C2MemoryUsage::CPU_WRITE}; c2_status_t err = pool->fetchGraphicBlock(align(mWidth, 2), mHeight, format, usage, &block); |