C2SoftGav1Dec: Add support for 12-bit decoding
Supports 12-bit AV1 decoding to RGB1010102 and YV12 using libyuv
functions.
Also enables 12-bit AVIF decoding.
[1] Builds (with and without the libyuv update).
[2] AV1 CTS tests pass.
[3] 12-bit AV1 videos playback with exoplayer and files app (using sw decoder).
[4] 12-bit AVIF files are displayed properly in the files app.
Bug: 268505204
Test: [1][2][3][4]
Merged-In: If611003464fdbc7f41259a763f89e3771a885977
Change-Id: If611003464fdbc7f41259a763f89e3771a885977
(cherry picked from commit b9661b6b928691df77f2e63623ef2dd508bb2b13)
diff --git a/media/codec2/components/gav1/C2SoftGav1Dec.h b/media/codec2/components/gav1/C2SoftGav1Dec.h
index c3b27ea..0e09fcc 100644
--- a/media/codec2/components/gav1/C2SoftGav1Dec.h
+++ b/media/codec2/components/gav1/C2SoftGav1Dec.h
@@ -105,6 +105,7 @@
// Sets |work->result| and mSignalledError. Returns false.
void setError(const std::unique_ptr<C2Work> &work, c2_status_t error);
bool allocTmpFrameBuffer(size_t size);
+ bool fillMonochromeRow(int value);
bool outputBuffer(const std::shared_ptr<C2BlockPool>& pool,
const std::unique_ptr<C2Work>& work);
c2_status_t drainInternal(uint32_t drainMode,