codec2: Implement gav1 decoder component
Note that this CL does not switch the default AV1 decoder to gav1
yet. That will be done in a follow-up.
Test: CTS media tests related to AV1 still pass.
Bug: 131989882
Change-Id: Ifb88d0f51d85e59fa37d5cead8a5d4757067fedd
diff --git a/media/codec2/components/gav1/C2SoftGav1Dec.h b/media/codec2/components/gav1/C2SoftGav1Dec.h
index 40b217c..a7c08bb 100644
--- a/media/codec2/components/gav1/C2SoftGav1Dec.h
+++ b/media/codec2/components/gav1/C2SoftGav1Dec.h
@@ -18,6 +18,13 @@
#define ANDROID_C2_SOFT_GAV1_DEC_H_
#include <SimpleC2Component.h>
+#include "libgav1/src/decoder.h"
+#include "libgav1/src/decoder_settings.h"
+
+#define GETTIME(a, b) gettimeofday(a, b);
+#define TIME_DIFF(start, end, diff) \
+ diff = (((end).tv_sec - (start).tv_sec) * 1000000) + \
+ ((end).tv_usec - (start).tv_usec);
namespace android {
@@ -26,6 +33,7 @@
C2SoftGav1Dec(const char* name, c2_node_id_t id,
const std::shared_ptr<IntfImpl>& intfImpl);
+ ~C2SoftGav1Dec();
// Begin SimpleC2Component overrides.
c2_status_t onInit() override;
@@ -41,6 +49,7 @@
private:
std::shared_ptr<IntfImpl> mIntf;
+ std::unique_ptr<libgav1::Decoder> mCodecCtx;
uint32_t mWidth;
uint32_t mHeight;