blob: 823673d6608ab56b53b99591db6476b796bcd1fa [file] [log] [blame]
/*
* Copyright 2020 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef CAMERA_COMMON_LIBCAMERA_CONNECTOR_TEST_UTIL_H_
#define CAMERA_COMMON_LIBCAMERA_CONNECTOR_TEST_UTIL_H_
#include <string>
#include <base/strings/stringprintf.h>
#include "cros-camera/camera_service_connector.h"
namespace cros {
namespace tests {
std::string FacingToString(int facing) {
switch (facing) {
case CROS_CAM_FACING_BACK:
return "back";
case CROS_CAM_FACING_FRONT:
return "front";
case CROS_CAM_FACING_EXTERNAL:
return "external";
default:
return "unknown";
}
}
std::string FourccToString(uint32_t fourcc) {
std::string result = "0000";
for (int i = 0; i < 4; i++) {
auto c = static_cast<char>(fourcc & 0xFF);
if (c <= 0x1f || c >= 0x7f) {
return base::StringPrintf("%#x", fourcc);
}
result[i] = c;
fourcc >>= 8;
}
return result;
}
std::string CameraFormatInfoToString(const cros_cam_format_info_t& info) {
return base::StringPrintf("%s %4ux%4u %3ufps",
FourccToString(info.fourcc).c_str(), info.width,
info.height, info.fps);
}
bool IsSameFormat(const cros_cam_format_info_t& fmt1,
const cros_cam_format_info_t& fmt2) {
return fmt1.fourcc == fmt2.fourcc && fmt1.width == fmt2.width &&
fmt1.height == fmt2.height && fmt1.fps == fmt2.fps;
}
} // namespace tests
} // namespace cros
#endif // CAMERA_COMMON_LIBCAMERA_CONNECTOR_TEST_UTIL_H_