aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBo Hu <bohu@google.com>2023-06-08 08:52:20 -0700
committerBo Hu <bohu@google.com>2023-06-08 15:54:29 +0000
commitcd6fd1b754dd0661880cfad522577a7f8c9d86f7 (patch)
tree5535664fbab6798e60e8e87d75e4dc6fd58119b6
parentb06dcedbb89a9d4b77e81f401bb8a862d5db77d7 (diff)
downloadgoldfish-opengl-cd6fd1b754dd0661880cfad522577a7f8c9d86f7.tar.gz
decoder: allow cpu read buffer usage
Bug: 285596656 Test: run cts -m CtsMediaV2TestCases -t android.mediav2.cts.CodecDecoderSurfaceTest Change-Id: I997b683979d7bf36a9724a5f1f63d64b6ef50824
-rw-r--r--system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp2
-rw-r--r--system/codecs/c2/decoders/hevcdec/C2GoldfishHevcDec.cpp2
-rw-r--r--system/codecs/c2/decoders/vpxdec/C2GoldfishVpxDec.cpp2
3 files changed, 3 insertions, 3 deletions
diff --git a/system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp b/system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp
index 8ae1d0a4..67cdc16d 100644
--- a/system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp
+++ b/system/codecs/c2/decoders/avcdec/C2GoldfishAvcDec.cpp
@@ -720,7 +720,7 @@ C2GoldfishAvcDec::ensureDecoderState(const std::shared_ptr<C2BlockPool> &pool) {
if (!mOutBlock) {
const uint32_t format = HAL_PIXEL_FORMAT_YCBCR_420_888;
const C2MemoryUsage usage = {(uint64_t)(BufferUsage::VIDEO_DECODER),
- C2MemoryUsage::CPU_WRITE};
+ C2MemoryUsage::CPU_WRITE | C2MemoryUsage::CPU_READ};
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 e8d076d7..1850f88d 100644
--- a/system/codecs/c2/decoders/hevcdec/C2GoldfishHevcDec.cpp
+++ b/system/codecs/c2/decoders/hevcdec/C2GoldfishHevcDec.cpp
@@ -668,7 +668,7 @@ C2GoldfishHevcDec::ensureDecoderState(const std::shared_ptr<C2BlockPool> &pool)
if (!mOutBlock) {
const uint32_t format = HAL_PIXEL_FORMAT_YCBCR_420_888;
const C2MemoryUsage usage = {(uint64_t)(BufferUsage::VIDEO_DECODER),
- C2MemoryUsage::CPU_WRITE};
+ C2MemoryUsage::CPU_WRITE | C2MemoryUsage::CPU_READ};
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 6e6c6512..ce1238b6 100644
--- a/system/codecs/c2/decoders/vpxdec/C2GoldfishVpxDec.cpp
+++ b/system/codecs/c2/decoders/vpxdec/C2GoldfishVpxDec.cpp
@@ -725,7 +725,7 @@ C2GoldfishVpxDec::outputBuffer(const std::shared_ptr<C2BlockPool> &pool,
std::shared_ptr<C2GraphicBlock> block;
uint32_t format = HAL_PIXEL_FORMAT_YCBCR_420_888;
const C2MemoryUsage usage = {(uint64_t)(BufferUsage::VIDEO_DECODER),
- C2MemoryUsage::CPU_WRITE};
+ C2MemoryUsage::CPU_WRITE | C2MemoryUsage::CPU_READ};
c2_status_t err = pool->fetchGraphicBlock(align(mWidth, 2), mHeight, format,
usage, &block);