Log pixel format metric for decoders and non-surface mode encoders.
Test: manual
Bug: 270518245
Merged-In: I0d3fabcca632d974ecd7d86305b3dfef4eee895f
Change-Id: I0d3fabcca632d974ecd7d86305b3dfef4eee895f
diff --git a/media/codec2/vndk/C2AllocatorGralloc.cpp b/media/codec2/vndk/C2AllocatorGralloc.cpp
index f272499..f04674e 100644
--- a/media/codec2/vndk/C2AllocatorGralloc.cpp
+++ b/media/codec2/vndk/C2AllocatorGralloc.cpp
@@ -187,6 +187,14 @@
return res;
}
+ static uint32_t getPixelFormat(const C2Handle *const handle) {
+ if (handle == nullptr) {
+ return 0;
+ }
+ const ExtraData *xd = GetExtraData(handle);
+ return xd->format;
+ }
+
static bool MigrateNativeHandle(
native_handle_t *handle,
uint32_t generation, uint64_t igbp_id, uint32_t igbp_slot) {
@@ -333,6 +341,10 @@
generation, igbp_id, igbp_slot);
}
+uint32_t ExtractFormatFromCodec2GrallocHandle(const C2Handle *const handle) {
+ return C2HandleGralloc::getPixelFormat(handle);
+}
+
bool MigrateNativeCodec2GrallocHandle(
native_handle_t *handle,
uint32_t generation, uint64_t igbp_id, uint32_t igbp_slot) {